robdaemon Posted October 12, 2019 Share Posted October 12, 2019 Hi there, I'm trying to get the OSS BASIC XL extensions working with an Ultimate 1MB + SIDE 2 cart, but I'm not getting very far. I grabbed the extensions disks from https://atariwiki.org/wiki/Wiki.jsp?page=Basic XL but it locks up when I run the EXTEND.COM file from disk 2. I'm trying this in Altirra first so I can get it right, then I'll start doing it on my physical 800XL. I saw a thread where Alfred had a patched EXTEND.COM but I can't seem to find it? Thanks!! Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted October 12, 2019 Share Posted October 12, 2019 1 minute ago, robdaemon said: I'm trying to get the OSS BASIC XL extensions working with an Ultimate 1MB + SIDE 2 cart, but I'm not getting very far. The BASIC XE extensions don't work yet because they rely on the original cartridge's banking scheme. I imagine the situation is the same with BASIC XL. Bespoke patched versions of the extensions will be needed... @ebiguy is working on the problem when he has time. 1 Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 12, 2019 Author Share Posted October 12, 2019 8 minutes ago, flashjazzcat said: The BASIC XE extensions don't work yet because they rely on the original cartridge's banking scheme. I imagine the situation is the same with BASIC XL. Bespoke patched versions of the extensions will be needed... @ebiguy is working on the problem when he has time. Ohhhhhh okay, I wasn't sure if it was fixed and I was just missing something or not. I'll go play with Action! for now then, thanks! Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 Yeah, I don't remember what thread that was. The bug was a misprint in the manual. IIRC, you run EXTEND and then have to issue a MOVE $C4,something from the cartridge. The book was wrong, you had to do a -C4 to install the hooks. I don't recall having to patch EXTEND.COM itself. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 This was the comment: >>>> The book is wrong. The command should be MOVE $0570,$C4,-4 to install the extension. Looking at the BXL listing, the FMOVER and EXPMOVE routines are strange. I suspect that whoever implemented the MOVE command didn't realize that the requirements for those two routines are very specific and the code in the XMOVE cartridge routine doesn't set the stage properly. >>>>> 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted October 12, 2019 Share Posted October 12, 2019 (edited) 33 minutes ago, Alfred said: I don't recall having to patch EXTEND.COM itself. The OP wants to run the extensions with the version of BASIC XL patched to run directly from a SIDE/SIDE2 cartridge. No discussion from 2015 could possibly pertain to this, since Eric created the patched ROMs in 2019. SIDE uses data-bus banking instead of address-bus banking, so the modifications were quite extensive. The extensions (at least, those for BASIC XE which Eric has already looked at) appear to directly manipulate the OSS banking register, so are guaranteed not to work with the SIDE cartridge implementation. Edited October 12, 2019 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 What do you mean by data bus banking ? That the cartridge looks at the byte being strobed rather than the address at which it is being strobed ? As in STA $D503 it looks at what is in A and not the $D503 ? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted October 12, 2019 Share Posted October 12, 2019 It does? Great if true. Doesn't correlate to the OSS section here, but perhaps I have been labouring under a misapprehension. Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 12, 2019 Author Share Posted October 12, 2019 46 minutes ago, Alfred said: This was the comment: >>>> The book is wrong. The command should be MOVE $0570,$C4,-4 to install the extension. Looking at the BXL listing, the FMOVER and EXPMOVE routines are strange. I suspect that whoever implemented the MOVE command didn't realize that the requirements for those two routines are very specific and the code in the XMOVE cartridge routine doesn't set the stage properly. >>>>> Quote I have patched EXTEND.COM so now it executes properly under SpartaDos and relocates correctly. I did see you say this in the same thread, so that's where I was thinking there was a patched version. I don't mind using the OSSBasic103.car image instead of the one inside the SIDE2 cart, if that makes a difference? Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 I don't seem to be able to find that patched EXTEND. Any that I run, they load but when I do the MOVE command in the cart, it locks up. I'll have to look at it again and figure out what it was I patched. Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 12, 2019 Author Share Posted October 12, 2019 13 minutes ago, Alfred said: I don't seem to be able to find that patched EXTEND. Any that I run, they load but when I do the MOVE command in the cart, it locks up. I'll have to look at it again and figure out what it was I patched. Oh, if it locks up, then you're not getting any further than I have, and you're clearly much better at this than I am! Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 Well it pisses me off when I can't find things. Anyway, here's a patched EXTEND that doesn't cause the 1.03 cartridge to lock up. I haven't checked that the added commands actually work, but I would hope so. EXTEND.COM 1 Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 12, 2019 Author Share Posted October 12, 2019 16 minutes ago, Alfred said: Well it pisses me off when I can't find things. Anyway, here's a patched EXTEND that doesn't cause the 1.03 cartridge to lock up. I haven't checked that the added commands actually work, but I would hope so. EXTEND.COM 3.95 kB · 1 download I can certainly understand that. Okay, that gets further - it doesn't lock up anymore, but it doesn't quite work right either. I've tried with your change of the offset in the MOVE command, and without (Move $0570,$c4,-4 and Move $0570,$c4,4) It shows the menu when you RUN"D1:EXTEND.BXE", but if you pick the GTIA Test, it starts to output what looks like tokenized source instead of running it. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 Well I dunno what to say, it works for me. Try this though. Coldstart, run EXTEND and then go into the cart and just do the MOVE by hand, don't run the EXTEND.BXE. Do MOVE $0570,$C4,-4 then load and run the menu.bxl. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 I also ran a quick test and the CALL and PROCEDURE statements worked, so I think the extensions are good. Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 12, 2019 Author Share Posted October 12, 2019 8 minutes ago, Alfred said: Well I dunno what to say, it works for me. Try this though. Coldstart, run EXTEND and then go into the cart and just do the MOVE by hand, don't run the EXTEND.BXE. Do MOVE $0570,$C4,-4 then load and run the menu.bxl. Okay, that worked - the GTIA test worked. Something is still off, some of the extended statements are broken, specifically call and procedure: Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 Well I guess either you have a bad rom or a bad extensions file, because it works for me. I think you're supposed to use EXIT rather than RETURN in procedures, and you should have a STOP after your call, else you get a NESTING ERROR when it falls into the PROC. Otherwise though, it does work for me. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 As far as the EXTEND.BXE I think the key is that the extensions relocate to MEMLO and loading EXTEND.BXE clobbers that memory. So you always have to install the extensions by hand; I don't understand why OSS thought that program worked. Maybe it does under DOS XL but it sure doesn't under SpartaDos. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 12, 2019 Share Posted October 12, 2019 Try this, here's the ROM and the EXTEND on an ATR, so they should be good. BXL103EX.atr 2 Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 12, 2019 Author Share Posted October 12, 2019 11 minutes ago, Alfred said: Well I guess either you have a bad rom or a bad extensions file, because it works for me. I think you're supposed to use EXIT rather than RETURN in procedures, and you should have a STOP after your call, else you get a NESTING ERROR when it falls into the PROC. Otherwise though, it does work for me. I must have something configured differently than you do, or my ROM is bad. My setup is: Altirra 3.20, U1MB with latest firmware, SIDE 2 with latest firmware, PCLink device, using OSS Basic XL ROM from the SIDE 2 firmware, and EXTEND.COM provided in this thread. That nets me the "Line Not Fnd" error from before. If I configure as U1MB with latest firmware, with no SIDE2, and use the OSSBasicXL103.car or OSSBasicXL103.rom from AtariWiki, it locks up when I RUN the program you listed in your screenshot with no output. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 13, 2019 Share Posted October 13, 2019 (edited) Well for this I'm running Altirra 3.20-test14, Sparta 3.2 off a BlackBox HD image with the BXL103 rom on that ATR. So I would say your SIDE2 version of the BXL ROM is incompatible with the extensions. What happens if you run the rom like an OSS cartridge, not from SIDE2 ? edit: what if you use my rom ? Although I think mine is from the wiki as well. Edited October 13, 2019 by Alfred Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 13, 2019 Share Posted October 13, 2019 5 minutes ago, robdaemon said: If I configure as U1MB with latest firmware, with no SIDE2, and use the OSSBasicXL103.car or OSSBasicXL103.rom from AtariWiki, it locks up when I RUN the program you listed in your screenshot with no output. Locks up. And you are installing the extensions each time by hand with the MOVE command and not using that EXTEND.BXE program ? Quote Link to comment Share on other sites More sharing options...
robdaemon Posted October 13, 2019 Author Share Posted October 13, 2019 2 minutes ago, Alfred said: Locks up. And you are installing the extensions each time by hand with the MOVE command and not using that EXTEND.BXE program ? Yep, that is correct - MOVE $0570,$C4,-4 It must have something to do with the U1MB. Quote Link to comment Share on other sites More sharing options...
Alfred Posted October 13, 2019 Share Posted October 13, 2019 3 hours ago, robdaemon said: Yep, that is correct - MOVE $0570,$C4,-4 It must have something to do with the U1MB. Well either it’s a U1MB code issue, or it’s an emulation issue. Only Phaeron can probably sort it out. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted October 13, 2019 Share Posted October 13, 2019 10 hours ago, Alfred said: So I would say your SIDE2 version of the BXL ROM is incompatible with the extensions. We already know this: I pointed it out in post 2. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.