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