Jump to content

Photo

Altirra 3.10 released

altirra emulation

619 replies to this topic

#551 Nezgar ONLINE  

Nezgar

    Stargunner

  • 1,965 posts
  • Location:Saskatchewan Canada

Posted Mon Apr 8, 2019 9:41 PM

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"



#552 scotty OFFLINE  

scotty

    Moonsweeper

  • 485 posts
  • I have, but have **YOU** played Atari today?
  • Location:North Olmsted, Ohio

Posted Mon Apr 8, 2019 9:44 PM

 

 

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, Mon Apr 8, 2019 9:45 PM.


#553 Mclaneinc OFFLINE  

Mclaneinc

    Retro Madman

  • 6,689 posts
  • Location:Northolt, UK

Posted Tue Apr 9, 2019 4:00 AM

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 :)



#554 rdea6 ONLINE  

rdea6

    River Patroller

  • 2,836 posts
  • Location:Arizona USA

Posted Tue Apr 9, 2019 6:30 AM

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.



#555 Mclaneinc OFFLINE  

Mclaneinc

    Retro Madman

  • 6,689 posts
  • Location:Northolt, UK

Posted Tue Apr 9, 2019 7:19 AM

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

 

Oh sod it, I'll try :)



#556 SS OFFLINE  

SS

    Quadrunner

  • 6,321 posts
  • Location:Lehigh Valley, Pennsylvania

Posted Tue Apr 9, 2019 8:59 AM

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, Tue Apr 9, 2019 9:04 AM.


#557 Mclaneinc OFFLINE  

Mclaneinc

    Retro Madman

  • 6,689 posts
  • Location:Northolt, UK

Posted Tue Apr 9, 2019 9:59 AM

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 :)



#558 laoo OFFLINE  

laoo

    Star Raider

  • 52 posts
  • Location:Wrocław, Poland

Posted Tue Apr 9, 2019 1:40 PM

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




#559 SS OFFLINE  

SS

    Quadrunner

  • 6,321 posts
  • Location:Lehigh Valley, Pennsylvania

Posted Tue Apr 9, 2019 6:29 PM

 

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.  



#560 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,770 posts
  • Location:Bay Area, CA, USA

Posted Tue Apr 9, 2019 10:39 PM

 

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.



#561 laoo OFFLINE  

laoo

    Star Raider

  • 52 posts
  • Location:Wrocław, Poland

Posted Wed Apr 10, 2019 12:35 AM

 

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, Wed Apr 10, 2019 12:52 AM.


#562 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,594 posts
  • Location:United Kingdom

Posted Sun Apr 14, 2019 4:35 AM

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



#563 Keatah ONLINE  

Keatah

    Missile Commander

  • 22,183 posts

Posted Sun Apr 14, 2019 6:30 AM

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.



#564 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,594 posts
  • Location:United Kingdom

Posted Sun Apr 14, 2019 7:11 AM

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

#565 Kyle22 OFFLINE  

Kyle22

    River Patroller

  • 4,096 posts
  • broadway1.lorexddns.net 10001
  • Location:McKees Rocks (Pittsburgh), PA

Posted Sun Apr 14, 2019 9:03 PM

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



#566 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,770 posts
  • Location:Bay Area, CA, USA

Posted Sun Apr 14, 2019 9:54 PM

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.



#567 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,594 posts
  • Location:United Kingdom

Posted Mon Apr 15, 2019 7:48 AM

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.



#568 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,594 posts
  • Location:United Kingdom

Posted Mon Apr 15, 2019 1:53 PM

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



#569 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,770 posts
  • Location:Bay Area, CA, USA

Posted Mon Apr 15, 2019 3:14 PM

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.



#570 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,594 posts
  • Location:United Kingdom

Posted Mon Apr 15, 2019 3:28 PM

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.

#571 scotty OFFLINE  

scotty

    Moonsweeper

  • 485 posts
  • I have, but have **YOU** played Atari today?
  • Location:North Olmsted, Ohio

Posted Wed Apr 17, 2019 3:15 PM

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?


  • SS likes this

#572 Mclaneinc OFFLINE  

Mclaneinc

    Retro Madman

  • 6,689 posts
  • Location:Northolt, UK

Posted Thu Apr 18, 2019 4:03 AM

Nope....Not even a nibble.....



#573 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,845 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Sat Apr 20, 2019 6:23 AM

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



#574 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,770 posts
  • Location:Bay Area, CA, USA

Posted Sat Apr 20, 2019 7:17 PM

http://www.virtualdu...3.20-test23.zip

http://www.virtualdu...-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.



#575 Kyle22 OFFLINE  

Kyle22

    River Patroller

  • 4,096 posts
  • broadway1.lorexddns.net 10001
  • Location:McKees Rocks (Pittsburgh), PA

Posted Sun Apr 21, 2019 2:37 PM

http://www.virtualdu...3.20-test23.zip

http://www.virtualdu...-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?







Also tagged with one or more of these keywords: altirra, emulation

1 user(s) are browsing this forum

1 members, 0 guests, 0 anonymous users