Compare commits
4 commits
a5044d6e4c
...
ddd2057ff4
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ddd2057ff4 | ||
![]() |
4c604c8a47 | ||
![]() |
cb23f4ec58 | ||
![]() |
830c4d135d |
8 changed files with 14 additions and 11 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -4,4 +4,5 @@
|
||||||
*.list
|
*.list
|
||||||
*.lst
|
*.lst
|
||||||
*.note
|
*.note
|
||||||
run.sh
|
*.sh
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
|
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
|
||||||
|
|
||||||
.proc line; X_pos =< X_end skall alltid gälla
|
.proc line; user-procedure :clobbers (A X Y) :clobbers-arguments 4
|
||||||
|
;X_pos =< X_end skall alltid gälla
|
||||||
.include "line.inc"
|
.include "line.inc"
|
||||||
;;dx
|
;;dx
|
||||||
SEC
|
SEC
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
;;Screen print. Draws a pixel at a specified position.
|
;;Screen print. Draws a pixel at a specified position.
|
||||||
;; Destroys A X Y
|
;; 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;; Draws a pixel at [Y = FB , X = FC, FD]. Y = 0 - 320, X= 0 - 200
|
||||||
.include "mem.inc"
|
.include "mem.inc"
|
||||||
Bitmap = $4000
|
Bitmap = $4000
|
||||||
Bitmap_end = $5F3F
|
Bitmap_end = $5F3F
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;; Takes in a PETSKI-code in CODE
|
;; Takes in a PETSKI-code in CODE
|
||||||
;; And prints it ON X_pos, Y_pos
|
;; And prints it ON X_pos, Y_pos
|
||||||
;; Note that this is the real positions divided by 8
|
;; Note that this is the real positions divided by 8
|
||||||
.proc char_draw
|
.proc char_draw; user-procedure :clobbers (A Y) :clobbers-arguments (0 3)
|
||||||
Character_generator_ROM = $D000
|
Character_generator_ROM = $D000
|
||||||
Y_pos_offset = $F9 ; 16-bit value (uses F8), reuses from Y_pos
|
Y_pos_offset = $F9 ; 16-bit value (uses F8), reuses from Y_pos
|
||||||
X_pos_offset = $FA ; 16-bit value (uses F7)
|
X_pos_offset = $FA ; 16-bit value (uses F7)
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
STA Y_pos
|
STA Y_pos
|
||||||
|
|
||||||
;;Do arithimatic to know where to read and write bytes.
|
;;Do arithimatic to know where to read and write bytes.
|
||||||
initial:
|
initial:
|
||||||
;We first need to clear some memory
|
;We first need to clear some memory
|
||||||
LDA #$00
|
LDA #$00
|
||||||
STA petski_position + 1
|
STA petski_position + 1
|
||||||
|
|
|
@ -17,7 +17,7 @@ BC = $E3
|
||||||
V_l = $E2 ;16-bit value (uses E3)
|
V_l = $E2 ;16-bit value (uses E3)
|
||||||
V_r = $E0 ;16-bit value (used E1)
|
V_r = $E0 ;16-bit value (used E1)
|
||||||
dy_2_l = $DE ;16-bit value (used DF)
|
dy_2_l = $DE ;16-bit value (used DF)
|
||||||
dy_2_l = $DC ;16-bit value (used DD)
|
dy_2_r = $DC ;16-bit value (used DD)
|
||||||
D_l = $DA ;16-bit value (uses DB)
|
D_l = $DA ;16-bit value (uses DB)
|
||||||
D_r = $D8 ;16-bit value (uses D9)
|
D_r = $D8 ;16-bit value (uses D9)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
|
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
|
||||||
|
|
||||||
;; Subroutine for drawing a filld triangle.
|
;; Subroutine for drawing a filld triangle.
|
||||||
.proc triangle
|
.proc triangle; user-procedure :clobbers (A X Y) :clobbers-arguments 6
|
||||||
;; It takes in values from A_X, A_Y, B_X, B_Y C_X, C_Y, see triangle.inc
|
;; It takes in values from A_X, A_Y, B_X, B_Y C_X, C_Y, see triangle.inc
|
||||||
.include "triangle.inc"
|
.include "triangle.inc"
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@ killall x64sc
|
||||||
|
|
||||||
#Note that program start at $080D
|
#Note that program start at $080D
|
||||||
cl65 -o file.prg -u __EXEHDR__ -t c64 -C c64-asm.cfg -l file.list source.s \
|
cl65 -o file.prg -u __EXEHDR__ -t c64 -C c64-asm.cfg -l file.list source.s \
|
||||||
&& nohup flatpak run net.sf.VICE -windowypos 0 -windowxpos 960 -windowwidth 945 -windowheight 720 file.prg </dev/null &>/dev/null &
|
#&& nohup flatpak run net.sf.VICE -windowypos 0 -windowxpos 960 -windowwidth 945 -windowheight 720 file.prg </dev/null &>/dev/null &
|
||||||
|
|
||||||
sleep 2
|
sleep 2
|
||||||
rm source.o
|
rm source.o
|
||||||
rm file.prg
|
#rm file.prg
|
||||||
|
|
|
@ -6,9 +6,10 @@
|
||||||
.include "routines/memory/mem.inc"
|
.include "routines/memory/mem.inc"
|
||||||
;;Code to run
|
;;Code to run
|
||||||
.include "STARTUP.s"
|
.include "STARTUP.s"
|
||||||
;.include "routines/line/line_test.s"
|
.include "dubbel_buffer/raster_irqs.s"
|
||||||
|
.include "routines/line/line_test.s"
|
||||||
;.include "routines/memory/memcpy_test.s"
|
;.include "routines/memory/memcpy_test.s"
|
||||||
.include "routines/triangle/triangle_test.s"
|
;.include "routines/triangle/triangle_test.s"
|
||||||
exit:
|
exit:
|
||||||
JMP exit
|
JMP exit
|
||||||
.include "routines/line/line.s"
|
.include "routines/line/line.s"
|
||||||
|
|
Loading…
Add table
Reference in a new issue