diff --git a/.gitignore b/.gitignore index 995f1ed..608282b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *.list *.lst *.note +run.sh diff --git a/wip-hugo/routines/text/char_draw.s b/wip-hugo/routines/text/char_draw.s index 65ed67a..802f23d 100644 --- a/wip-hugo/routines/text/char_draw.s +++ b/wip-hugo/routines/text/char_draw.s @@ -6,14 +6,14 @@ ;; Note that this is the real positions divided by 8 .proc char_draw Character_generator_ROM = $D000 - Y_pos_offset = $F9F8 ;Reuses from Y_pos - X_pos_offset = $FAF7 + Y_pos_offset = $F9 ; 16-bit value (uses F8), reuses from Y_pos + X_pos_offset = $FA ; 16-bit value (uses F7) X_pos = $FA Y_pos = $F9 charset = $FB code = $FE - petski_position = $FEFF ;reuses code:s memory - screen_position = $FCFD + petski_position = $FE ; 16-bit value (uses FF),reuses code:s memory + screen_position = $FC ; 16-bit value (uses FD) ;#### TEMP INIT DATA #### LDA #$10 @@ -27,57 +27,57 @@ initial: ;We first need to clear some memory LDA #$00 - STA petski_position, petski_position, petski_position, Character_generator_ROM, ! + Add_16 petski_position, petski_position + 1, #Character_generator_ROM, ! ;;Calculate screen_position to use - Mov_16 >screen_position, VIC_bank + Mov_16 screen_position, screen_position + 1, #VIC_bank ;; Add the X_pos has a offset multiplier of *8 because 1 chunk = 8 addresses ;; *8 - Mult_16 >X_pos_offset, X_pos_offset, X_pos_offset, screen_position, Y_pos_offset, Y_pos_offset, Y_pos_offset, Y_pos_offset, Y_pos_offset, Y_pos_offset, Y_pos_offset, Y_pos_offset, Y_pos_offset, screen_position, Y_pos_offset, petski_position), Y - STA (>screen_position), Y + LDA (petski_position), Y + STA (screen_position), Y DEY BNE @loop - LDA (>petski_position), Y - STA (>screen_position), Y + LDA (petski_position), Y + STA (screen_position), Y RTS .endproc