TheNameOfTheGame Posted September 19, 2016 Share Posted September 19, 2016 I have a SIDE2 and a U1MB. I try to start Spelunker ATR and 90% of the time it won't start. I have no idea what causes it to start but sometimes it does. I would welcome suggestions. Thanks. Quote Link to comment Share on other sites More sharing options...
Madi Posted September 19, 2016 Share Posted September 19, 2016 ATX image file Source: Atari 8bit Preserved Software Works with all configurations on Altirra 2.90 test 4. Basic-OFF madi Spelunker (1984)(Broderbund Software)(US).zip Quote Link to comment Share on other sites More sharing options...
electrotrains Posted September 19, 2016 Share Posted September 19, 2016 I've had similar problems in the past: http://atariage.com/forums/topic/240664-spelunker-problem-with-atarimax-demo-workbook-on-130xe/ Quote Link to comment Share on other sites More sharing options...
TheNameOfTheGame Posted September 20, 2016 Author Share Posted September 20, 2016 ATX image file Source: Atari 8bit Preserved Software Works with all configurations on Altirra 2.90 test 4. Basic-OFF madi Thank you, but the ATX doesn't even show up on the Side2 Cart. Quote Link to comment Share on other sites More sharing options...
TheNameOfTheGame Posted September 20, 2016 Author Share Posted September 20, 2016 I've had similar problems in the past: http://atariage.com/forums/topic/240664-spelunker-problem-with-atarimax-demo-workbook-on-130xe/ I read the thread, but not sure how this can help running on the Side2 and U1MB? Any suggestions? Quote Link to comment Share on other sites More sharing options...
Madi Posted September 20, 2016 Share Posted September 20, 2016 (edited) I don't have Side/Side2 devices. AFAIK, .ATX images are not supported by side cartridges. Try the attached ATR image. If it doesn't work, let me know, so I will fix one for you. madi Spelunker (1984)(Broderbund).zip Edited September 20, 2016 by Madi Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted September 20, 2016 Share Posted September 20, 2016 I read the thread, but not sure how this can help running on the Side2 and U1MB? Any suggestions? I loaded this atr into the fat32 area of my CF card and it ran okay for me and My Atari 800XL. Also loaded it with RespeQT on Drive one and it loaded and played ok. Also I am including an xex file of this same disk made by Rybags that also runs and plays on my U1M and Side2 from fat32 and loaded with the xex loader supplied by RespeQT .. Spelunking(reg 320k memory).xex Good Luck.. 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted September 20, 2016 Share Posted September 20, 2016 From memory, Spelunker uses encryption on most of the disk and generates a key that's stored in the top half of zero page. I think that in some circumstances if there's non-zero data there initially it can cause the game to fail. Such circumstances can be with deferred booters such as would be used in Side. It was a few years ago though so I'm just going on what I can recall. Quote Link to comment Share on other sites More sharing options...
electrotrains Posted September 20, 2016 Share Posted September 20, 2016 I read the thread, but not sure how this can help running on the Side2 and U1MB? Any suggestions? Hi. My point was that I had an Atari with similar symptoms (Spelunker didn't work first time, but it did if I tried again after a brief power off). When I enquired on the forum, at least one other person reproduced the same thing on their machine. However this was with an ATR conversion on an AtariMax cartridge, so its not exactly the same situation as yours. On my machine, changing the base memory fixed the problem completely, but thats a painful solution, and I suspect the problem is really due to code relying on uninitialised RAM locations (i.e. either the cartridge loader, or the game itself). Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 20, 2016 Share Posted September 20, 2016 (edited) From memory, Spelunker uses encryption on most of the disk and generates a key that's stored in the top half of zero page. I think that in some circumstances if there's non-zero data there initially it can cause the game to fail. Such circumstances can be with deferred booters such as would be used in Side. Spot on regarding the encryption and location, but even manually clearing out the two bytes which were non-zero prior ($8B and 8C) to the program filling the upper half of page zero doesn't result in a boot. It eventually crashes jumping through $A400, since the expected code isn't there. Quite a lot of other stuff's in the wrong place too, but back-tracing the load in the emulator hasn't yet revealed the cause. The boot process is identical to a normal boot, the only difference being that sector requests are handled by the PBI ROM. The state of RAM should be the same as usual, other than a few bytes in the $3x area which are supposed to be reserved anyway. EDIT: loaded via SIO (using the U1MB HSIO), then jumped into the BIOS, started the loader, then launched the ATR on the SIDE cart. Worked. Cold booted and tried the same thing and it crashed. In any case, I've found it starts reliably (in Altirra, using the U1MB SIDE loader) if you hold Option down during the boot (regardless of the fact the PBI BIOS disables BASIC anyway). Also works on real hardware if you hold down Option. Edited September 20, 2016 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
Rybags Posted September 20, 2016 Share Posted September 20, 2016 Don't you need to hold Option regardless of loading method anyway? Was that the entire problem or is it still occurring? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 20, 2016 Share Posted September 20, 2016 (edited) You don't have to hold down option when booting from the SIO in the emulator if BASIC is off, and the PBI BIOS disables BASIC when reading the first boot sector if BASIC is "Disabled" in the loader. But holding down Option for the first time following a cold powerup appears to fix everything, and the effect lasts for consecutive reboots (of the game) until the next cold power-up. The game will occasionally boot from cold (actually the second boot: first time into the loader, second from the ATR), but as the OP said: only about 10 per cent of the time. Edited September 20, 2016 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
Rybags Posted September 20, 2016 Share Posted September 20, 2016 There's the Spelunker I did using AtrLoad - entire disk loads and is staged from Ram, requires 128K system: http://atariage.com/forums/topic/184802-atrload-run-full-disk-games-as-executables/ (scroll down for compressed version) 3 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 20, 2016 Share Posted September 20, 2016 Good: that one appears to work 100 per cent of the time, without Option. Quote Link to comment Share on other sites More sharing options...
TheNameOfTheGame Posted September 20, 2016 Author Share Posted September 20, 2016 Thanks guys! Using the XEX one now and working! Quote Link to comment Share on other sites More sharing options...
phaeron Posted September 21, 2016 Share Posted September 21, 2016 The reason for the compatibility issue with the U1MB loader: 176741:147: 24 | A=00 X=00 Y=03 ( V Z ) | 29CA: AD 24 02 LDA VVBLKD 176741:147: 30 | A=8A X=00 Y=03 (NV ) | 29CD: 8D 22 02 STA VVBLKI 176741:147: 35 | A=8A X=00 Y=03 (NV ) | 29D0: AD 25 02 LDA VVBLKD+1 176741:147: 40 | A=C2 X=00 Y=03 (NV ) | 29D3: 8D 23 02 STA VVBLKI+1 176741:147: 46 | A=C2 X=00 Y=03 (NV ) | 29D6: AD 00 A4 LDA $A400 176741:147: 51 | A=A7 X=00 Y=03 (NV ) | 29D9: D0 0D BNE $29E8 NEXT | A=A7 X=00 Y=03 (NV ) | 29E8: AD FF 36 LDA $36FF Spelunker tests whether the byte at $A400 is set before it loads more of the game. If it is $00, which it should be on a cold boot due to the OS memory clear, then the load continues; otherwise, the game jumps to $A400 and crashes. This appears to just be part of its warmstart detection code, not the copy protection mechanism. The reason this check fails with the U1MB loader is that the PBI BIOS is not clearing $A000-BFFF when it disables the BASIC ROM... and since that memory was hidden when the OS initialized, it retains DRAM power-up patterns. 5 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 21, 2016 Share Posted September 21, 2016 Thanks - I knew you'd figure it out. It never occurred to me to clear RAM under BASIC. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted September 21, 2016 Share Posted September 21, 2016 Spelunker fix for U1MB/Incognito: http://atariage.com/forums/topic/240034-new-alt-bios-for-ultimate-1mbincognito/page-50?do=findComment&comment=3598681 3 Quote Link to comment Share on other sites More sharing options...
TheNameOfTheGame Posted September 21, 2016 Author Share Posted September 21, 2016 Thanks all! It worked first time now. 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted September 22, 2016 Share Posted September 22, 2016 Note of course the Xex won't retain new high scores. 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.