103 lines
1.7 KiB
Plaintext
103 lines
1.7 KiB
Plaintext
NLS
|
|
TTL "S:BOOT1"
|
|
ORG = $800
|
|
;
|
|
; Print Shop Companion
|
|
; $800 TS (0,0) Boot sector
|
|
;
|
|
; by Roland Gustafsson
|
|
;
|
|
SLOT EPZ $2B
|
|
;
|
|
SECTOR EPZ $50
|
|
;
|
|
; MONITOR routines:
|
|
;
|
|
TEXT EQU $FB2F
|
|
HOME EQU $FC58
|
|
NORMAL EQU $FE84
|
|
PR0 EQU $FE93
|
|
IN0 EQU $FE89
|
|
;
|
|
ORG ORG
|
|
OBJ $800
|
|
;
|
|
BYT 1
|
|
;
|
|
ENTRY LDA #$60
|
|
STA ENTRY
|
|
;
|
|
; Dazzle Draw leaves the alternate
|
|
; zero page on, so transfer it
|
|
; over to main zero page
|
|
;
|
|
LDX #0
|
|
^0 LDA $00,X
|
|
STA $1000,X
|
|
INX
|
|
BNE <0
|
|
STA $C008
|
|
^0 LDA $1000,X
|
|
STA $00,X
|
|
INX
|
|
BNE <0
|
|
;
|
|
LDA #$FF
|
|
STA $4FB
|
|
STA $3F3
|
|
STA $3F4
|
|
STA $C000
|
|
STA $C00C
|
|
STA $C00E
|
|
STA $C05F
|
|
STA $C081
|
|
JSR TEXT
|
|
JSR HOME
|
|
JSR NORMAL
|
|
JSR PR0
|
|
JSR IN0
|
|
LDA #20
|
|
STA $22
|
|
LDX SLOT
|
|
TXA
|
|
LSR
|
|
LSR
|
|
LSR
|
|
LSR
|
|
ORA #$C0
|
|
STA READSECT+2
|
|
LDA #$0F
|
|
STA SECTOR
|
|
;
|
|
; Now read in sectors
|
|
;
|
|
^0 LDY SECTOR
|
|
LDA SKEWTBL,Y
|
|
STA $3D
|
|
LDA SECTADDR,Y
|
|
BEQ >1
|
|
STA $27
|
|
READSECT JSR $005C
|
|
^1 DEC SECTOR
|
|
BNE <0
|
|
;
|
|
; Now load in next stage of boot
|
|
;
|
|
LDX $2B
|
|
JMP $4000
|
|
;
|
|
; Sector interleaving table
|
|
;
|
|
SKEWTBL HEX 000D0B0907050301
|
|
HEX 0E0C0A080604020F
|
|
;
|
|
; Address where to load sector
|
|
;
|
|
SECTADDR HEX 0040414243444510
|
|
HEX 1112131415161718
|
|
;
|
|
;
|
|
;
|
|
USR "O:BOOT1",ORG
|
|
END
|