mirror of
https://github.com/erkyrath/infocom-zcode-terps.git
synced 2026-02-12 19:07:45 +00:00
Initial commit.
This commit is contained in:
161
atari/cold.dip
Normal file
161
atari/cold.dip
Normal file
@@ -0,0 +1,161 @@
|
||||
PAGE
|
||||
SBTTL "--- MACHINE COLDSTART: ATARI ---"
|
||||
|
||||
ORG GRIP
|
||||
|
||||
; -----------------
|
||||
; ATARI BOOT HEADER
|
||||
; -----------------
|
||||
|
||||
DB 0 ; FLAG BYTE (IGNORED)
|
||||
DB 53 ; LOAD ALL OF TRACKS 0, 1 AND 2
|
||||
DW GRIP ; WHERE TO LOAD THE SECTORS
|
||||
DW DUMMY ; POINT TO INIT SUBROUTINE
|
||||
|
||||
; --------------
|
||||
; BOOT COLDSTART
|
||||
; --------------
|
||||
|
||||
LDA #LOW COLD ; POINT [DOSVEC] TO
|
||||
STA DOSVEC+LO ; THE COLDSTART ROUTINE
|
||||
LDA #HIGH COLD
|
||||
STA DOSVEC+HI
|
||||
|
||||
DUMMY: LDA #$FF ; DISABLE BASIC ROM
|
||||
STA PORTB ; IN XL-SERIES MACHINES
|
||||
CLC ; SUCCESS FLAG
|
||||
RTS
|
||||
|
||||
; -------------
|
||||
; DISPLAY LISTS
|
||||
; -------------
|
||||
|
||||
; LIST 1: SCREEN W/STATUS LINE
|
||||
|
||||
DL1: DB $70,$70,$60 ; 23 BLANK LINES
|
||||
DB $42 ; TEXT LINE W/LMS
|
||||
DW TEXT ; ADDRESS OF TEXT LINE
|
||||
DB $02 ; A SECOND LINE OF TEXT
|
||||
DB $01 ; JUMP INSTRUCTION
|
||||
DW DL2A ; INTO DL2
|
||||
|
||||
; LIST 2: SCREEN W/O STATUS LINE (NORMAL)
|
||||
|
||||
DL2: DB $70,$70,$70 ; 24 BLANK LINES
|
||||
DB $4F ; 1 SCAN LINE W/LMS
|
||||
DW SCREEN ; ADDRESS OF SCREEN RAM
|
||||
DB $0F,$0F,$0F,$0F ; 7 MORE
|
||||
DB $0F,$0F,$0F ; SCAN LINES (0)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (2)
|
||||
|
||||
DL2A: DB $4F ; 1 SCAN LINE W/LMS
|
||||
DW SCREEN+640 ; ADDRESS OF 8TH SCAN LINE
|
||||
DB $0F,$0F,$0F,$0F ; 7 MORE
|
||||
DB $0F,$0F,$0F ; SCAN LINES (1)
|
||||
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (3)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (4)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (5)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (6)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (7)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (8)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (9)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (10)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (11)
|
||||
|
||||
DB $4F ; 1 SCAN LINE W/LMS
|
||||
DW SCREEN+3840 ; ADDRESS OF 96TH SCAN LINE
|
||||
DB $0F,$0F,$0F,$0F ; 7 MORE
|
||||
DB $0F,$0F,$0F ; SCAN LINES (12)
|
||||
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (13)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (14)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (15)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (16)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (17)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (18)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (19)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (20)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (21)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (22)
|
||||
DB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F ; (23)
|
||||
|
||||
DB $41 ; JUMP ON VERTICAL BLANK
|
||||
DLTOP: DW DL2 ; TO TOP OF D-LIST 2
|
||||
|
||||
; ---------
|
||||
; COLDSTART
|
||||
; ---------
|
||||
|
||||
COLD: CLD
|
||||
LDX #$FF ; RESET THE
|
||||
TXS ; HARDWARE STACK
|
||||
STX CH ; AND KEYBOARD REGISTER
|
||||
STX PORTB ; REMOVE BASIC ROM IN XL-SERIES MACHINES
|
||||
INX ; = 0
|
||||
STX DMACTL ; SHUT OFF
|
||||
STX SDMCTL ; ANTIC
|
||||
STX COLOR2 ; BLACK BACKGROUND
|
||||
STX COLDST ; COLDSTART OKAY
|
||||
STX AUDCTL ; CLEAR SOUND
|
||||
STX SOUNDR ; PREVENT I/O BEEPS
|
||||
INX ; = 1
|
||||
STX BOOT ; BOOT SUCCESSFUL
|
||||
|
||||
LDA #3
|
||||
STA SKCTL ; RESET SOUND
|
||||
|
||||
LDA #$70
|
||||
STA POKMSK ; DISABLE
|
||||
STA IRQEN ; THE BREAK KEY
|
||||
|
||||
LDA #14 ; WHITE
|
||||
STA COLOR1 ; GRAPHICS
|
||||
|
||||
; SET UP THE PLOT TABLES
|
||||
|
||||
LDA #LOW SCREEN ; ADDRESS OF SCAN LINE 0
|
||||
STA VLOWS ; HARD-WIRE THE 1ST POSITION
|
||||
STA I+LO ; ALSO INIT INDEX
|
||||
|
||||
LDA #HIGH SCREEN ; SAME FOR MSBS
|
||||
STA VHIGHS
|
||||
STA I+HI
|
||||
|
||||
LDX #1 ; START AT LINE 1
|
||||
PTCALC: LDA I+LO
|
||||
CLC
|
||||
ADC #40
|
||||
STA I+LO
|
||||
STA VLOWS,X
|
||||
LDA I+HI
|
||||
ADC #0
|
||||
STA I+HI
|
||||
STA VHIGHS,X
|
||||
INX
|
||||
CPX #192
|
||||
BNE PTCALC
|
||||
|
||||
LDA #$7F
|
||||
STA ARG1+LO
|
||||
STA ARG1+HI
|
||||
JSR GCLEAR ; CLEAR SCREEN TO BLACK
|
||||
|
||||
IF DEBUG
|
||||
JSR BUGNIT ; SET UP DEBUGGER
|
||||
ELSE
|
||||
LDA #LOW DL2 ; ELSE USE FULL-SCREEN
|
||||
STA SDLSTL+LO
|
||||
STA DLTOP+LO
|
||||
LDA #HIGH DL2
|
||||
STA SDLSTL+HI
|
||||
STA DLTOP+HI
|
||||
ENDIF
|
||||
|
||||
LDA #$22
|
||||
STA SDMCTL ; RESTORE ANTIC
|
||||
|
||||
; FALL THROUGH TO WARMSTART ...
|
||||
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user