more
This commit is contained in:
parent
07ed76a63b
commit
ced4fd8ee1
8 changed files with 247 additions and 21 deletions
4
src/asm/68k/amigatest/Makefile
Normal file
4
src/asm/68k/amigatest/Makefile
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
all: player
|
||||
|
||||
player: player.s
|
||||
vasmm68k_mot -Fhunkexe -kick1hunks -o player player.s
|
||||
|
|
@ -26,24 +26,23 @@ run a.out on Amiga. it should play the exported song.
|
|||
|
||||
# sequence format
|
||||
|
||||
## 00-0F: global
|
||||
## 00-0F: per-channel (00, 10, 20, 30)
|
||||
|
||||
- 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
|
||||
- 00 xxxxxx yyyy: 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
|
||||
- 01 xxxx yy: initialize wavetable (xxxx: pos; yy: length)
|
||||
- 06 xxxx: set period
|
||||
- 08 xx: set volume
|
||||
- 0a xxxx: set data
|
||||
|
||||
## F0-FF: global
|
||||
|
||||
- f0: do nothing
|
||||
- f1: next tick
|
||||
- f2 xx: wait
|
||||
- f3 xxxx: wait
|
||||
- f6 xxxx: write to DMACON
|
||||
- fa xxxx: write to INTENA
|
||||
- fe xxxx: write to ADKCON
|
||||
- ff: end of song
|
||||
|
|
|
|||
|
|
@ -5,9 +5,34 @@
|
|||
|
||||
VPOSR = $dff004
|
||||
COLOR00 = $dff180
|
||||
DMACONR = $dff002
|
||||
DMACON = $dff096
|
||||
AUD0LCH = $dff0a0
|
||||
AUD0LCL = $dff0a2
|
||||
AUD0LEN = $dff0a4
|
||||
AUD0PER = $dff0a6
|
||||
AUD0VOL = $dff0a8
|
||||
AUD0DAT = $dff0aa
|
||||
|
||||
cseg
|
||||
move.l #0,d0
|
||||
move.w #15,d0
|
||||
move.w d0,DMACON
|
||||
|
||||
testDMACon:
|
||||
move.w DMACON,d0
|
||||
btst #0,d0
|
||||
bne testDMACon
|
||||
|
||||
lea sampleData(pc),a0
|
||||
move.l a0,AUD0LCH
|
||||
move.w #$2000,d0
|
||||
move.w d0,AUD0LEN
|
||||
move.w #$a0,d0
|
||||
move.w d0,AUD0PER
|
||||
move.w #$40,d0
|
||||
move.w d0,AUD0VOL
|
||||
move.l #$8201,d0
|
||||
move.w d0,DMACON
|
||||
|
||||
main:
|
||||
jsr waitVBlank
|
||||
|
|
@ -30,3 +55,14 @@ data_c
|
|||
|
||||
curColor:
|
||||
dc.w 0
|
||||
|
||||
sampleData:
|
||||
incbin "sample.bin"
|
||||
|
||||
data_f
|
||||
|
||||
sequence:
|
||||
incbin "seq.bin"
|
||||
|
||||
wavetable:
|
||||
incbin "wave.bin"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue