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