Jump to content
phaeron

Altirra 3.10 released

Recommended Posts

The interesting question is what should happen on a warm Select+Reset. Looking at the documentation again, it implies that it might just trigger a cold reset instead of bringing up the menu. The thing is, cold vs. warm reset isn't determined by the hardware on XL/XE machines, it's determined by the OS. I don't think interrupting a warm start is enough to force a cold start, so it'd have to either involve assistance from the menu OS or injecting instructions to clear the warmstart state from a hidden ROM.

 

Correct, Select+Reset triggers a cold reset, but only with the APE Warp+ OS. Other selected OS's do not do this. So its not a function of the hardware, but the selected OS.

 

The behaviour of the "OMNIMON TEST" OS is that it will boot to a blank screen if BASIC is disabled with OPTION pressed... So emulation the emulation is accurate. It will boot to BASIC if it is enabled. From there a 'BYE' does absolutely nothing - you can then enter more BASIC commands. Probably just jumps to an RTS. Select+Reset at this point will get you into "OMNIMON XL © 1984"

Share this post


Link to post
Share on other sites
Posted (edited)

 

 

The interesting question is what should happen on a warm Select+Reset. Looking at the documentation again, it implies that it might just trigger a cold reset instead of bringing up the menu. The thing is, cold vs. warm reset isn't determined by the hardware on XL/XE machines, it's determined by the OS. I don't think interrupting a warm start is enough to force a cold start, so it'd have to either involve assistance from the menu OS or injecting instructions to clear the warmstart state from a hidden ROM.

 

Can not speak for real hardware (I have an Ultimate 1MB) but in Altirra there is no need to hold the Shift-F5 for a Cold reboot. Holding F3 and Pressing F5 will bring up the 32-in-1 menu.

Edited by scotty

Share this post


Link to post
Share on other sites

Yes the Select & Reset combo rely on an OS to spot the keys and then do as it wants but the clash here is that there's two OS variants that use the same ideal and the 32 in 1 menu always gets first choice unless the timing of your press is freaky and then on the are case it jumps in to Omnimon. The most obvious fix is not to use the 32 in 1 with Omnimon...

 

I don't expect Avery to go around making 'hacks' to allow a clash of OS's as I imagine the same issue happens on real hardware...The whole point of Altirra is that it mimics real hardware, hacking it to fake allow this sort of stuff is just wrong.

 

On a slighty OT note, I'd join Scotty in the request of a clean dump from an unmodified 32 in 1, as Nezgar says, it will probably have changed over time but it would be nice to have either a selection of un modded dumps or an original first series dump to play with :)

  • Like 1

Share this post


Link to post
Share on other sites

On a slighty OT note, I'd join Scotty in the request of a clean dump from an unmodified 32 in 1, as Nezgar says, it will probably have changed over time but it would be nice to have either a selection of un modded dumps or an original first series dump to play with :)

A clean 32 in 1 dump can be gotten by any registered AtariMax forum member. And I doubt that the selection has changed over time for a first time user.

Share this post


Link to post
Share on other sites

I feel slightly odd about asking for a rom dump on Steve's own forum :)

 

Oh sod it, I'll try :)

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)

I feel slightly odd about asking for a rom dump on Steve's own forum :)

 

Oh sod it, I'll try :)

LMK if you get one please. I am interested in giving this a test drive in Altirra to see if I want to purchase the real thing for a 600XL.

 

EDIT - Now I'm wondering if there's even room for a 32-in-1 inside the 600XL case?

 

...

Edited by SS

Share this post


Link to post
Share on other sites

Will do, and yeah I'm the same re the 32 in 1, its one thing I've always sort of promised myself, it gets priority simply because its the cheapest of any of my wants :)

  • Like 2

Share this post


Link to post
Share on other sites

Hi. I've found a minor inconsistency in disassembly commands: Lenght parameter in u command is treated as a number of disassembly rows to produce and in .dumpdsm command it is treated as a number of bytes to disassembly.

 

Example session:

Altirra> u 8000 L10
    8000: 20 6E 89  LOADER  JSR INIT.SYSTEM
    8003: 20 D1 89          JSR INIT.ONETIME
    8006: A2 00             LDX #$00
    8008: 20 E1 89          JSR INIT.LEVELMANAGER
    800B: 20 E4 89          JSR INIT.SPRITES
    800E: 20 DA 89          JSR INIT.RENDERER
    8011: 20 FE 83          JSR STATIC
    8014: 20 30 89  LOADER.ENABLEOS JSR INIT
    8017: 20 8D 89          JSR INIT.PLAYFIELD
    801A: 20 B1 89          JSR INIT.LEVEL
    801D: 4C 1C A3          JMP GAME.LEVELLOOP
    8020: 2C 0F D4  TEST    BIT NMIST
    8023: 10 03             BPL NMI.NO
    8025: 4C F4 80  NMI.DLI JMP DLI.DISPATCH2
    8028: 8D 0F D4  NMI.NO  STA NMIRES
    802B: 4C 92 80  NMI.VBL JMP VBL
Altirra> .dumpdsm d:\out.asm 8000 L10
Disassembled 8000-800F to d:\out.asm


Share this post


Link to post
Share on other sites

 

That rom image is bad. This one is a known good image. ALSO..... To get to the 32-in-1 menu screen, you must hit the SELECT key as you reboot the system.

 

 

Still no luck. In "Devices" not it's not showing any firmware selected at all.

Share this post


Link to post
Share on other sites

 

Hi. I've found a minor inconsistency in disassembly commands: Lenght parameter in u command is treated as a number of disassembly rows to produce and in .dumpdsm command it is treated as a number of bytes to disassembly.

 

Example session:

Altirra> u 8000 L10
    8000: 20 6E 89  LOADER  JSR INIT.SYSTEM
    8003: 20 D1 89          JSR INIT.ONETIME
    8006: A2 00             LDX #$00
    8008: 20 E1 89          JSR INIT.LEVELMANAGER
    800B: 20 E4 89          JSR INIT.SPRITES
    800E: 20 DA 89          JSR INIT.RENDERER
    8011: 20 FE 83          JSR STATIC
    8014: 20 30 89  LOADER.ENABLEOS JSR INIT
    8017: 20 8D 89          JSR INIT.PLAYFIELD
    801A: 20 B1 89          JSR INIT.LEVEL
    801D: 4C 1C A3          JMP GAME.LEVELLOOP
    8020: 2C 0F D4  TEST    BIT NMIST
    8023: 10 03             BPL NMI.NO
    8025: 4C F4 80  NMI.DLI JMP DLI.DISPATCH2
    8028: 8D 0F D4  NMI.NO  STA NMIRES
    802B: 4C 92 80  NMI.VBL JMP VBL
Altirra> .dumpdsm d:\out.asm 8000 L10
Disassembled 8000-800F to d:\out.asm

 

You forgot the most important part -- which of the two behaviors are you looking for?

 

 

 

Still no luck. In "Devices" not it's not showing any firmware selected at all.

 

You will see the "missing firmware" indicator even when you do have firmware but it's detected bad. I need to change this to show a different message. Note that this is only a warning message, it will still try to run with the firmware image, and if by chance the detection is a false positive it'll still work.

 

In the meantime, make sure you don't have the bad ROM image still selected in Firmware Manager. It also needs to be under the "APE Warp+ OS 32-in-1 Firmware" section. If there is more than one listed, you need to select the one to use with the Set as Default button, which will then mark it with an asterisk. Check the Settings for the one you're using -- if the CRC32 is 34E0A42F, it is the known bad dump.

  • Like 1

Share this post


Link to post
Share on other sites

 

You forgot the most important part -- which of the two behaviors are you looking for?

 

 

As for me, more consistent and intuitive behavior seems to be to specify number of bytes to disassembly. And also more useful - when I want do disassembly some chunk of code I don't necessary know how many lines of code it will be, but I most probably know how many bytes the code occupies.

Edited by laoo
  • Like 1

Share this post


Link to post
Share on other sites

Could Altirra be allowed to run full-screen on a dual-display setup without reverting to windowed mode every time it loses the focus (i.e. when one clicks something on the other display)? I guess there's perhaps some very good reason it does so, but I thought I'd ask anyway. :)

  • Like 1

Share this post


Link to post
Share on other sites

My setup is already doing that. Complete full screen all the time, no boarders or window buttons/controls. While I work on other monitor.

 

Try making sure Tools>Options>Display>"BoarderlessMode" is checked.

  • Like 5

Share this post


Link to post
Share on other sites

My setup is already doing that. Complete full screen all the time, no boarders or window buttons/controls. While I work on other monitor.

 

Try making sure Tools>Options>Display>"BoarderlessMode" is checked.

Astounding! Many thanks. :)

  • Like 1

Share this post


Link to post
Share on other sites

Is this different than pressing Alt+Return? Please explain, Thanx.

Share this post


Link to post
Share on other sites

Is this different than pressing Alt+Return? Please explain, Thanx.

 

Alt+Enter toggles between windowed and full-screen mode. The display option selects whether full-screen uses exclusive full-screen mode or borderless mode. Exclusive full-screen mode is needed if you want to switch resolutions or refresh rate and is faster on pre-Windows 10. Borderless mode runs at desktop resolution and allows for other windows to overlay or to quickly switch to other programs without forcing the emulator out of full-screen mode.

  • Like 3

Share this post


Link to post
Share on other sites

I'm observing the 'SIDE Button' bit (D6) of $D384 being stuck on when running IDE Plus 2.0 alongside U1MB/SIDE2 with the U1MB SDX ROM disabled and the IDE+ SDX enabled. The PBI BIOS goes into an endless loop writing $80 to the external SIDE2 cartridge banking register and polling $D834 to see if the SIDE ROM has been taken off the bus. I wondered if this might be the case on real hardware, but apparently not: using the exact same U1MB firmware on a 600XL with U1MB, SIDE2 and IDE+ present, SDX running off the IDE+, and the U1MB/SIDE ATR Button enabled does not seem to result in the same hang polling the button bit. When I peek $D384 after the system has successfully booted, at reads $80.

Share this post


Link to post
Share on other sites

A 130XE (with SIDE plugged into the IDE Plus's pass-thru cart port) behaves the same as the emulator, so I guess the above is a false flag. This makes sense, since the cart control lines aren't present on the 600XL's PBI bus.

 

Please ignore. :)

Share this post


Link to post
Share on other sites

Yes, Altirra emulates the IDE+2 being able to sense S5 and control RD5. If SDX is enabled on the IDE+2 and the SIDE2 is connected via its pass-through port, then attempting to bank out SIDE2 will not deassert RD5 because the IDE+2 will still be mapping SDX.

 

Can't find the reference now, but I thought there was a mod to wire the necessary lines from the XL cartridge port to the IDE+2.

  • Like 2

Share this post


Link to post
Share on other sites

Can't find the reference now, but I thought there was a mod to wire the necessary lines from the XL cartridge port to the IDE+2.

Yes there is; a few people used old BASIC carts for this purpose. I don't use IDE Plus 2.0 often enough to justify this, and if I need full functionality, I just plug it into the ECI on an XE.

  • Like 1

Share this post


Link to post
Share on other sites

I feel slightly odd about asking for a rom dump on Steve's own forum :)

 

Oh sod it, I'll try :)

Hey Paul, any luck?

  • Like 1

Share this post


Link to post
Share on other sites

@Avery: I friend of mine is working on a RAMDISK drive using The!Cart built-in 512KB RAM. It looks like the emulation has some problems with the 16k bank mode $21 (one of the banks seems to overlay the other, depending on which one was active last). He's on vacation now, I'll provide an example/test problem when he's back. But maybe you can spot the issue already based on this hint.

  • Like 1

Share this post


Link to post
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.20-test23.zip

http://www.virtualdub.org/beta/Altirra-3.20-test23-src.zip

 

  • WarpOS now issues a different warning for missing vs. bad firmware.
  • Added firmware manager button on devices pane.
  • Firmware issues are now listed on the overview pane.
  • The filter bandwidth for direct tape reads (SKSTAT) has been lowered to match earlier versions and is now tunable.

 

@Avery: I friend of mine is working on a RAMDISK drive using The!Cart built-in 512KB RAM. It looks like the emulation has some problems with the 16k bank mode $21 (one of the banks seems to overlay the other, depending on which one was active last). He's on vacation now, I'll provide an example/test problem when he's back. But maybe you can spot the issue already based on this hint.

 

I did a basic check and couldn't identify anything amiss. One thing that comes to mind is that the LSB is ignored in this mode, so even and odd bank numbers will alias.

  • Like 7

Share this post


Link to post
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.20-test23.zip

http://www.virtualdub.org/beta/Altirra-3.20-test23-src.zip

 

  • WarpOS now issues a different warning for missing vs. bad firmware.
  • Added firmware manager button on devices pane.
  • Firmware issues are now listed on the overview pane.
  • The filter bandwidth for direct tape reads (SKSTAT) has been lowered to match earlier versions and is now tunable.

 

 

I did a basic check and couldn't identify anything amiss. One thing that comes to mind is that the LSB is ignored in this mode, so even and odd bank numbers will alias.

 

@Avery: Any chance of an ARM32 version of this for Android?

Share this post


Link to post
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.

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