Jump to content
IGNORED

Altirra 3.00 released


phaeron

Recommended Posts

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?

  • Like 3
Link to comment
Share on other sites

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

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.

  • Like 1
Link to comment
Share on other sites

 

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?

Link to comment
Share on other sites

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.

AtariROMDumper.atr

omniview800_c000.rom

Omnimon_rom800.rom

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

http://www.virtualdub.org/beta/Altirra-3.10-test3.zip

http://www.virtualdub.org/beta/Altirra-3.10-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.

 

  • Like 15
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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.

 

  • Like 2
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.10-test4.zip

http://www.virtualdub.org/beta/Altirra-3.10-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.

 

  • Like 9
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.10-test5.zip

http://www.virtualdub.org/beta/Altirra-3.10-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.

 

  • Like 6
Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.10-test6.zip

http://www.virtualdub.org/beta/Altirra-3.10-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.

 

  • Like 5
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...