Keatah Posted September 28, 2018 Share Posted September 28, 2018 (edited) The emulator will give you instant access to two versions. Both are currently at v1.55. By two versions I mean they map into memory slightly differently or boot differently I think. Page 4 of the Altirra BASIC manual will explain it. All the commands and usages and conventions should otherwise be identical. Too lazy to summarize it at the moment. The built-in BASIC the emulator uses is a "rom" and is 8,192 bytes in size. The executable version of BASIC is on the ADDITIONS.ATR disk image and is 9,003 bytes in size. You can dump the "rom" version by using Tools> Export Rom Set. You will then get ATBASIC.ROM, along with a few other files and a readme.html file. You can extract the "executable" version by using Tools> Disk Explorer. Open the ADDITIONS.ATR disk image and drag and drop the ATBASICX.COM to wherever. --- You can get the latest version of the BASIC Manual as well as the nicely done Hardware Reference Manual from Virtualdub.org Edited September 29, 2018 by Keatah 4 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted September 29, 2018 Share Posted September 29, 2018 You can dump the "rom" version by using Tools> Export Rom Set. You will then get ATBASIC.ROM, along with a few other files and a readme.html file. Yep, all better now, thanks. Quote Link to comment Share on other sites More sharing options...
+Sheddy Posted October 3, 2018 Share Posted October 3, 2018 Haven't used save state much previously,( or debugger for that matter), but when I'm in debugger on a program I'm working on, it keeps hitting "can't save as in middle of instruction." despite run/break several times and ending up around same part of a vbi. Doing go vblank in debugger then allowed to save state. So just wondering if this is usual expected behaviour? Thanks Quote Link to comment Share on other sites More sharing options...
phaeron Posted October 4, 2018 Author Share Posted October 4, 2018 Yes, the emulator blocks saving during the middle of an instruction because there is way too much state to save and load safely. Normally the UI commands will automatically step to the next instruction before doing the save, but it can't do that if you are stopped in the debugger. It's actually pretty likely that you're in the middle of an instruction when randomly stopping just due to the multi-cycle instructions. I'd recommend stepping to vertical blank anyway before saving state (gv), as that has much less likelihood of hitting a save state bug. 2 Quote Link to comment Share on other sites More sharing options...
+Sheddy Posted October 4, 2018 Share Posted October 4, 2018 Ah, I see. Thanks for the explanation Avery. I'll save while running or just do the vblank wait. Quote Link to comment Share on other sites More sharing options...
scotty Posted October 7, 2018 Share Posted October 7, 2018 OK, Question.... I am running Altirra 3.10. Been using it forever, LOVE IT. I configured an U1MB on there, liked it so much I bought one for my real hardware. 2 actually. Trying to get Radius and some of the other devices working... While Radius DOES work, It has an older version of the firmware that is really hard to read. 80 Column? I flash the latest firmware and it works fine. As soon as I Shut down Altirra, and start it the next time, it reverts back to the old firmware again. I have went to File>Save Firmware>Save Radius Flash, and saved it to disk, and loaded it in the firmware manager and set it as the default, and that does not bring the menu up when holding the inverse key. HELP!!!!!! Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted October 7, 2018 Share Posted October 7, 2018 So this evening I ran into what I think might be a rather obscure bug in Altirra. When configured as a 1088XEL (essentiall an XL computer but with an Ultimate 1MB running Jon's custom firmware), and when using the latest version of Jon's BIOS from late July of this year, Altirra does not recognize keypresses (Help/F6 for Setup, L to access the SIDEloader). An earlier version of Jon's custom BIOS works as expected. I've attached two versions of my U1MB Firmware in the attached ZIP. The one dated in late September was using an earlier version of the custom 1088XEL firmware for the U1MB. The one dated today is running the 7/23/2018 version of Jon's firmware. The first lets me access the Setup screen or Loader as expected in Altirra, while the second (current) version does not. Both versions work fine on my real 1088XEL hardware. U1MB1088XEL.zip 1 Quote Link to comment Share on other sites More sharing options...
phaeron Posted October 7, 2018 Author Share Posted October 7, 2018 OK, Question.... I am running Altirra 3.10. Been using it forever, LOVE IT. I configured an U1MB on there, liked it so much I bought one for my real hardware. 2 actually. Trying to get Radius and some of the other devices working... While Radius DOES work, It has an older version of the firmware that is really hard to read. 80 Column? I flash the latest firmware and it works fine. As soon as I Shut down Altirra, and start it the next time, it reverts back to the old firmware again. I have went to File>Save Firmware>Save Radius Flash, and saved it to disk, and loaded it in the firmware manager and set it as the default, and that does not bring the menu up when holding the inverse key. HELP!!!!!! The built-in firmware is not an older version, it is a placeholder I wrote so the emulated hardware could be used out of the box, especially since getting the actual Rapidus firmware correctly flashed is not a trivial task even in the emulator. The steps you are following are correct but I suspect the new firmware is not bound to the correct slot. Make sure it is set as Rapidus core firmware and not as Rapidus PBI firmware, and also make sure you have flashed all three parts of the core flash: DracOS, FPGA core (RCFF_*), and module ROM. The firmware file should be 524,288 bytes in size. The 8-bit PBI firmware (FLND6502.XEX) is optional, but if you flash that you MUST have the FPGA core firmware flashed. The actual 8-bit PBI firmware is also more strict about the timing of the Inverse key as you must hit it immediately after the core load screen goes away and not before. 2 Quote Link to comment Share on other sites More sharing options...
phaeron Posted October 7, 2018 Author Share Posted October 7, 2018 So this evening I ran into what I think might be a rather obscure bug in Altirra. When configured as a 1088XEL (essentiall an XL computer but with an Ultimate 1MB running Jon's custom firmware), and when using the latest version of Jon's BIOS from late July of this year, Altirra does not recognize keypresses (Help/F6 for Setup, L to access the SIDEloader). An earlier version of Jon's custom BIOS works as expected. I've attached two versions of my U1MB Firmware in the attached ZIP. The one dated in late September was using an earlier version of the custom 1088XEL firmware for the U1MB. The one dated today is running the 7/23/2018 version of Jon's firmware. The first lets me access the Setup screen or Loader as expected in Altirra, while the second (current) version does not. Both versions work fine on my real 1088XEL hardware. This looks like a bug in the stereo POKEY detection routine. When only one POKEY is present, one of the writes intended for SKCTL on the second POKEY at $D21F turns off the keyboard scan on the main POKEY. It works in the emulator if you enable stereo. 2 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted October 8, 2018 Share Posted October 8, 2018 This looks like a bug in the stereo POKEY detection routine. When only one POKEY is present, one of the writes intended for SKCTL on the second POKEY at $D21F turns off the keyboard scan on the main POKEY. It works in the emulator if you enable stereo. Thanks for that tidbit. In any case, setting Stereo in the emulator makes the Stereo POKEY option functional in the Jon's XEL BIOS, which makes sense; with it set, Altirra then replicates the as-designed stereo POKEY configuration of the XEL. Quote Link to comment Share on other sites More sharing options...
scotty Posted October 8, 2018 Share Posted October 8, 2018 (edited) The 8-bit PBI firmware (FLND6502.XEX) is optional, but if you flash that you MUST have the FPGA core firmware flashed. The actual 8-bit PBI firmware is also more strict about the timing of the Inverse key as you must hit it immediately after the core load screen goes away and not before. You are not lying!!! I have been able to get into the menu once in about 30 tries!! Does holding the shift key during the load screen use the 6502 like it does in your version? EDIT: Shift key works to toggle the 6502. Is there any way at all to get into the menu? It is darn near impossible to catch it. Is it like that on real hardware as well??? Edited October 8, 2018 by scotty Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted October 8, 2018 Share Posted October 8, 2018 (edited) This looks like a bug in the stereo POKEY detection routine. When only one POKEY is present, one of the writes intended for SKCTL on the second POKEY at $D21F turns off the keyboard scan on the main POKEY. It works in the emulator if you enable stereo. The 1088XEL stereo detection code was changed so the situation of a missing second POKEY could be cleanly handled. Enabling the second POKEY on the 1088XEL guarantees writes won't go to the primary chip since everything except the second IC itself is guaranteed to be present. The firmware should therefore not be used with a mono setup in emulation, unless 'stereo with second socket vacant' were available. Even then, the ability to toggle the second POKEY via the M0 signal would still be missing in the emulated 1088XEL. The mainline U1MB firmware works the usual way, since it's assumed no-one would install a stereo board and omit the second POKEY on a standard Atari. Edited October 8, 2018 by flashjazzcat 2 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted October 8, 2018 Share Posted October 8, 2018 I've learned the hard way... to assume is to make an ass of u and me sorry had to do it... 1 Quote Link to comment Share on other sites More sharing options...
phaeron Posted October 8, 2018 Author Share Posted October 8, 2018 You are not lying!!! I have been able to get into the menu once in about 30 tries!! Does holding the shift key during the load screen use the 6502 like it does in your version? EDIT: Shift key works to toggle the 6502. Is there any way at all to get into the menu? It is darn near impossible to catch it. Is it like that on real hardware as well??? The official keyboard combo to enter the Rapidus menu is Inverse+Reset, which does work on the emulator (Tilde + F5). You'll have a hard time finding where this is documented for the original device, however. On the emulator, it is more common to cold reset the computer, which is where you run into the impossible to hit time window. The problem is that on the initial cold boot, the firmware that loads the core checks for any key being down and treats that as the signal to bypass the 65C816 and boot on the 6502 before it checks for the Inverse key to enter the menu. This is why there is such a short window to hit Inverse to enter the menu. I don't have an actual Rapidus to verify behavior but I haven't heard of contrary reports yet. In any case, this is troublesome behavior, which is why when I wrote the placeholder boot firmware I turned on the keyboard scan earlier and restricted the bypass to the Shift key only. 2 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted October 9, 2018 Share Posted October 9, 2018 I've learned the hard way... to assume is to make an ass of u and me sorry had to do it... So said the great man Benny Hill. It is truly a shame what Mary Whitehouse did to him. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted October 9, 2018 Share Posted October 9, 2018 Hello Avery, When I start Altirra with /f it begins with /black) full sceen, but then switches back to windowed mode again when the actually display starts. start %EMU% /portable /f /cart %RELEASE%.car /tape %RELEASE%.wav /nocasautoboot Any ideas why? Quote Link to comment Share on other sites More sharing options...
phaeron Posted October 10, 2018 Author Share Posted October 10, 2018 Hello Avery, When I start Altirra with /f it begins with /black) full sceen, but then switches back to windowed mode again when the actually display starts. start %EMU% /portable /f /cart %RELEASE%.car /tape %RELEASE%.wav /nocasautoboot Any ideas why? The tape loader spawns a progress dialog that can't be displayed in full screen mode, which then kicks the emulator back out to windowed mode. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted October 12, 2018 Share Posted October 12, 2018 Hi Avery. I just want to say 'Thank You' for making this wonderful emulator! It's the best I have ever seen! 2 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted October 12, 2018 Share Posted October 12, 2018 One more wishlist feature: Time travel (warp mode backwards) would be nice to have at some points.... or do we have single step back? Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted October 12, 2018 Share Posted October 12, 2018 I love the Time Travel moniker, so much more fun than the original "Rewind" mode that's been around for a while... And yes, a 2nd vote for this feature if you were interested in it Avery...Ok, its a cheat but a damn nice one Not sure if it would serve any purpose to devs, probably nothing that the debugging tools can't can't better and faster.. Paul.. Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted October 12, 2018 Share Posted October 12, 2018 Lateral thinking people... something like this is already possible through the "Quick Save / Load State" on the file menu and if you want to avoid the menu selection then bind yourself some keys to them. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted October 12, 2018 Share Posted October 12, 2018 well... my idea was born of debugging some case... and that quick save thing is not so convinient than my "jog wheel" or VHS approach... imho it would be some nice more intuitive "looking whats going on"... say ah here the bug appears... then travel back in realtime and again looking closer etc... until you "see" whats the reason... that was my idea... 2 Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted October 12, 2018 Share Posted October 12, 2018 That is something different then as we know that Altirra is supporting a multitude of h/w combinations and each of these have been setup in such a way that their state can be captured. So if you need a MB here for the U1MB state, the VBXE state etc then it soon adds add in terms of size and time. So from a runtime perspective I would suspect that either buffering all of that information, or the deltas, such that they can be accessed in the 'time machine' sense will have a performance hit that, as a developer, I'm happy accept due to the gains this gives me, but not from the casual player's perspective, hence the quick state approach. Potentially Avery could retain a default X seconds back quick state image in memory and hot-key to bring it back as per the Xformer10. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted October 12, 2018 Share Posted October 12, 2018 Psst... dont mention VBXE Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted October 12, 2018 Share Posted October 12, 2018 err, ok... pretend I said Rapidus 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.