2018-08-23 20:02:48 +00:00
|
|
|
!cpu 6502
|
|
|
|
!to "build/LAUNCHER.SYSTEM",plain
|
|
|
|
*=$2000
|
|
|
|
|
2018-08-26 19:33:32 +00:00
|
|
|
!source "src/constants.a"
|
|
|
|
!source "src/macros.a"
|
2018-08-29 19:27:30 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2018-08-27 19:39:08 +00:00
|
|
|
!source "src/memcheck.a"
|
|
|
|
!source "src/joystick.a"
|
|
|
|
!source "src/normfast.a"
|
2018-08-29 19:27:30 +00:00
|
|
|
!source "src/prorwts2.a"
|
2018-08-23 20:02:48 +00:00
|
|
|
|
2018-08-29 19:27:30 +00:00
|
|
|
FirstMover
|
|
|
|
!pseudopc $D000 {
|
|
|
|
!zone
|
2018-08-27 19:39:08 +00:00
|
|
|
Start
|
2018-08-29 19:27:30 +00:00
|
|
|
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 ; pointer to length-prefixed filename
|
|
|
|
sta namlo
|
|
|
|
lda #>cover64
|
|
|
|
sta namhi
|
|
|
|
jsr hddopendir ; call ProRWTS2
|
|
|
|
clc
|
|
|
|
bcc @Show
|
|
|
|
@ShowCover128K
|
|
|
|
inc auxreq ; 1 = read into aux memory
|
|
|
|
lda #<cover128 ; pointer to length-prefixed filename
|
|
|
|
sta namlo
|
|
|
|
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
|
2018-08-26 19:33:32 +00:00
|
|
|
bpl -
|
2018-08-29 19:27:30 +00:00
|
|
|
bit $C010
|
|
|
|
brk
|
2018-08-23 20:02:48 +00:00
|
|
|
|
2018-08-29 19:27:30 +00:00
|
|
|
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
|
2018-08-23 20:02:48 +00:00
|
|
|
|
|
|
|
;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
|