Apple II manual LOADK5 LDX

Models: II

1 257
Download 257 pages 49.17 Kb
Page 151
Image 151

0666

E35F 20

BD ED

 

JSR

ADDBK1

;JUST OUTPUT BLK CNT

0667

E362

A2

01

 

 

LDX

#1

;RESTORE X

0668

E364

 

 

 

;CHECK IF FILE IS CORRECT

0669

E364

BD

16

01

LOADT2 LDA TABUFF,X

;NOW CHCK FILE NAME

0670

E367

DD

2D

A4

 

CMP

NAME-1,X

 

0671

E36A D0

C3

 

 

BNE

LOADTA

;IF NO FILENAME GET

0672

E36C E8

 

 

 

INX

 

;ANOTHER BLOCK

0673

E36D E0

06

 

 

CPX

#6

;FILENAME=5 CHRS

0674

E36F D0

F3

 

 

BNE

LOADT2

 

0675

E371

8E

36

A4

 

STX

TAPTR

;SAVE TAPE BUFF PTR

0676

E374

EE

11

A4

 

INC

PRIFLG

;OUTPUT MSG ONLY TO DISPLAY

0677

E377

A9

00

 

 

LDA

#0

;CLEAR DISPLAY POINTER

0678

E379

8D

15

A4

 

STA

CURPO2

 

0679

E37C A0

66

 

 

LDY

#TMSG7-M1

;PRINT "LOAD " WITHOUT CLR DISPL

0680

E37E 20

96

E3

 

JSR

CKER1

 

0681

E381

CE

11

A4

 

DEC

PRIFLG

 

0682

E384

60

 

 

 

RTS

 

 

0683

E385

 

 

 

 

 

 

 

0684

E385

 

 

 

;LINE CKSUM ERROR

 

0685

E385

20

8E

E3

CKERR

JSR CKER0

;SUBR SO MNEM ENTRY CAN USE IT

0686

E388

20

DB E2

 

JSR WRITAZ

;WRITE ADDR

0687

E38B 4C

A1

E1

 

JMP

COMIN

 

0688

E38E 20

FE E8

CKER0

JSR

LL

;SET DEFAULT DEVICES

0689

E391

20

24

EA

 

JSR

CRCK

;<CR>

0690

E394

A0

52

 

CKER00 LDY

#TMSG3-M1

;PRINT "ERROR"

0691

E396

B9

00

E0

CKER1

LDA

M1,Y

;DONT CLR DISPLAY TO THE RIGHT

0692

E399

C9

3B

 

 

CMP

#SEMICOLON

 

0693

E39B F0

06

 

 

BEQ

CKER2

 

0694

E39D 20

7A

E9

 

JSR OUTPUT

;ONLY TO TERMINAL

0695

E3A0 C8

 

 

 

INY

 

 

0696

E3A1 D0

F3

 

 

BNE

CKER1

 

0697

E3A3 60

 

 

CKER2

RTS

 

 

0698

E3A4

 

 

 

 

 

 

 

0699

E3A4

 

 

 

;LOAD ROUTINE FROM TAPE WITH KIM-1 FORMAT

0700

E3A4 20

4D

EB

LOADKI JSR CLRCK

;CLEAR CKSUM

0701

E3A7 20

EA ED

LOADK1 JSR TAISET

;SET TAPE FOR INPUT

0702

E3AA 20

29

EE

LOADK2 JSR GETTAP

;READ CHARACTER FROM TAPE

0703

E3AD C9

2A

 

 

CMP #'*'

;BEGINNING OF FILE?

0704

E3AF F0

06

 

 

BEQ LOADK3

;YES,BRNCH

0705

E3B1 C9

16

 

 

CMP #$16

;IF NOT * SHOULD BE SYN

0706

E3B3 D0

F2

 

 

BNE

LOADK1

 

0707

E3B5 F0

F3

 

 

BEQ

LOADK2

 

0708

E3B7 20

FD E3

LOADK3 JSR

RBYTE

;READ ID FROM TAPE

0709

E3BA 8D

21

A4

 

STA SAVA

;SAVE ID

0710

E3BD

 

 

 

;NOW GET ADDR TO DISPLAY

0711

E3BD

 

 

 

;& COMPARE

ID AFTERWARDS

0712

E3BD 20

4B

E5

 

JSR

CHEKAR

;GET START ADDR LOW

0713

E3C0 8D

1C

A4

 

STA

ADDR

 

0714

E3C3 20

4B

E5

 

JSR

CHEKAR

;GET START ADDR HIGH

0715

E3C6 8D

1D

A4

 

STA

ADDR+1

 

0716

E3C9 20

25

E4

 

JSR

GETID

;ID FROM HIM

0717

E3CC CD

21

A4

 

CMP

SAVA

;DO IDS MATCH?

0718

E3CF D0

D3

 

 

BNE

LOADKI

;NO ,GET ANOTHER FILE

0719

E3D1 A2

02

 

LOADK5 LDX

#$02

;GET 2 CHARS

0720

E3D3 20

29

EE

LOADK6 JSR

GETTAP

;1 CHAR FROM TAPE

0721

E3D6 C9

2F

 

 

CMP

#'/'

;LAST CHAR ?

0722

E3D8 F0

0E

 

 

BEQ

LOADK7

;YES,BRNCH

0723

E3DA 20

84

EA

 

JSR

PACK

;CONVERT TO HEX

0724

E3DD B0

A6

 

 

BCS CKERR

;NOT HEX CHAR SO ERROR

0725

E3DF CA

 

 

 

DEX

 

 

0726

E3E0 D0

F1

 

 

BNE

LOADK6

 

0727

E3E2 20

13

E4

 

JSR

STBYTE

;STORE & CHCK MEM FAIL

 

 

 

 

 

 

 

 

 

Page 151
Image 151
Apple II manual LOADK5 LDX