Jump to content

Photo

Altirra 3.00 released

altirra emulation

595 replies to this topic

#76 JohnBlbec OFFLINE  

JohnBlbec

    Space Invader

  • 10 posts

Posted Thu Jan 4, 2018 1:13 AM

@phaeron, thanks for altirra and thanks for a new release. i appreciate you develop such great piece of software! :-)



#77 DrVenkman OFFLINE  

DrVenkman

    River Patroller

  • 3,556 posts
  • Back off, man! I'm a scientist.
  • Location:KMBT

Posted Thu Jan 4, 2018 6:50 AM

You know, Bryan in his various video mods and now the UAV may have just that kind of scope data. And if not, he may be interested in getting it for you as well, since it plays right into his own interest in A8 video signal output. Maybe you could PM him and compare notes?

#78 _The Doctor__ OFFLINE  

_The Doctor__

    Quadrunner

  • 5,585 posts
  • Location:10-0-11-00:02

Posted Thu Jan 4, 2018 5:38 PM

answering related question about rrggbb

 

rrg/gbb  rgg/bbr  ggb/brr  gbb/rrg  bbr/rgg  brr/ggb   are the pairs we work with, each frame is two fields on the crt

 

In hi-res mode states are handled as 2 pixels and GTIA states are half pixels, first left, then right.

Where you start is up to you. Mess with the timing.

 

The specific monitor issues were due to decode and the rgb or bgr mask btw.. it did not matter for fulls clocks, but fractional clocks caused the issue and the artifacts were changed as a result. so more changes. and changes again. In a perfect world, make it select-able but it wasn't a perfect world.


Edited by _The Doctor__, Thu Jan 4, 2018 6:10 PM.


#79 atari65xenajm OFFLINE  

atari65xenajm

    Star Raider

  • 83 posts
  • Location:Texas

Posted Thu Jan 4, 2018 6:09 PM

Hello phaeron.  I wanted to bring to your attention that a few new mappers have been identified based on aDawliah cartridge NA0002.  Please check this thread: http://atariage.com/...-os-najm/page-2

 

It would be great if Altirra can support these mappers (69 and 70).  Kr0tki has reverse-engineered these two for the community based on a few cartridges from aDawliah.  Thanks.



#80 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,228 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Thu Jan 4, 2018 6:39 PM

 

Hello phaeron.  I wanted to bring to your attention that a few new mappers have been identified based on aDawliah cartridge NA0002.  Please check this thread: http://atariage.com/...-os-najm/page-2

 

It would be great if Altirra can support these mappers (69 and 70).  Kr0tki has reverse-engineered these two for the community based on a few cartridges from aDawliah.  Thanks.

 

Could someone maybe determine why this post is mostly unreadable when using the "deflection" skin?



#81 _The Doctor__ OFFLINE  

_The Doctor__

    Quadrunner

  • 5,585 posts
  • Location:10-0-11-00:02

Posted Thu Jan 4, 2018 7:15 PM

What OS/Browser / and video settings are you using? I've switched skins and it's there for me..... perhaps the specific worst offending post for some experimentation?

 I am however using the deflection skin on and lcd not a crt...



#82 Kyle22 OFFLINE  

Kyle22

    River Patroller

  • 3,660 posts
  • Call my BBS! telnet://broadway1.lorexddns.net
  • Location:McKees Rocks (Pittsburgh), PA

Posted Thu Jan 4, 2018 8:45 PM

Hey Doc, that was a nice triple header you posted above.
😀

#83 mechanerd OFFLINE  

mechanerd

    Star Raider

  • 96 posts

Posted Sat Jan 6, 2018 6:59 PM

Thanks for this Christmas present!

 

Can Altirra load >10K Firmware / OS for 400/800 emulation? I am trying to test the attached 16K OS file consisting of 4K Omnimon 800, 2K of empty space, 2K of Fastchip and 8K of Newell OS N. While all of this runs perfectly in XL mode and a 10K file with Fastchip and OS N only runs in 400/800 mode, the 16K firmware is apparently not loaded at C000 in 400/800 modes. There is an "option" field in the firmware definition dialog but it is not accessible. 

 

 

16K Firmware with Omnimon 800, Fastchip and OS N: attachicon.gifOSNFastOmni.bin

 

10K Firmware with Fastchip and OS N: attachicon.gifOSNFast.bin

 

 

Did you see my posting about the rom download from the Newell Omniview board? I did a dump of it with the Omniview and the Omnimon 800 installed in the last socket of the board that resides from C000-CFFF.  I wonder where the option is to load roms into that space with Altirra.  I really want to reverse engineer this board and make a bootstrap loader of sort eventually. 

I would like to see this feature if possible to be able to load roms other than stock. I know it would be on an as-is basis that could crash the emulator.

Attached Files


  • slx likes this

#84 phaeron OFFLINE  

phaeron

    River Patroller

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

Posted Wed Jan 31, 2018 1:31 AM

http://www.virtualdu...-3.10-test3.zip

http://www.virtualdu...0-test3-src.zip

 

  • Configure System:
    • Keyboard options have now been folded into Configure System and have context-sensitive help.
    • Fixed broken turbo invert option.
    • Added an option to preserve contents of extended memory across cold reset.
    • Fixed firmware drop-down lists not getting refreshed after adding OS/BASIC firmware.
  • Performance analyzer:
    • CPU tracer now treats STA WSYNC as an idle instruction in the main thread.
    • Clicking on the range button in the profile panel clears the selected range.
    • CPU performance counters are now supported when running the profiler on a trace.
    • Fixed some redraw issues with the video channel.
  • Debugger:
    • The debugger's .dumpdsm command now works above bank 0.
    • Fixed a regression with the history window displaying registers incorrectly with special registers enabled.
  • Misc:
    • Fixed 5200 placeholder cartridge not being replaced if last used 5200 cartridge didn't load.
    • Added a cooldown timer to the browser (B:) device.
    • Custom shaders now support .png files for textures.
    • The Disk Drives dialog is now modeless and can be used while the emulation is running.
    • Pop-up (modeless) dialogs are now auto-hidden when going exclusive full-screen.
    • Fixed a small performance issue where the x64 build was using an unoptimized audio filter.
    • 400/800 kernel ROM images can now use a 16K XL/XE OS layout, in which case $C000-CFFF will be mapped.

 



#85 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 13,920 posts
  • Location:United Kingdom

Posted Thu Feb 1, 2018 9:49 AM

Thanks so much for the update and fixes.

 

Having some trouble with Rapidus emulation here and I wondered if you could set me straight. I managed to get it working with the official binary by adding Rapidus to the device manager and using the update ATR on Lotharek's site to update the OS ROM and PBI firmware. First thing I noticed is that saving the Rapidus firmware (File -> Save Firmware -> Save Rapidus Flash) and then adding that as the default firmware for Rapidus in the Firmware Manager either doesn't work or is simply the wrong way to do it (it kept hanging), so eventually I just took no further action in Firmware manager after performing the flash and that seemed to work. I realise the bootstrap flash is internal and cannot be changed, so I'm assuming the PBI Firmware and OS ROM flashed via Lotharek's tool doesn't need saving and then explicitly adding via the firmware manager following a flash to the "actual" firmware?

 

Anyway: I hit problems after momentarily enabling U1MB, finding it doesn't work with Rapidus emulation, and in so doing completely breaking Rapidus such that I can't get it working again (the built-in PBI firmware, which seems to have returned, is crashing on a BRK instruction the moment I exit your setup menu with the 65C816 enabled with the stock OS, in preparation to update the firmware). The emulated machine is configured with 1MB of PORTB RAM, no U1MB or any other devices, and a stock Rev 3 XL/XE OS ROM. I get the 'Altirra bootstrap for Rapidus' menu followed by a crash on a BRK instruction at $C928 because by that point the OS ROM has completely disappeared. I can get into the built-in Rapidus firmware but I encounter the same crash when I come out of it. There's therefore no way to boot the machine with the 65C816 active so that I can update the firmware.

 

I guess I've completely overlooked some minor but important detail which I happened to get right the first time I got it working. In any case, on the subject of U1MB: is there any chance of Rapidus eventually working with Ultimate in emulation, since the real hardware eventually managed it? :)



#86 a8isa1 OFFLINE  

a8isa1

    Stargunner

  • 1,519 posts

Posted Thu Feb 1, 2018 10:17 AM

Phaeron, I asked in the Altirra 2.90 thread but I didn't see a reply or I missed it.  

 

Are there any plans to add serial port support (real or virtual) to Altirra?  

 

I've been using NodeMCU development boards as wifi modems for my Ataris but it would be nice if I could do some of my tinkering on my laptop.   The boards have USB to serial converters.  I can just plug them into the laptop.  On the Ataris I need to deal with an extra power supply (USB phone charger)



#87 phaeron OFFLINE  

phaeron

    River Patroller

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

Posted Thu Feb 1, 2018 11:39 PM

Having some trouble with Rapidus emulation here and I wondered if you could set me straight. I managed to get it working with the official binary by adding Rapidus to the device manager and using the update ATR on Lotharek's site to update the OS ROM and PBI firmware. First thing I noticed is that saving the Rapidus firmware (File -> Save Firmware -> Save Rapidus Flash) and then adding that as the default firmware for Rapidus in the Firmware Manager either doesn't work or is simply the wrong way to do it (it kept hanging), so eventually I just took no further action in Firmware manager after performing the flash and that seemed to work. I realise the bootstrap flash is internal and cannot be changed, so I'm assuming the PBI Firmware and OS ROM flashed via Lotharek's tool doesn't need saving and then explicitly adding via the firmware manager following a flash to the "actual" firmware?
 
Anyway: I hit problems after momentarily enabling U1MB, finding it doesn't work with Rapidus emulation, and in so doing completely breaking Rapidus such that I can't get it working again (the built-in PBI firmware, which seems to have returned, is crashing on a BRK instruction the moment I exit your setup menu with the 65C816 enabled with the stock OS, in preparation to update the firmware). The emulated machine is configured with 1MB of PORTB RAM, no U1MB or any other devices, and a stock Rev 3 XL/XE OS ROM. I get the 'Altirra bootstrap for Rapidus' menu followed by a crash on a BRK instruction at $C928 because by that point the OS ROM has completely disappeared. I can get into the built-in Rapidus firmware but I encounter the same crash when I come out of it. There's therefore no way to boot the machine with the 65C816 active so that I can update the firmware.

 

Check whether you've flashed all three components and bound the saved ROM to the flash firmware slot (and not the Core PBI slot). The symptoms you're describing are consistent with having the 16-bit PBI module updated but not the OS firmware -- this could then cause the 16-bit PBI code to attempt to swap in the nonexistent flash-based OS. The menu is called off of the 16-bit PBI, so you can't get into it by holding down Inverse without the computer already being able to boot the OS in 65C816 mode. $C928 happens to be the location in the XL/XE OS right after PBI firmware is initialized. As such, the issue may go away if the accelerator is reconfigured to disable the Rapidus OS. The bootstrap ROM doesn't have an actual OS at $F0:C000-FFFF, only a placeholder OS.

 

The other possibility is that the accelerator is configured to shadow $C000-FFFF with fast RAM, which will block the OS ROM. This may be incorrect behavior in the emulator, but I don't have a reference to tell what the actual hardware behavior should be in that case.

 

I'm not seeing the issues with U1MB, but we should clear the Rapidus-specific issues first before delving into that morass. The emulator doesn't do anything with the U1MB compatibility bit because I have no idea what that bit actually does -- but there's a decent chance that it doesn't need to, if the need for it is specific to hardware implementation and not an architectural issue.

 



#88 phaeron OFFLINE  

phaeron

    River Patroller

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

Posted Thu Feb 1, 2018 11:40 PM

Phaeron, I asked in the Altirra 2.90 thread but I didn't see a reply or I missed it.  

 

Are there any plans to add serial port support (real or virtual) to Altirra?  

 

I've been using NodeMCU development boards as wifi modems for my Ataris but it would be nice if I could do some of my tinkering on my laptop.   The boards have USB to serial converters.  I can just plug them into the laptop.  On the Ataris I need to deal with an extra power supply (USB phone charger)

 

I simply haven't done anything about it.

 

What would a virtual serial port be?



#89 Keatah OFFLINE  

Keatah

    Missile Commander

  • 21,600 posts

Posted Fri Feb 2, 2018 1:28 AM

Ohh how cool. AppleWin (Apple II emulator) has this.

 

On real Apple II hardware we have what's known as a SuperSerialCard, a plug-in serial port on an expansion card. Fairly standard stuff. So, AppleWin emulates this card and its onboard firmware. And software running on the emulator thinks it's talking to a real SSC and a real RS-232 port. And the simulated port is mapped to PC host's real hardware COM1 or COM2 port. The end result is that Apple II software controls the PC's serial port. This means I could use external U.S. Robotics modems with a BBS or vintage Apple II terminal software.

 

It can be taken in a different direction by using com0com. This is a freeware program outside and independent of AppleWin. It creates virtual serial ports in the PC environment and connects them via a virtual null modem cable. This allows 2 instances of an emulator (which supports serial ports) to communicate with each other. I can set up 2 instances of AppleWin and set one to COM3 and the other to COM4. Com0com can then be used to connect them to each other. This lets me call my own BBS and transfer WaRez at 300 baud between the two emulated systems!

 

AppleWin extends this concept to the TCP/IP stack as well. Allowing for network game play. In fact that new 8-bit Slicks racing game supports this.



#90 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 13,920 posts
  • Location:United Kingdom

Posted Fri Feb 2, 2018 3:47 AM

Check whether you've flashed all three components and bound the saved ROM to the flash firmware slot (and not the Core PBI slot). The symptoms you're describing are consistent with having the 16-bit PBI module updated but not the OS firmware -- this could then cause the 16-bit PBI code to attempt to swap in the nonexistent flash-based OS. The menu is called off of the 16-bit PBI, so you can't get into it by holding down Inverse without the computer already being able to boot the OS in 65C816 mode. $C928 happens to be the location in the XL/XE OS right after PBI firmware is initialized. As such, the issue may go away if the accelerator is reconfigured to disable the Rapidus OS. The bootstrap ROM doesn't have an actual OS at $F0:C000-FFFF, only a placeholder OS.


Thanks. I recognize some of the missteps you're describing here, so I'll have a look over the weekend. ;)

 

I'm not seeing the issues with U1MB, but we should clear the Rapidus-specific issues first before delving into that morass. The emulator doesn't do anything with the U1MB compatibility bit because I have no idea what that bit actually does -- but there's a decent chance that it doesn't need to, if the need for it is specific to hardware implementation and not an architectural issue.


Great: I wasn't aware that U1MB was expected to work alongside Rapidus in the emulator, so that's something to look forward to once I get the accelerator working again.


Edited by flashjazzcat, Fri Feb 2, 2018 4:26 AM.


#91 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 13,920 posts
  • Location:United Kingdom

Posted Fri Feb 2, 2018 4:57 AM

OK: Turned off fast RAM at $C000-$FFFF in the built-in configuration menu, and this at least enabled me to boot SDX from an attached IDE Plus in 65C816 mode and update the flash modules. I then bound the resulting ROM to the Rapidus Flash Firmware but found that DRACOS crashed at $5496 (jumping into ROM where the self-test would usually be) unless I disabled fast RAM in bank #0. So far so good. IDE Plus working OK with DRACOS.

 

Next I tried removing IDE Plus and adding U1MB. That appeard to work until I closed down the emulator and re-opened it again, which resulted in a crash (BRK at location $0003, following ISB $FF00,X). The fix for that is turning off U1MB in the memory dialog, rebooting, then enabling U1MB again (I guess the emulator doesn't like a cold power-up situation with U1MB and Rapidus).

 

The next issue was getting into the U1MB setup menu, since Help with Reset doesn't do anything. Tried swapping the BIOS hotkey to Start and Reset (via another machine profile) but the Start key triggers the DRACOS boot selector, but since U1MB should have caught the Start key before passing control to the OS anyway, that shouldn't really be a problem.

 

Finally I decided to verify whether the enabled U1MB was present via the MEM command at the SDX prompt, and there appears to be no extended RAM at all. This coupled with the inability to get into the BIOS setup menu suggests to me that there simply is no U1MB on the emulated system.

 

Hope that helps a bit, anyway. :) The fast RAM issues I initially encountered are puzzling, since I previously had Rapidus working without messing with any of that stuff. U1MB issues aside, if I disconnect all devices apart from the accelerator itself, jump into Rapidus setup and choose "Rapidus mode" with all the default fast RAM options, I still get a crash at $FF9D when leaving setup.


Edited by flashjazzcat, Fri Feb 2, 2018 4:59 AM.


#92 a8isa1 OFFLINE  

a8isa1

    Stargunner

  • 1,519 posts

Posted Fri Feb 2, 2018 6:23 AM

 

I simply haven't done anything about it.

 

What would a virtual serial port be?

Well, I was referring to the virtual COM ports created by the drivers of USB to serial devices.  However the virtual null modem that Keatah described would be great as well.



#93 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 13,920 posts
  • Location:United Kingdom

Posted Fri Feb 2, 2018 6:42 AM

Correction to prior post: U1MB is "present" (judging by the .map command and the fact SDX is booting), but there's no extended memory accessible via PORTB, no means to get into the setup menu, and the OS crashes when the Rapidus OS isn't used.

#94 Keatah OFFLINE  

Keatah

    Missile Commander

  • 21,600 posts

Posted Fri Feb 2, 2018 3:44 PM

Well, I was referring to the virtual COM ports created by the drivers of USB to serial devices.  However the virtual null modem that Keatah described would be great as well.

 

It is important to note that the virtual null modem cable I described is a 3rd party program called com0com, it is outside of and independent of any contemporary emulator, including Altirra.

 

Mr. Phaeron would need to emulate com ports and have them mappable to real PC hardware ports. Then you could get and use the virtual null modem cable I talked about.

 

By the way there are pro-level and paid-for virtual com ports made by commercial vendors, but they're expensive at around $100 I think, last time I checked..



#95 phaeron OFFLINE  

phaeron

    River Patroller

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

Posted Sat Feb 3, 2018 3:53 AM

http://www.virtualdu...-3.10-test4.zip

http://www.virtualdu...0-test4-src.zip

 

  • Fixed kernel ROM conflict between U1MB and Rapidus. There was logic to arbitrate between the two, but Rapidus was sometimes overriding the U1MB OS ROM with the motherboard OS ROM.
  • Added a loopback serial device for testing. There's two serial devices now.
  • Changed the modem device to default to handshaking off (AT&K0) instead of RTS/CTS (AT&K3). The reason for this is an apparent difference in the way that the 850 and MIO R: devices initialize RTS -- 850 is documented as defaulting to RTS off while MIO defaults to it on. This was causing the modem to not send anything when used with 850 full emulation and a 6502-based R: driver until blindly reconfigured. The HLE R: device is still defaulting to RTS on, which I'll probably need to move to an option.
  • Fixed slightly inaccurate baud rates when using 850 full emulation. Missing divisor adjustment didn't matter much at 300 baud, matters more at 9600 baud.
  • A bunch of fixes to the 6502 850 R: driver, now v0.2. Fixed bugs in block output mode, external input buffer size processing, device error detection, mode checking, light input translation with parity enabled, and also implemented two stop bit mode. Interrupt handlers are slightly faster.

 



#96 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 13,920 posts
  • Location:United Kingdom

Posted Sat Feb 3, 2018 4:06 AM

Fixed kernel ROM conflict between U1MB and Rapidus. There was logic to arbitrate between the two, but Rapidus was sometimes overriding the U1MB OS ROM with the motherboard OS ROM.


Thanks so much for that Avery: it appears to work well. Only problem I can see so far is that system reset causes an OS coldstart.

#97 phaeron OFFLINE  

phaeron

    River Patroller

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

Posted Sat Feb 3, 2018 6:38 PM

http://www.virtualdu...-3.10-test5.zip

http://www.virtualdu...0-test5-src.zip

 

  • Rapidus no longer reverts back to the 6502 on a warm reset.
  • Fixed bad load address in SDFS boot sector that was causing in-emulator formatted disks or converted .ARC images to crash when booted.

 



#98 _The Doctor__ OFFLINE  

_The Doctor__

    Quadrunner

  • 5,585 posts
  • Location:10-0-11-00:02

Posted Sun Feb 4, 2018 11:40 PM

this all looks good are you pushing a release soon? The 850 and the other fixes may help in another project.



#99 phaeron OFFLINE  

phaeron

    River Patroller

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

Posted Mon Feb 5, 2018 12:34 AM

http://www.virtualdu...-3.10-test6.zip

http://www.virtualdu...0-test6-src.zip

  • Added an option on the context menu for disk drives to convert a disk from one filesystem to another, e.g. SpartaDOS to MyDOS, or DOS 3 to DOS 2.0S. This will convert between single and double density formats, subject to target filesystem limitations.
  • Fixed a bunch of bugs in the emulator filesystem mounting code: issues with empty file and subdirectory creation on MyDOS disks, some filesystem errors cropping up when expanding SDFS disks during .ARC expansion.
  • Tweaked boot sector for SDFS on 512-byte sector disks to fix validation errors flagged by CLX.

 

this all looks good are you pushing a release soon? The 850 and the other fixes may help in another project.

 

Not really, I usually only push actual releases after several months. That having been said, I don't object to projects pulling components from test releases instead of a full release, as long as the license requirements are met and downstream realizes that the bits may be a bit more... fresh... than usual. There is no difference in the software license for the test releases.

 



#100 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 13,920 posts
  • Location:United Kingdom

Posted Mon Feb 5, 2018 3:48 AM

Didn't even get a chance to thank you for the prior update, which works beautifully. Thank you!







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

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users