



       NAM OFFSET LOAD
*      REV 4/2/76 LAG
*      MIK ADAPTION
*      POSITIVE OFFSET (MSB HEX) IN A014 (OR 00)
*      NEGATIVE OFFSET (MSB HEX) IN A015 (OR 00)
*
*      MIKBUG EQUATES
*
BYTE   EQU $E055
BYTECT EQU $A00B
CKSM   EQU $A00A
CONTRL EQU $E0E3
INEEE  EQU $E1AC
NEGOFF EQU $A015
OUTEEE EQU $E101
POSOFF EQU $A014

PIASB  EQU $8007 PIA
       ORG $0200 PROG START

LOADO  LDA A #$3C
       STA A PIASB READER ON
       LDA A #@21
       JSR OUTEEE OUTPUT CHAR
LOADA  JSR INEEE INPUT CHAR
       CMP A #'S
       BNE LOADA 1ST CHAR NOT "S"
       JSR INEEE
       CMP A #'9
       BEQ LOADD 2ND CHAR "9"
       CMP A #'1
       BNE LOADA 2ND CHAR NOT "1"
       CLR CKSM ZERO CHECKSUM
       JSR BYTE READ 2 FRAMES
       SUB A #2
       STA A BYTECT SET BYTE COUNT
       JSR BYTE READ 2 FRAMES
       ADD A POSOFF ADD + OFFSET
       SUB A NEGOFF SUB - OFFSET
       STA A X HI
LOADB  JSR BYTE READ 2 FRAMES
       STA A X LOW
       LDX X HI (X) OFFSET "NEW" ADDRESS
       JSR BYTE READ 2 FRAMES
       DEC BYTECT DECREMENT BYTE COUNT
       BEQ LOADC ZERO BYTE COUNT
       STA A X STORE INPUT DATA
       INX
       BRA LOADB
LOADC  INC CKSM INCREMENT CHECKSUM
       BEQ LOADA CHECKSUM OK
       LDA A #'? CHECKSUM ERROR
       JSR OUTEEE PRINT QUESTION MARK
LOADD  JMP CONTRL MIKBUG CONTROL

       END
       STX $0
       DES
       TSX
       CLR $0,X
       COM $0,X
BA1    LDX $04
       STX $06
       JSR $FFAF
       STAA $02
       LDAA $07
       PSHA
       LDAA $02
       TSTA
       BNE BA1
       TSTB
       BNE BA1
       LDX $00
BA5    PULA
       TSTA
       BPL BA3
       RTS
BA3    CMPA #09
       BLE BA4
       ADDA #07
BA4    ADDA #30
       STAA $00,X
       INX 
       BRA BA5
       LDX #0010 SETUP BASE (=16)
       STX $04
       LDAB #00 SETUP CONSTANT TO CONVERT
       LDAA #38
       LDX #0900 POINT TO OUTPUT AREA
       JSR $0800 BINARY TO ASCII
       BRA * END
       END
