Block Dodge progress 12/19

Date: Dec 19, 2024 / Last updated: Jan 4, 2025

Went through the hassle of re-cloning my coco codebase, as I wasn't able to push to github. Luckly it was easy to copy my changes over for the lib directory. I can finally push from CLion; or from the GitHub client for that matter.

Got animations working again, as they were not using 32-bit timers. I also was able to combine the animation and movement delays into a single word, and the frame number and frame count into a word as well. So the structure looks more like this

;SPRITE             ANIM 32-bit MOVE 32-bit AA MM FN FC  
;SIZEWH,POSXY,DIRXY,TIMER,TIMER,TIMER,TIMER,DELAY,FRAME,DATA  

And the offsets look like

ANIM_SIZE       equ     $00
ANIM_POSXY      equ     $02
ANIM_DIRXY      equ     $04
ANIM_TIMERAU    equ     $06     ; 32-bit animation timer high word
ANIM_TIMERAL    equ     $08     ; 32-bit animation timer low word
ANIM_TIMERMU    equ     $0a     ; 32-bit movement timer high word
ANIM_TIMERML    equ     $0c     ; 32-bit movement timer low word
ANIM_DELAYA     equ     $0e     ; 8-bit animation timer delay
ANIM_DELAYM     equ     $0f     ; 8-bit movement timer delay
ANIM_FN         equ     $10     ; frame number to display
ANIM_FC         equ     $11     ; frame count, how many frames animation has
ANIM_DATA       equ     $12     ; one or more frame sprite data pointers

Which is larger, but I'm happy because I was able to save 4 bytes by combining those bytes for delay and frame info.

Still no luck with being able to make comments for mame, but using the single listing file with correct addresses has been very useful. I'm glad I did that. I did find that the addresses for the opcodes are not initialized though. So I'll have to calculate those and get them changed in the output. Not as critical, but every little bit helps.



Copyright © 2025, Lee Patterson