Compare commits

...

3 commits

4 changed files with 29 additions and 8 deletions

View file

@ -1,5 +1,6 @@
.scope STARTUP
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
.scope STARTUP
;; Settings positions
CR1 = $d011; Graphic settings
VIC_bank_settings = $DD00 ; Vic position

View file

@ -6,7 +6,7 @@
B_end = $FE ; 16-bit value (uses FF)
;;In use of by pixel_draw
Y_pos = $FB
X_pos = $FCFD
X_pos = $FC ; 16-bit value (uses FD)
byte_to_paint = $FE
btp_mem_pos = $F9 ; 16-bit value (uses FA), byte to paint memory position
C = $F7 ; 16-bit value (uses F8)

View file

@ -1,13 +1,13 @@
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
;;Screen print. Draws a pixel at a specified position.
;; Destroys A X Y
.proc pixel_draw;; Draws a pixel at [Y = FB , X = FC, FD]. Y = 0 - 320, X= 0 - 200
.proc pixel_draw; user-procedure :clobbers (A X Y) :clobbers-arguments 0
;; Draws a pixel at Y_pos, X_pos se mem.inc
.include "mem.inc"
Bitmap = $4000
Bitmap_end = $5F3F
;; X = X_pos (mod 8)
LDA >X_pos ; X (mod 8)
LDA X_pos ; X (mod 8)
AND #%00000111
TAX
@ -33,10 +33,10 @@ end__:
;;pos = x_offset
LDA #%11111000
AND >X_pos
AND X_pos
STA btp_mem_pos
LDA <X_pos
LDA X_pos + 1
STA btp_mem_pos + 1
;;The y_pos adds offset because chunk offsets + inside chunk offset.

20
wip-hugo/userside.inc Normal file
View file

@ -0,0 +1,20 @@
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
;; Note that this file should never be actualy be linked by the assembly directly
;; The file is used for the homade assembler to now the parameters of different public routines
;;routine line
X_end = $EF
Y_end = $F0
X_pos = $FC
Y_pos = $FB
;;routine pixel_draw
Y_pos = $FB
X_pos = $FC ; 16-bit value (uses FD)
;; routine char_draw
X_pos = $FA
Y_pos = $F9
charset = $FB
code = $FE