Nowa testowa wersja emulatora Altirra autorstwa Avery (Phaeron) Lee - udającego mikrokomputery serii ATARI XE/XL.
Ostatnia pełna wersja tego emulatora, jaka publicznie została udostępniona to Alirra 2.81 z 16 października 2016 r.
[2] faust @
!!! Czwartek, 5 Stycznia 2017 23:21 CET [05-01-2017 22:36 CET]Nowa testowa wersja emulatora Altirra autorstwa Avery (Phaeron) Lee - udającego mikrokomputery serii ATARI XE/XL.
Ostatnia pełna wersja tego emulatora, jaka publicznie została udostępniona to Alirra 2.81 z 16 października 2016 r.
changes
features added
bugs fixed
authors comment:
changes
features added
bugs fixed
authors comment:
This is a release candidate for 2.90; I've been shunting all further changes to another branch.
changes
features added
bugs fixed
authors comment:
changes
features added
bugs fixed
authors comment:
changes
features added
bugs fixed
authors comment:
Side note, 1050 Turbo appears to have an issue with density detection when turned on with a double density disk already in it. Not sure why yet. It works fine if you "insert" the disk after it powers on, after which it sees the disk change.
changes
features added
bugs fixed
authors comment:
Tying up some loose ends on the Percom and ATR8000:
changes
features added
bugs fixed
authors comment:
Adds emulation support for the Percom RFD-40S1 drive, of the series that introduced the famous Percom configuration block. This is a 6809-based drive, so it was a bit interesting getting a new 6809 core up and running. The 6809 has a clean and powerful instruction set, but many instructions take a few too many clocks than they should... the most egregious being TFR A,B taking 6 cycles. The Percom firmware is written straightforwardly, though I suspect they could have saved quite a few clock cycles and bytes -- everything from unnecessarily long branches, LBSR+RTS pairs, PC-relative everywhere, etc. Some odds and ends about this drive:
Like the ATR8000, the hardware appears to support for 2MHz FDC clock for 8" drives, but the firmware doesn't use it.
Also like the ATR8000, the RFD-40S1 takes too long to initialize if turned on at the same time as the computer due to recalibrating four drives. Soft-reset the computer in order to work around this.
Unlike the ATR8000, the RFD-40S1 can have its drive IDs changed, and it can go as high as D8: with the internal jumper.
The drive does support automatic density switching, but only for sector 1 on D1:. First drive won't even work if it's above D1:, it literally has to be drive ID $31. Not sure why it wasn't allowed on any other drive IDs....
This is the only drive I've seen that physically can't do high-speed operation even with custom firmware. It uses a UART instead of bit-banged SIO and the clock is hardwired to 19,200 baud. The drive firmware doesn't use interrupts for anything other than FDC interrupt and timeout and polls for SIO anyway, so I'm not sure why they didn't just bit-bang like everyone else and save a chip.
The NMI has an unusual one-shot on it for read/write timeout instead of a fake-index-pulse based timeout that the RIOT-based drives use. I couldn't determine the time constant for this one-shot circuit, so I guessed.
The jsobola schematic has several apparent errors in it: IRQ wired to UART chip select, UART clock lines tied together, FDC clock control lines seem crossed....
Other changes:
Fixed disk rotational position not being reset properly on a cold reset, causing the disk position to be randomized. It is now deterministic.
Fixed the heat-map based uninitialized effective address trap being active whenever the heat map was enabled, even if the EA trap was disabled.
Added .logopen and .logclose commands to the debugger.
Fixed crash when examining memory in the debugger in 800 mode with separate I/O bus mode enabled.
Fixed xcolor bit in VBXE not affecting colors in the attribute map.
Added option for keys double-mapped between the keyboard and input maps to be received by both, instead of only by the input map.
changes
features added
bugs fixed
authors comment:
changes
features added
bugs fixed
authors comment:
Fixes drive rotation sounds not being toggleable and also getting left stuck on in some cases.
changes
features added
bugs fixed
authors comment:
The full disk drive emulators now allow the drive select to be modified -- which means you can now have multiple full drives emulated now! Caveats: Don't try assigning two drives to the same ID -- it won't work, though not necessarily in the same way that it wouldn't work on real hardware. Emulating multiple drives will use a lot more CPU time, since with 2+ drives the emulator needs to emulate 3 or more CPUs. The drive select also controls which emulator drive slot that the full drive emulator binds to.
The support for multiple drives also means that Happy Multi Drive works. Just worked for Happy 810 v7, but had to do a couple of fixes for Happy 1050: the Multi Drive software relies on $AFFx banking while the firmware doesn't, and also takes the unusual step of pulling PA6 to control the index pulse rather than using the RIOT.
Fixed formatting when emulating 1050 Turbo drives. It was failing because the Write Track command was writing the wrong data to the disk. Turns out the 1050 Turbo firmware is the only firmware that actually verifies the contents of the sectors during a format instead of just that they read.
Minor debugger updates: -k option is now documented for .basic_dumpline, st (static trace) now has a -m option to label the starting trace address, and watches now work on coprocessors.
changes
features added
bugs fixed
authors comment:
Note about the Happy Controller: one of the schematics floating around for it has a couple of errors. The logic expected by the firmware is: access to $9800-9FFF toggles Set Overflow if Fast/Slow is set to Slow and resets Write Protect to normal; access to $4000-7FFF toggles Write Protect inversion.
© Try2emu 1999 - 2024 | Krzysztof 'Faust' Karkosza Kontakt Polityka Prywatności OWU