PAGE SBTTL "--- MACHINE COLDSTART: ATARI ---" ORG ZIP ; ----------------- ; ATARI BOOT HEADER ; ----------------- DB 0 ; FLAG BYTE (IGNORED) DB 56 ; LOAD 7K OF CODE DW ZIP ; 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 ; ------------------- ; CUSTOM DISPLAY LIST ; ------------------- DLIST: DB $70,$70,$50 ; 22 BLANK LINES DB $42 ; 1 TEXT LINE W/LMS DW SCREEN ; ADDR OF SCREEN RAM DB $10 ; 2 BLANK LINES DB $02,$02,$02,$02,$02,$02,$02 ; 7 TEXT LINES DB $02,$02,$02,$02,$02,$02,$02,$02 ; 8 TEXT LINES DB $02,$02,$02,$02,$02,$02,$02,$02 ; 8 TEXT LINES DB $41 ; JVB DW DLIST ; ADDR OF D-LIST SLD: DB "The story is loading ..." DB EOL SLDL EQU $-SLD ; --------- ; COLDSTART ; --------- COLD: CLD LDX #$FF ; RESET THE TXS ; HARDWARE STACK STX CH ; AND KEYBOARD REGISTER STX PORTB ; REMOVE BASIC ROM IN XL MACHINES INX ; = 0 STX COLDST ; COLDSTART OKAY STX AUDCTL ; CLEAR SOUND STX LMARGN ; NO LEFT MARGIN STX SCRIPT ; DISABLE SCRIPTING STX SFLAG ; DISABLE PREVIOS SCRIPT (BM 5/14/85) INX ; = 1 STX BOOT ; BOOT SUCCESSFUL STX GPRIOR ; MAXIMUM PMG PRIORITY STX CRSINH ; INHIBIT OS CURSOR LDA #3 STA SKCTL ; RESET SOUND STA GRACTL ; ENABLE PLAYERS & MISSILES LDA #$70 STA POKMSK ; DISABLE STA IRQEN ; THE BREAK KEY LDA #12 ; WHITE STA COLOR1 ; TEXT LDA #148 STA COLOR4 ; BLUE BORDER LDX #$11 ; CLEAR ALL PMG REGISTERS LDA #0 PMG0: STA HPOSP0,X DEX BPL PMG0 TAX ; [X] & [A] = 0 PMG1: STA MISSL,X ; CLEAR CURSOR RAM INX BNE PMG1 LDA #1 ; DOUBLE-WIDTH FOR STA SIZEM ; MISSILE #0 LDA #HIGH PLMRAM ; POINT TO LOCATION STA PMBASE ; OF PMG RAM LDA #LOW DLIST ; ENABLE STA SDLSTL+LO ; CUSTOM LDA #HIGH DLIST ; DISPLAY STA SDLSTL+HI ; LIST ; FALL THROUGH ... ; --------------- ; WARMSTART ENTRY ; --------------- WARM: JSR CLS ; CLEAR SCREEN LDA #8 ; POSITION CURSOR STA COLCRS+LO ; AT (8,0) LDA #0 STA ROWCRS LDX #LOW SLD LDA #HIGH SLD LDY #SLDL JSR SROOM ; "THE STORY IS LOADING ..." LDA #%00111110 ; ENABLE 1-LINE PMG, STANDARD FIELD STA SDMCTL ; RESTORE ANTIC ; FALL THROUGH TO ZIP WARMSTART ... END