.feature c_comments .include "../../build/loadersymbols-c64.inc" CODE_START_ADDR = $e000 .segment "CODE" ZP=$e0 offset = ZP+0 ZX0_src = ZP+2 ZX0_dst = ZP+4 bitr = ZP+6 pntr = ZP+7 .org $080d jsr print_info copy_start: sei lda #$35 sta $01 lda #code sta ZX0_src+1 lda #CODE_START_ADDR jsr zx02 inc $01 cli jsr install sei dec $01 jmp CODE_START_ADDR .include "zx02.asm" check_return: ; for some reason GETIN enable interrupts back lda #0 sta $d01a asl $d019 lda #$36 sta $01 : jsr $ff9f ; SCNKEY jsr $ffe4 ; GETIN cmp #$0d bne :- dec $01 jmp CODE_START_ADDR .assert zx02 = $0832, error, .sprintf("change zx02 address to $%04x", zx02) .assert check_return = $08b8, error, .sprintf("change check_return address to $%04x", check_return) .res loadraw - * .incbin "../../build/loader-c64.prg", 2 .res install - * .incbin "../../build/install-c64.prg", 2 code: .incbin "main.zx0" print_info: lda #$20 ldx #0 : sta $400,x sta $500,x sta $600,x sta $700,x inx bne :- lda #41 sta ZX0_dst lda #4 sta ZX0_dst+1 lda #$17 sta $d018 ldy #0 @print_loop: lda info,x bne :++ lda ZX0_dst clc adc #40 sta ZX0_dst bcc :+ inc ZX0_dst+1 : ldy #0 beq :++ : sta (ZX0_dst),y iny : inx cpx #info_end-info bne @print_loop rts .macpack cbm info: scrcode "Code:" .byte 0 scrcode " Aart1256 - engine, music driver" .byte 0 scrcode " Natt - engine, tooling" .byte 0, 0 scrcode "C64 Graphics:" .byte 0 scrcode " Grongy" .byte 0 scrcode " Natt" .byte 0, 0 scrcode "Music arranges & ported graphics:" .byte 0 scrcode " Aleksa Odzakovic (spaztron64)" .byte 0, 0 scrcode "Greetz to:" .byte 0 scrcode " Gyabo" .byte 0 scrcode " Yosshin" .byte 0 scrcode " Hadohado" .byte 0 scrcode " Kazpulse" .byte 0 scrcode " Gam" info_end: