comparison game09/game09.asm @ 112:348d062ee8de

game09 load command
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 31 Dec 2018 21:26:53 +0900
parents 82d03e816deb
children a8b7dfc1baf5
comparison
equal deleted inserted replaced
111:c4e909f21b25 112:348d062ee8de
27 DP48 equ $48 """ 27 DP48 equ $48 """
28 DP4A equ $4A "#" next line no 28 DP4A equ $4A "#" next line no
29 DP4B equ $4B 29 DP4B equ $4B
30 DP4E equ $4E "%" 30 DP4E equ $4E "%"
31 DP4F equ $4F 31 DP4F equ $4F
32 DP50 equ $50 "&" program top 32 DP50 equ $50 "&" program end
33 DP52 equ $52 33 DP52 equ $52
34 DP58 equ $58 program max 34 DP58 equ $58 program max
35 DP7C equ $7C "=" program current end 35 DP7C equ $7C
36 DP7E equ $7E program current end 36 DP7E equ $7E "=" program top
37 DP82 equ $82 "@" 37 DP82 equ $82 "@"
38 DP83 equ $83 38 DP83 equ $83
39 DP84 equ $84 39 DP84 equ $84
40 DP86 equ $86 input line (except lineno) 40 DP86 equ $86 input line (except lineno)
41 DP88 equ $88 41 DP88 equ $88
52 lineb9a rmb 2 $9E 52 lineb9a rmb 2 $9E
53 lineb9b rmb 2 $A0 53 lineb9b rmb 2 $A0
54 lineend rmb 2 $A2 54 lineend rmb 2 $A2
55 ustack rmb 128 55 ustack rmb 128
56 linebuf rmb 252 56 linebuf rmb 252
57 program rmb $2000 57 program rmb $8000
58 size equ . 58 size equ .
59 59
60 name fcs "Game09" 60 name fcs "Game09"
61 fcb edition 61 fcb edition
62 coldstart 62 coldstart
667 CLR +$03,X 667 CLR +$03,X
668 LC494 LEAX +$03,X 668 LC494 LEAX +$03,X
669 CLR <$8C 669 CLR <$8C
670 LBSR LC373 670 LBSR LC373
671 BCS LC4A0 671 BCS LC4A0
672 LDD #LC3E8 672 LDD #1000
673 LC4A0 STD <$88 673 LC4A0 STD <$88
674 LDB ,X 674 LDB ,X
675 CMPB #$2C 675 CMPB #$2C
676 BNE LC4AF 676 BNE LC4AF
677 LEAX +$01,X 677 LEAX +$01,X
924 BEQ LC69A 924 BEQ LC69A
925 LDA ,-X 925 LDA ,-X
926 STX +$03,S 926 STX +$03,S
927 LC6A2 BITA #$DF 927 LC6A2 BITA #$DF
928 BEQ LC6B0 928 BEQ LC6B0
929 CMPA #$2C 929 CMPA #$2C ,
930 BEQ LC6AE 930 BEQ LC6AE
931 BSR LC6C9 931 CMPA #$22 "
932 BNE LCXXX
933 leax 1,x
934 PSHS X
935 LDA #$22
936 LXX1 tst ,x
937 beq LXX2
938 cmpa ,x+
939 bne LXX1
940 clr -1,x
941 leax 1,x
942 LXX2 PULS D
943 BRA LC6B3
944 LCXXX BSR LC6C9
932 BRA LC6B3 945 BRA LC6B3
933 LC6AE LEAX +$01,X 946 LC6AE LEAX +$01,X
934 LC6B0 LDD #$FFFF 947 LC6B0 LDD #$FFFF
935 LC6B3 PSHU B,A 948 LC6B3 PSHU B,A
936 LDA ,X 949 LDA ,X
1007 ************************** 1020 **************************
1008 OPCMD FCB 'A','T',2 START LINE,STEP 1021 OPCMD FCB 'A','T',2 START LINE,STEP
1009 FDB CAUTO-* 1022 FDB CAUTO-*
1010 FCB 'R','N',3 RENUM first line no,inc,renum start 1023 FCB 'R','N',3 RENUM first line no,inc,renum start
1011 FDB RENUM-* 1024 FDB RENUM-*
1025 FCB 'L','D',1 load file-name
1026 FDB pload-*
1012 * FCB 'R','D',3 DISK READ address,track,sector 1027 * FCB 'R','D',3 DISK READ address,track,sector
1013 * FDB GETDK-* 1028 * FDB GETDK-*
1014 * FCB 'W','R',3 DISK WRITE 1029 * FCB 'W','R',3 DISK WRITE
1015 * FDB PUTDK-* 1030 * FDB PUTDK-*
1016 FCB 'S','Y',0 TO SYSTEM 1031 FCB 'S','Y',0 TO SYSTEM
1028 LDD ,U++ 1043 LDD ,U++
1029 BPL LC770 1044 BPL LC770
1030 LDD #$00A 1045 LDD #$00A
1031 LC770 LDY ,U++ 1046 LC770 LDY ,U++
1032 BPL LC779 1047 BPL LC779
1033 LDY #LC3E8 1048 LDY #1000
1034 LC779 STY ,X++ 1049 LC779 STY ,X++
1035 LBSR LC173 1050 LBSR LC173
1036 LEAY D,Y 1051 LEAY D,Y
1037 LC781 TST ,X+ 1052 LC781 TST ,X+
1038 BNE LC781 1053 BNE LC781
1045 LDD #$00A 1060 LDD #$00A
1046 LC791 STD <$8A 1061 LC791 STD <$8A
1047 LDD ,U 1062 LDD ,U
1048 BEQ LC79E 1063 BEQ LC79E
1049 BPL LC79C 1064 BPL LC79C
1050 LDD #LC3E8 1065 LDD #1000
1051 LC79C STD <$88 1066 LC79C STD <$88
1052 LC79E CLR <$8C 1067 LC79E CLR <$8C
1053 RTS 1068 RTS
1054 BSR LC7B6 1069 BSR LC7B6
1055 * LBSR LCD09 1070 * LBSR LCD09
1066 LDB +$01,U 1081 LDB +$01,U
1067 RTS 1082 RTS
1068 SYSTEM clrb 1083 SYSTEM clrb
1069 os9 F$Exit 1084 os9 F$Exit
1070 rts 1085 rts
1086
1087 pload pshs a,x,y
1088 ldx ,u
1089 lda #1
1090 os9 I$Open
1091 bcs ploaderr
1092 sta ,s
1093 ploadloop
1094 lda ,s
1095 ldx <DPWORK
1096 leax linebuf,x
1097 ldy #252
1098 os9 I$ReadLn
1099 bcs ploaderr
1100 lbsr LC373
1101 bcc ploadloop
1102 ldy <$50
1103 std ,y++
1104 lda ,x+
1105 cmpa #$20
1106 bne ploaderr
1107 pl01 lda ,x+
1108 beq pl02
1109 cmpa #$d
1110 beq pl02
1111 cmpa #$a
1112 beq pl02
1113 sta ,y+
1114 bra pl01
1115 pl02 clra
1116 sta ,y+
1117 ldd #-1
1118 std ,y
1119 sty <$50
1120 bra ploadloop
1121 ploaderr
1122 lda ,s
1123 os9 I$Close
1124 puls a,x,y
1125 lbra warmst
1126
1071 emod 1127 emod
1072 eom equ * 1128 eom equ *
1073 end 1129 end