;license:MIT ;(c) 2017-2018 by qkumba !cpu 6502 !to "build/ONBEYONDZ1",plain *=$3000 !macro version {!scrxor $80, "2/191025"} ;user-defined options verbose_info = 0 ;set to 1 to enable display of memory usage gamename=$2960 savename=$2990 scrpname=$29D0 ;unpacker variables, no need to change these src = $0 dst = $2 ecx = $4 last = $6 tmp = $8 ldy $2006 lda #'1' sta gamename,y lda #'Z' sta gamename-1,y lda #'V' sta savename+1,y lda #'A' sta savename,y lda #'S' sta savename-1,y lda #'G' sta scrpname+1,y lda #'O' sta scrpname,y lda #'L' sta scrpname-1,y dey dey - lda $2006,y sta gamename,y sta savename,y sta scrpname,y dey bpl - inc savename inc scrpname lda $306 eor $305 eor $304 eor $303 eor $302 eor $301 eor $300 eor #$a5 beq + ldx #0 stx $301 ;uppercase stx $303 ;no script stx $304 dex stx $302 ;no load + jsr $fe93 jsr $fc58 lda #$17 sta $25 lda #0 sta $24 sta $57b jsr $fc22 ldy #0 beq + - jsr $fdf0 iny + lda brandtext,y bne - lda #>pakoff sta src + 1 lda #casemap sta $1c7d + lda $303 beq + lda #print sta $1c40 lda #printer sta $1d95 lda $304 beq + lda #callbackprn1 sta $1d7d + ldx $302 inx beq + lda $1d7c sta loadcall1+1 lda $1d7d sta loadcall2+1 lda #callback1 sta $1d7d + lda #savefile sta $206a lda #loadfile sta $2103 lda #closefile sta $20eb sta $20f1 sta $2197 sta $219d lda #quit sta $1bc1 jsr closefile lda #$60 sta $7c ;! jmp $800 brandtext !scrxor $80, "ON BEYOND Z-MACHINE! REVISION " +version !byte 0 unrelochdd !pseudopc $2800 { clc adc #$c9 sta pro_op lda #0 sta ce_parms+2 lda $e2 sta ce_parms+3 lda $e3 sta ce_parms+4 lda $e5 sta ca_parms+3 - jsr $bf00 !byte $ce ;seek !word ce_parms bcc + jsr $bf00 !byte $d0 ;set EOF !word ce_parms bcc - + jsr $bf00 pro_op !byte $ca ;read file !word ca_parms bcs quit rts printer ldx $ed lda #$8d sta $200,x inx stx cb_parms+4 lda #printer sta $1c40 lda #