Jump to content
IGNORED

Altirra 3.10 released


phaeron

Recommended Posts

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 by Keatah
  • Like 4
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

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!!!!!!

Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

 

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.

Link to comment
Share on other sites

 

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 by scotty
Link to comment
Share on other sites

 

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 by flashjazzcat
  • Like 2
Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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..

Link to comment
Share on other sites

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...

  • Like 2
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...