Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Basic timing testing method:
- ; a = register
- ; d = value
- WriteRegister:
- out (MSXMusic.ADDRESS),a
- REPT 13
- nop
- ENDM
- ld a,d
- out (MSXMusic.DATA),a
- ret
- Reducing the REPT by 1 causes music playback glitches.
- To test e.g. LD A,(IX), I did this:
- ; a = register
- ; d = value
- WriteRegister:
- out (MSXMusic.ADDRESS),a
- ld a,(ix)
- REPT 13-7
- nop
- ENDM
- ld a,d
- out (MSXMusic.DATA),a
- ret
- In the REPT, this value would not glitch, and if I changed the 7 to 8, it would.
- Similarly, to test CALL, I did this:
- ; a = register
- ; d = value
- WriteRegister:
- out (MSXMusic.ADDRESS),a
- call BLAAT
- ret
- BLAAT:
- REPT 13-8
- nop
- ENDM
- ld a,d
- out (MSXMusic.DATA),a
- ret
- Changing the 8 to 9 would cause it to glitch.
Advertisement
Add Comment
Please, Sign In to add comment