Update README.md: Formatting

This commit is contained in:
tomcw 2017-04-21 22:21:14 +01:00
parent e5323b7a75
commit 4f462151d3

View File

@ -8,25 +8,22 @@ So as a little R&D proj, I thought I'd convert Dave Rogers' Spectrum
128 Cybernoid routine (written in 1988). 128 Cybernoid routine (written in 1988).
Here's a summary of how I did it: Here's a summary of how I did it:
. I got cybernoid.ay from - I got cybernoid.ay from (here)[http://www.worldofspectrum.org/projectay/gdmusic.htm]
http://www.worldofspectrum.org/projectay/gdmusic.htm - Split it into bin's with AYSplitR
. Split it into bin's with AYSplitR - Disassembled with Inkland's dz80w (here)[http://www.inkland.org.uk/dz80/index.htm]
. Disassembled with Inkland's dz80w (http://www.inkland.org.uk/dz80/index.htm) - I wrote 6502 macros to replace the z80 opcodes
. I wrote 6502 macros to replace the z80 opcodes - For cybernoid, I hand converted the z80 code to 6502 (using the macros)
. For cybernoid, I hand converted the z80 code to 6502 (using the - I added a few extension to AppleWin's debugger to help debug the 6502 code (ACME symbol loading & ZP pointer support).
macros)
. I added a few extension to AppleWin's debugger to help debug the 6502
code (ACME symbol loading & ZP pointer support).
I use Skyfox's MB detection routine. I use Skyfox's MB detection routine.
The Z80 regs are emulated with zero-page memory locations $F0..$F8 The Z80 regs are emulated with zero-page memory locations $F0..$F8
The playback routine is very inefficient, as it: The playback routine is very inefficient, as it:
. saves the ZP memory - saves the ZP memory
. restores the Z80 regs - restores the Z80 regs
. runs the IRQ handler - runs the IRQ handler
. saves the Z80 regs - saves the Z80 regs
. restores the ZP memory - restores the ZP memory
This allows playback to work simultaneously with Applesoft & ProDOS. If This allows playback to work simultaneously with Applesoft & ProDOS. If
DOS3.3 doesn't disable IRQs around disk I/O, then it won't work on a DOS3.3 doesn't disable IRQs around disk I/O, then it won't work on a