mirror of
https://github.com/tomcw/Cybernoid.git
synced 2025-04-07 15:37:20 +00:00
Update README.md: Formatting
This commit is contained in:
parent
e5323b7a75
commit
4f462151d3
25
README.md
25
README.md
@ -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).
|
||||
|
||||
Here's a summary of how I did it:
|
||||
. I got cybernoid.ay from
|
||||
http://www.worldofspectrum.org/projectay/gdmusic.htm
|
||||
. Split it into bin's with AYSplitR
|
||||
. Disassembled with Inkland's dz80w (http://www.inkland.org.uk/dz80/index.htm)
|
||||
. I wrote 6502 macros to replace the z80 opcodes
|
||||
. For cybernoid, I hand converted the z80 code to 6502 (using the
|
||||
macros)
|
||||
. I added a few extension to AppleWin's debugger to help debug the 6502
|
||||
code (ACME symbol loading & ZP pointer support).
|
||||
- I got cybernoid.ay from (here)[http://www.worldofspectrum.org/projectay/gdmusic.htm]
|
||||
- Split it into bin's with AYSplitR
|
||||
- Disassembled with Inkland's dz80w (here)[http://www.inkland.org.uk/dz80/index.htm]
|
||||
- I wrote 6502 macros to replace the z80 opcodes
|
||||
- For cybernoid, I hand converted the z80 code to 6502 (using the 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.
|
||||
|
||||
The Z80 regs are emulated with zero-page memory locations $F0..$F8
|
||||
The playback routine is very inefficient, as it:
|
||||
. saves the ZP memory
|
||||
. restores the Z80 regs
|
||||
. runs the IRQ handler
|
||||
. saves the Z80 regs
|
||||
. restores the ZP memory
|
||||
- saves the ZP memory
|
||||
- restores the Z80 regs
|
||||
- runs the IRQ handler
|
||||
- saves the Z80 regs
|
||||
- restores the ZP memory
|
||||
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user