glurk Posted June 13, 2021 Share Posted June 13, 2021 OK, I started this thread to try to be organized, because I myself have posted about in various unrelated topics. What I have is the Ultimate Cart, and a stock 48K 800 and no XE/XL machines. And there are some issues. I understand that it works fine on most XE/XL machines, and I recognize that owning the Ultimate Cart and a non-upgraded 800 are somewhat of a niche case. Put most simply, some XEX files work, and very many do not. It's something near a 50/50 split. And the problem XEX files are all ones that work absolutely fine under Altirra in 800/48K mode. I'm not expecting to run any 64K RAM programs or anything like that. I've looked into this quite a bit, and I can even code a "fix" (kind of a hack) into some XEX files, and get them to work. But that is not a real solution. So far, I've been unable to isolate exactly what the problem is, because it would be a lot easier to fix if I had some idea. As of yet, I just don't know. And I don't have much else to add, unfortunately. I have zero experience with VHDL/FPGA stuff, but the XEX loader is in the 6502 BOOT.ROM, and I think can be fixed from there. So if anyone else wants to help with this, look into it, etc... I'm sure that it would be of help to all users of the stock earlier systems. Quote Link to comment Share on other sites More sharing options...
baktra Posted June 13, 2021 Share Posted June 13, 2021 And what the documentation says? If someone programs a binary loader, then he knows exactly what binary files can and cannot be loaded. At least a list of memory areas that shouldn't be touched by the loaded binary file can be published. Also a list of actions that the binary file must refrain from during loading is possible to write. Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 13, 2021 Share Posted June 13, 2021 A binary loader needs some Ram as workspace at the least. Also there's the issue of a cart based loader needing to have the Rom banked in for the loader to run. Though that can be overcome by having some/all Ram based code. But that brings the disadvantage of possible conflict with loader vs program being loaded. Then there's stuff like PORTB banking that if disturbe can affect things. And finally, I think it was Atari800Win+ that had the "bug" where it would allow loading Xex program segments that would automatically be stored to Ram under Rom regardless of banking state. That doesn't happen on real hardware and could promote bad practice from people creating executables that work on that emulator but nothing else. 1 Quote Link to comment Share on other sites More sharing options...
glurk Posted June 13, 2021 Author Share Posted June 13, 2021 baktra- As far as I know, the only documentation that exists is the BOOT.ROM source code, and it uses the MADS assembler and lots of macros. Which is difficult (for me!) being an old-school Atari guy. I find it hard to decipher. Not blaming anyone, but I can't understand the code very well. Rybags- I am SOLELY dealing with a real 48K 800 from 1982. It has no RAM under ROM, and PORTB should do approximately nothing. All the XEX files that present problems work just fine in Altirra, and so far, work from a real DOS (or at least a Game-DOS). I have not tested every single one in that way, of course. I know that any loader has to be in RAM "somewhere." But maybe if the XEX loader behaved exactly like a Game-DOS, at least, it might work better. Much of this stuff is out of my range of experience. I'm really good with 6502 in general, but not too much with file loaders and so on. And there are some really weird XEX files out there as well. Sometimes hacking the XEX to make it warmstart into it's RUN address works, sometimes not. I'm not at all opposed to putting in work on this, I rather enjoy it, in fact. But I don't know exactly WHAT the issue really is, and so I am asking for help from people who have more experience in these areas in order to find the root cause. I know that there are very experienced and capable people here, and am merely hoping someone might take a look at it, if for no other reason than as a programming challenge. Quote Link to comment Share on other sites More sharing options...
baktra Posted June 13, 2021 Share Posted June 13, 2021 1 hour ago, glurk said: baktra- As far as I know, the only documentation that exists is the BOOT.ROM source code, and it uses the MADS assembler and lots of macros. Which is difficult (for me!) being an old-school Atari guy. I find it hard to decipher. Not blaming anyone, but I can't understand the code very well. i will try to "decipher" the loader when I will get back to this. I have one TBA UnoCart which probably uses the same. I believe the macro assemblers for Atari such as MAC/65 or cross-assemblers for mainframes targeting 6502 of the 80s weren't that different when it comes to macro usage. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 13, 2021 Share Posted June 13, 2021 If you want every compatibility improvement from the SIDE2 loader ported across to the Ultimate Cart loader, I can do that in about half an hour. 5 2 Quote Link to comment Share on other sites More sharing options...
glurk Posted June 13, 2021 Author Share Posted June 13, 2021 Oh, please yes!! Thanks so much. Quote Link to comment Share on other sites More sharing options...
ascrnet Posted June 14, 2021 Share Posted June 14, 2021 On 6/13/2021 at 5:41 AM, flashjazzcat said: If you want every compatibility improvement from the SIDE2 loader ported across to the Ultimate Cart loader, I can do that in about half an hour. perfect this will improve a lot the Ultimate cart, I hope to upload my FPGA changes to the master branch of the project. for the moment I just updated some things in my fork as I am testing the two new supported cartridges.? 2 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 14, 2021 Share Posted June 14, 2021 I don't have the toolchain set up to actually flash my cart, but I can test it by putting 'BOOT.ROM' on the SD card. Will have a play with this tonight. 2 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 15, 2021 Share Posted June 15, 2021 (edited) On 6/13/2021 at 10:55 AM, glurk said: Oh, please yes!! Thanks so much. Do you have (can you upload) some problematic XEX files which work in Altirra in 800 mode but don't work when run from the Ultimate loader? Looking at the source, as I now am, I can see little difference between the meat and bones of this loader and the SIDE Loader other than some small tweaks such as clearing the bottom of the stack (which cured problems with no more than a handful of extremely fussy titles) and not setting the run address to the start of the first segment after loading it if said first segment acually set the run address. It's going to be difficult to quantify any materal improvements unless I know what fails (I use the Ultimate Cart very rarely now, which is to say never). Hopefully it won't turn out that the problem files are relying on custom SIO loaders and such. Edited June 15, 2021 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
ascrnet Posted June 15, 2021 Share Posted June 15, 2021 here's a problematic one that won't load on 400/800/XL/XE Air Strike II ? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 15, 2021 Share Posted June 15, 2021 3 minutes ago, ascrnet said: here's a problematic one that won't load on 400/800/XL/XE Air Strike II ? Thanks. Works on the SIDE loader, so I will find out why it won't load on the Ultimate Cart tomorrow. Quote Link to comment Share on other sites More sharing options...
glurk Posted June 16, 2021 Author Share Posted June 16, 2021 I usually fix or delete the ones that don't work, but here is another example, the "Intellidiscs" from Homesoft: http://www.mushca.com/f/atari/index.php?idx=I The XEX download on that page works fine in Altirra, but not on the Ultimate Cart. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 16, 2021 Share Posted June 16, 2021 6 hours ago, glurk said: "Intellidiscs" from Homesoft: http://www.mushca.com/f/atari/index.php?idx=I The XEX download on that page works fine in Altirra, but not on the Ultimate Cart. Just tested Intellidiscs on my Ultimate Cart and it works here. How odd. Air Strike II doesn't work, though, so it's conceivable there's something I can do about that. Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted June 16, 2021 Share Posted June 16, 2021 9 minutes ago, flashjazzcat said: How odd So its the opposite of the other title? 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 16, 2021 Share Posted June 16, 2021 (edited) If you think that's funny, I had an upgraded XE sent back here a week ago with endemic lock-up and crashing issues (documented with photographs) which has worked flawlessly during five-hour testing bouts ever since it got back here. Intellidiscs works on the SIDE/SIDE3 loader, BTW. Edited June 16, 2021 by flashjazzcat 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 16, 2021 Share Posted June 16, 2021 Air Strike II happens to call a warmstart after setting up reset protection, so it's clear something about the Ultimate loader is upsetting that. Ported a few improvements across but nothing is helping yet, but at least the source of the issue is clear. 2 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted June 16, 2021 Share Posted June 16, 2021 Have you tried the PoP .CAR files? ? (*runs away to hide …*)’ j/k … I’m glad to see a bit of work being done to improve the Ultimate Cart loader. Although it’s currently no more than third-banana among the current crop of cartridge devices for A8 machines, I still want to buy one if for no reason except that it can fit inside an 800 and allow the cartridge door to close properly, unlike the SIDE3 and AVG Cart. So any improvements that people make to are great to see. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 16, 2021 Share Posted June 16, 2021 14 minutes ago, DrVenkman said: Have you tried the PoP .CAR files? ? (*runs away to hide …*)’ They're on the SD card anyway; it's a reasonable suggestion. There are a few things I could fix aside from Air Strike II, etc, including the DLI jitter at the extreme right hand side of the menu. I'm not exactly in love with the UI of the Ultimate Loader, especially after refining the SIDE loaders for several years, but I need to resist the temptation to do a complete redesign. That could be a job for someone else if they have a mind to do so, once the (apparently) few incompatibilities are ironed out. 2 Quote Link to comment Share on other sites More sharing options...
ascrnet Posted June 17, 2021 Share Posted June 17, 2021 13 hours ago, flashjazzcat said: Just tested Intellidiscs on my Ultimate Cart and it works here. How odd. It also works for me but on the XE line, I think my colleague @glurk only has 800. found another one with Up'n Down problem? 11 hours ago, flashjazzcat said: There are a few things I could fix aside from Air Strike II, etc, including the DLI jitter at the extreme right hand side of the menu. I'm not exactly in love with the UI of the Ultimate Loader, especially after refining the SIDE loaders for several years, but I need to resist the temptation to do a complete redesign. That could be a job for someone else if they have a mind to do so, once the (apparently) few incompatibilities are ironed out. personally I would leave the aesthetics for the last, in my fork I already added support for 2 types of cartridges in the FPGA... I want to put together several improvements to release to the community a new firmware more updated that they can record it at home. Quote Link to comment Share on other sites More sharing options...
glurk Posted June 17, 2021 Author Share Posted June 17, 2021 Yeah, the machine I have is a stock 48K Atari 800, bought new in 1982. And "Intellidiscs" gives a blank blue screen. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 17, 2021 Share Posted June 17, 2021 Thanks for the reminders re: 800. Quote Link to comment Share on other sites More sharing options...
ascrnet Posted June 17, 2021 Share Posted June 17, 2021 @flashjazzcat I found 2 more games with incompatibility, I name them for you to consider. Flak and Kissin' Kousins ? 1 Quote Link to comment Share on other sites More sharing options...
Wilheim Posted June 17, 2021 Share Posted June 17, 2021 On 6/16/2021 at 8:31 AM, flashjazzcat said: Air Strike II happens to call a warmstart after setting up reset protection, so it's clear something about the Ultimate loader is upsetting that. Ported a few improvements across but nothing is helping yet, but at least the source of the issue is clear. I remember that the Atarimax has some similar issues, due to that It doesn’t erase the base memory, leaving some DL and screen data as garbage. Maybe in the boot ultimate rom is happening something similar. 1 Quote Link to comment Share on other sites More sharing options...
ascrnet Posted June 22, 2021 Share Posted June 22, 2021 I keep checking and testing games I found several more that are incompatible. I have noticed that the problem is when the XEX needs to use the memory between $8000 to $BFFF I think it is missing telling it that that memory is free to use, but something tells it that it is occupied "I guess by a cartridge" and this causes it not to load the XEX.? 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.