the cutting room mirror

Miner 2049er (Apple II)

Miner 2049er has Bounty Bob trying to traverse through every tiny square meter in each mine, but this version also has loads of Apple logos.

Source Code Remnants#

To do:
Get the offsets from a legit disk copy.

Scattered throughout the disk are some source code remnants.

S       ;RETURN TO SYSTEM.
;
;-----------------------------
;
    IF  (* AND 00FFH)=0FFH
    DB  00
    ENDIF
:ACTION_PTR:    DW  0
;
; STATE TABLE
;
:ST_TABLE:
    DW  :ST0
    DW  :ST1
    DW  :ST2
    DW  :ST3
    DW  :ST4
    DW  :


         DY #OIACOUNT   ;SET DOT A COUNT TO 0
    LDA #0      ;TO MAKE SURE IT IS PLOTTED
    STA [:DOTPTR],Y ;ON BOTH SCREENS
    LDY #OISTATE
    LDA #2
    STA [ELVPTR],Y
:ST1EXIT:
    RTS
;
;------------------------------
;
;        - STATE 2 -
;
;------------------------------
;
:ST2:
    LDY #OIDETECT
    LDA #TRUE
    STA [BOBPTR],Y
    LDY #OIACOUNT
    LDA [:DOTPTR],Y
    BEQ :ST2DOTOK
    TAX
    DEX
    TXA
    STA [:DOTPTR],Y
    JMP :ST2EXIT
:ST2DOTOK:
    LDY #OIPLOT
    LDA #FALSE
    STA [:DOTPTR],Y
    LDA BOB_DEAD
    BNE :ST2HALT
    LDA HALT
    BNE :ST2HALT
    JMP :ST2NHLT
:ST2HALT:
    LDY #OIDETECL
                  73,79
    DB  122,126 ;#4
    DB  101,143
:LVL9:
    DB  5
    DB  128,132
    DB  39,44
    DB  114,118
    DB  66,71
    DB  122,126
    DB  93,98
    DB  110,114
    DB  120,125
    DB  126,130
    DB  147,167
:LVL10:
    DB  1
    DB  122,126
    DB  148,167
;
;
SLD


        DB  101,143
    DB  5
            32
    DB  39
                114,118
    DB  122,1
                93,98
    DB
    DB  120,
            126,130
                167

                :LVL1
                  VL1
    DW  :LVL2
    DW  :LVL3
    DW  :LVL4
    DW  :LVL5
    DW  :LVL6
    DW  :LVL7
    DW  :LVL8
    DW  :LVL9
    DW  :LVL10
:LVL1:
    DB  00
:LVL2:
    DB  7   ;NUMBER OF SLIDES
    DB  130,141 ;(X,Y) CAPTURE #1
    DB  -1,+1   ;(X,Y) VECTOR #1
    DB  46,102  ;#2
    DB  +1,+1


:ST2OK:
    STA [CANPTR],Y
    RTS
;


AY
    LDA PLATPTRS,Y
    STA PLTFPTR
    LDA PLATPTRS+1,Y
    STA PLTFPTR+1
    TXA
    PHA
    LDY #OIACT
    LDA [PLTFPTR],Y
    BEQ :NOTACTIVE
    JSR PLATFORM_STATE_MACHINE
:NOTACTIVE:
    PLA
    TAX
    INX
    CPX PLTS_SPAWNED
    BCC :NXTPLATFORM
    LDA HALT    ;IF HALT FLAG SET THEN
    BEQ :EXIT   ;CHECK TO SEE IF PLATFORM IS ACIVE
    LDX #00
:NXTCHK:
    TXA
    ASL A
    TAY
    LDA PLATPTRS,Y
    STA PLTFPTR
    LDA PLATPTRS+1,Y
    STA PLTFPTR+1
    LDY #OIACT
    LDA [PLTFPTR],Y
    BEQ :OK
    LDY #OIRDY
    LDA [PLTFPTR],Y
    BEQ :NOTRDY
:OK:
    INX
    CPX PLTS_SPAWNED
    BCC :NXTCHK
    LDA #TRUE
    STA LDM_READY
    LDA #00
    STA PLTS_SPAWNED
:NOTRDY:
:EXIT:
    RTS
;
:VIPTR: EQU PTR1
;
:INDVPTR: DW    0000H
;
:NOPLATFORMS: DB    00
;
;*****************************
;
PLTFPTR:    EQU PTR0
;
;*****************************
;PROCEDURE:PLATFORM_STATE_MACHINE
;INPUTS: PLTFPTR - PTR TO OIBLOCK
;OUTPUTS:NONE
;CALLS:
;DESTROYS:ALL
;DESCRIPTION: DOES PLATFORM LOGIC.
;
PLATFORM_STATE_MACHINE: PROC
    LDY #OIPRIOR
    LDA [PLTFPTR],Y
    TAX
    LDA PRIORITY_FLAGS,X
    BEQ :ALRIGHT
    RTS
:ALRIGHT:
    LDY #OIXVECT    ;GET PI PTR
    LDA [PLTFPTR],Y
    STA :VIPTR
    LDY #OIYVECT
    LDA [PLTFPTR],Y
    STA :VIPTR+1
    LDA HALT
    BEQ :NOHALT
    LDY #OIDETECT ;CHECK DETECTED FLAG
    LDA [PLTFPTR],Y
    BNE :NOHALT
    LDA #4
    LDY #OISTATE
    STA [PLTFPTR],Y
:NOHALT:
    LDY #OISTATE
    LDA [PLTFPTR],Y
    ASL A   ;STATE NO.
    TAX
    LDA :ST_TABLE,X
    STA :ACTION_PTR
    LDA :ST_TABLE+1,X
    STA :ACTION_PTR+1
    JMP [:ACTION_PTR] ;GOTO PROPER STATE
;
:VIPTR: EQU PTR1
;
;-----------------------------
;
;        - STATE 0 -
;
;--------------------------
;
:ST0:
    LDY #OIPLOT ;SET PLOT
    LDA #TRUE
    STA [PLTFPTR],Y
    LDY #OIFUNC ;SET DRAW
    LDA #FDRSHP
    STA [PLTFPTR],Y
    LDY #OISTINX ;SET AI TO PLATFORM POS
    LDA #00
    STA [PLTFPTR],Y
    LDY #VIXLOC
    LDA [:VIPTR],Y
    LDY #OINX   ;GET XPOS
    STA [PLTFPTR],Y
    LDY #VIYLOC
    LDA [:VIPTR],Y
    LDY #OINY
    STA [PLTFPTR],Y
    LDA #FALSE  ;RESET READY
    LDY #OIRDY
    STA [P


TITLE   'SIGNON LEVEL DATA MODULE (6)'
;******************************
;
; SIGNON LEVEL DATA MODULE
;
;******************************
;
; REVISION LOG:
;
; 06/09/82 - FILE CREATED
;
;*****************************
;
; JUMP'S:
;
LDM_INIT:
    DS  3
LDM_ENTRY:
    JMP RUN_LVL
;
;******************************
;
; DATA STRUCTURE'S:
;
LDMSTB:
    DW  MICROFUN_IMG    ; DS

References#


  1. GAMING: MINER 2049ER - Electronic Games, Volume 2, Number 1, April 1983↩︎
  2. THE HOTSEAT: MINER 2049ER - Arcade Express, Volume 1, Number 12, January 16, 1983↩︎