!cpu 6502 !to "build/LAUNCHER.SYSTEM",plain *=$2000 !source "src/constants.a" !source "src/macros.a" jsr DisableAccelerator ; set to 1 MHz jsr Has128K ; check for 128K (64K is OK, we just filter out some games) ror MachineStatus jsr HasJoystick ; check for joystick (keyboard-only is OK, we just filter out some games) ror MachineStatus lda LCBANK1WRITE ; read ROM / write LC bank 1 lda LCBANK1WRITE ldx #$00 FM lda FirstMover,x sta $D000,x inx bne FM ; inc FM+2 ; inc FM+5 ; lda FM+5 ; cmp #>LastMover ; bcc FM jsr init ; initialize ProRWTS2 (bye bye ProDOS) lda LCBANK1 ; read/write LC bank 1 lda LCBANK1 jmp Start !source "src/memcheck.a" !source "src/joystick.a" !source "src/normfast.a" !source "src/prorwts2.a" FirstMover !pseudopc $D000 { !zone Start lda #$00 ; read first $2000 bytes sta sizelo lda #$20 sta sizehi lda #0 ; 0 = read into main memory sta auxreq lda #cmdread ; read (instead of write) sta reqcmd bit MachineStatus bvs @ShowCover128K lda #cover64 sta namhi jsr hddopendir ; call ProRWTS2 clc bcc @Show @ShowCover128K inc auxreq ; 1 = read into aux memory lda #cover128 sta namhi jsr hddopendir ; call ProRWTS2 lda #$20 ; read next $2000 bytes sta sizehi dec auxreq ; 0 = read into main memory jsr hddrdwrpart ; call ProRWTS2 sta $C000 ; display double hi-res page 1 sta $C00D sta $C05E sta $C001 @Show sta $C057 sta $C052 sta $C054 sta $C050 bit $C010 - lda $C000 bpl - bit $C010 brk cover64 !byte cover64_e-cover64_b cover64_b !text "COVER" cover64_e cover128 !byte cover128_e-cover128_b cover128_b !text "COVER.A2FC" cover128_e } LastMover ;LoadDHGR ; sta $C000 ; ldx #$20 ; copy $2000 bytes to auxmem ; stx @copya+2 ; stx @copyb+2 ; ldy #0 ;@writeToAuxLoop ; sta $C005 ;@copya lda $FF00, y ;@copyb sta $FF00, y ; iny ; bne @copya ; sta $C004 ; inc @copya+2 ; inc @copyb+2 ; dex ; bne @writeToAuxLoop