prepare to add some code
This commit is contained in:
parent
d73c2346c4
commit
5acb6daef6
4 changed files with 88 additions and 1 deletions
49
src/asm/68k/amigatest/README.md
Normal file
49
src/asm/68k/amigatest/README.md
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# Amiga verification export format
|
||||
|
||||
"ROM" export format exclusively for verifying whether the Amiga emulation in Furnace is correct.
|
||||
|
||||
do not assume this is the actual ROM export! it is nothing more than a register dump kind of thing...
|
||||
|
||||
# process
|
||||
|
||||
enable the setting in Furnace to unlock the export option by adding this to furnace.cfg:
|
||||
|
||||
```
|
||||
iCannotWait=true
|
||||
```
|
||||
|
||||
go to file > export Amiga validation data...
|
||||
|
||||
put sample.bin and seq.bin in this directory.
|
||||
|
||||
compile with vasm:
|
||||
|
||||
```
|
||||
vasmm68k_mot -Fhunkexe -kick1hunks player.s
|
||||
```
|
||||
|
||||
run a.out on Amiga. it should play the exported song.
|
||||
|
||||
# sequence format
|
||||
|
||||
## 00-0F: global
|
||||
|
||||
- 00: do nothing
|
||||
- 01: next tick
|
||||
- 02 xx: wait
|
||||
- 03 xxxx: wait
|
||||
- 06 xxxx: write to DMACON
|
||||
- 0a xxxx: write to INTENA
|
||||
- 0e xxxx: write to ADKCON
|
||||
|
||||
## 10-1F: per-channel (10, 20, 30, 40)
|
||||
|
||||
- 10 xxxxxx yyyy zzzzzz wwww: set loc/len
|
||||
- x: loc
|
||||
- y: len
|
||||
- z: loc after interrupt
|
||||
- w: len after interrupt
|
||||
- 12 xxxx yy: initialize wavetable (xxxx: pos; yy: length)
|
||||
- 16 xxxx: set period
|
||||
- 18 xx: set volume
|
||||
- 1a xxxx: set data
|
||||
32
src/asm/68k/amigatest/player.s
Normal file
32
src/asm/68k/amigatest/player.s
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
; Furnace validation player code
|
||||
; this is NOT the ROM export you're looking for!
|
||||
|
||||
; incomplete!
|
||||
|
||||
VPOSR = $dff004
|
||||
COLOR00 = $dff180
|
||||
|
||||
cseg
|
||||
move.l #0,d0
|
||||
|
||||
main:
|
||||
jsr waitVBlank
|
||||
|
||||
move.w curColor,d0
|
||||
move.w d0,COLOR00
|
||||
addi.w #1,d0
|
||||
move.w d0,curColor
|
||||
|
||||
jmp main
|
||||
|
||||
waitVBlank:
|
||||
move.l (VPOSR),d0
|
||||
and.l #$1ff00,d0
|
||||
cmp.l #$12c00,d0
|
||||
bne waitVBlank
|
||||
rts
|
||||
|
||||
data_c
|
||||
|
||||
curColor:
|
||||
dc.w 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue