Mercurial > hg > Members > kono > os9 > sbc09
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 |