english comments
This commit is contained in:
38
main.asm
38
main.asm
@@ -1,6 +1,6 @@
|
|||||||
; -----------------------------------------------------------
|
; -----------------------------------------------------------
|
||||||
; main.asm - C64 demo: szoveg kiiratas + keret villogtatas
|
; main.asm - C64 demo: text output + border flashing
|
||||||
; Forditas: acme -f cbm -o main.prg main.asm
|
; Build: acme -f cbm -o main.prg main.asm
|
||||||
; -----------------------------------------------------------
|
; -----------------------------------------------------------
|
||||||
|
|
||||||
!to "main.prg", cbm
|
!to "main.prg", cbm
|
||||||
@@ -8,43 +8,43 @@
|
|||||||
* = $0801
|
* = $0801
|
||||||
|
|
||||||
; ---- BASIC stub: 10 SYS 2064 ----
|
; ---- BASIC stub: 10 SYS 2064 ----
|
||||||
; igy a LOAD"*",8,1 utan eleg RUN-t irni
|
; so after LOAD"*",8,1 it's enough to type RUN
|
||||||
!byte $0c, $08 ; kovetkezo sor cime
|
!byte $0c, $08 ; address of next line
|
||||||
!byte $0a, $00 ; sorszam: 10
|
!byte $0a, $00 ; line number: 10
|
||||||
!byte $9e ; SYS token
|
!byte $9e ; SYS token
|
||||||
!byte $20, $32, $30, $36, $34 ; " 2064"
|
!byte $20, $32, $30, $36, $34 ; " 2064"
|
||||||
!byte $00 ; sor vege
|
!byte $00 ; end of line
|
||||||
!byte $00, $00 ; program vege
|
!byte $00, $00 ; end of program
|
||||||
|
|
||||||
* = $0810 ; = 2064 decimalisan
|
* = $0810 ; = 2064 in decimal
|
||||||
|
|
||||||
; ---- KERNAL rutinok ----
|
; ---- KERNAL routines ----
|
||||||
CHROUT = $ffd2 ; karakter kiiras
|
CHROUT = $ffd2 ; character output
|
||||||
BORDER = $d020 ; keret szin regiszter
|
BORDER = $d020 ; border color register
|
||||||
BG = $d021 ; hatter szin regiszter
|
BG = $d021 ; background color register
|
||||||
|
|
||||||
start:
|
start:
|
||||||
lda #14 ; vilagoskek hatter
|
lda #14 ; light blue background
|
||||||
sta BG
|
sta BG
|
||||||
lda #6 ; sotetkek keret
|
lda #6 ; dark blue border
|
||||||
sta BORDER
|
sta BORDER
|
||||||
|
|
||||||
lda #$93 ; CLR/HOME - kepernyo torles
|
lda #$93 ; CLR/HOME - clear screen
|
||||||
jsr CHROUT
|
jsr CHROUT
|
||||||
lda #$05 ; feher karakter szin
|
lda #$05 ; white text color
|
||||||
jsr CHROUT
|
jsr CHROUT
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
print_loop:
|
print_loop:
|
||||||
lda message,x
|
lda message,x
|
||||||
beq color_loop ; ha 0 -> kesz a szoveg
|
beq color_loop ; if 0 -> text done
|
||||||
jsr CHROUT
|
jsr CHROUT
|
||||||
inx
|
inx
|
||||||
jmp print_loop
|
jmp print_loop
|
||||||
|
|
||||||
; vegtelen szinvillogtato
|
; infinite color flasher
|
||||||
color_loop:
|
color_loop:
|
||||||
inc BORDER ; novelje a keret szinet
|
inc BORDER ; increment border color
|
||||||
ldy #0
|
ldy #0
|
||||||
delay_outer:
|
delay_outer:
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|||||||
Reference in New Issue
Block a user