学生時代に書いた OS になったはずの起点のソースコードです。(その授業は一応合格できました。)
修訂 | 07f658df0080cf0c0a56e361fab7b2270c9d697e (tree) |
---|---|
時間 | 2013-07-08 12:03:27 |
作者 | Joel Matthew Rees <reiisi@user...> |
Commiter | Joel Matthew Rees |
2nd step: gettin a keyboard press into the video buffer.
@@ -1,55 +0,0 @@ | ||
1 | -00100 O LDU #$8000 | |
2 | -00110 LDS #$7800 | |
3 | -00120 KR EQU $FF00 | |
4 | -00130 KC EQU $FF02 | |
5 | -00140 LDA KC+1 | |
6 | -00150 ANDA #.NOT.4 | |
7 | -00160 STA KC+1 | |
8 | -00170 LDB #$FF | |
9 | -00180 STB KC | |
10 | -00190 ORA #4 | |
11 | -00200 STA KC+1 | |
12 | -00210 KLOOP LDA #7 | |
13 | -00212 BSR HOME | |
14 | -00215 LDB #$FF | |
15 | -00216 STB KC | |
16 | -00220 ANDCC #.NOT.1 | |
17 | -00230 KILOOP ROL KC | |
18 | -00250 LDB KR | |
19 | -00260 PSHU B | |
20 | -00270 BSR HXOUT | |
21 | -00271 LDB KC | |
22 | -00272 PSHU B | |
23 | -00273 BSR HXOUT | |
24 | -00280 DECA | |
25 | -00281 ORCC #1 | |
26 | -00290 BPL KILOOP | |
27 | -00300 BRA KLOOP | |
28 | -00310 * | |
29 | -00320 HOME PSHS A,B | |
30 | -00330 LDD #$400 | |
31 | -00340 STD $88 | |
32 | -00350 PULS A,B,PC | |
33 | -00360 * | |
34 | -00370 HXOUT PSHS A | |
35 | -00380 LDA ,U | |
36 | -00390 LSRA | |
37 | -00400 ASRA | |
38 | -00410 ASRA | |
39 | -00420 ASRA | |
40 | -00430 BSR DIGOUT | |
41 | -00440 LDA ,U+ | |
42 | -00450 ANDA #$F | |
43 | -00460 BSR DIGOUT | |
44 | -00465 LDA #' | |
45 | -00466 JSR [$A002] | |
46 | -00470 PULS A,PC | |
47 | -00480 * | |
48 | -00490 DIGOUT CMPA #9 | |
49 | -00510 BLS HXODEC | |
50 | -00520 ADDA #'A-'9-1 | |
51 | -00530 HXODEC ADDA #'0 | |
52 | -00540 JSR [$A002] | |
53 | -00550 RTS | |
54 | -00560 END | |
55 | - | |
\ No newline at end of file |
@@ -0,0 +1,97 @@ | ||
1 | +00100 KR EQU $FF00 | |
2 | +00110 KC EQU $FF02 | |
3 | +00120 VSAVE RMB 2 | |
4 | +00130 IRQV EQU $10C | |
5 | +00140 COUNT FCB 0 | |
6 | +00150 OLDKEY FCB 0 | |
7 | +00160 FLAG FCB $80 | |
8 | +00200 O LDU #$8000 | |
9 | +00210 LDS #$7800 | |
10 | +00220 LDA KC+1 | |
11 | +00230 ANDA #.NOT.4 | |
12 | +00240 STA KC+1 | |
13 | +00250 LDB #$FF | |
14 | +00260 STB KC | |
15 | +00270 ORA #4 | |
16 | +00280 STA KC+1 | |
17 | +00290 LDB #$BF | |
18 | +00295 STB KC | |
19 | +00300 LDD IRQV+1 | |
20 | +00310 STD VSAVE | |
21 | +00315 ORCC #$10 | |
22 | +00320 LDD #CKEY | |
23 | +00330 STD IRQV+1 | |
24 | +00340 LDB KC+1 | |
25 | +00350 ANDB #$FD | |
26 | +00360 ORB #1 | |
27 | +00370 TST KC | |
28 | +00380 STB KC+1 | |
29 | +00390 KTIME CWAI #$EF | |
30 | +00400 LDB COUNT | |
31 | +00410 BEQ KTIME | |
32 | +00420 LBSR HOME | |
33 | +00430 PSHU B | |
34 | +00440 LBSR HXOUT | |
35 | +00442 LDA FLAG | |
36 | +00444 JSR [$A002] | |
37 | +00446 INCA | |
38 | +00448 STA FLAG | |
39 | +00450 BRA KTIME | |
40 | +00460 * | |
41 | +00470 CKEY LDA KR | |
42 | +00475 CMPA #$FF | |
43 | +00480 BEQ CKEY0 | |
44 | +00490 CMPA OLDKEY | |
45 | +00495 BEQ CKEYLD | |
46 | +00500 STA OLDKEY | |
47 | +00505 BRA CKEY0 | |
48 | +00510 CKEYLD INC COUNT | |
49 | +00515 BRA CKEYBK | |
50 | +00520 CKEY0 CLR COUNT | |
51 | +00525 CKEYBK TST KC | |
52 | +00530 RTI | |
53 | +00535 * | |
54 | +01110 KLOOP LDA #7 | |
55 | +01120 BSR HOME | |
56 | +01130 LDB #$FF | |
57 | +01140 STB KC | |
58 | +01150 ANDCC #.NOT.1 | |
59 | +01160 KILOOP ROL KC | |
60 | +01170 LDB KR | |
61 | +01180 PSHU B | |
62 | +01190 BSR HXOUT | |
63 | +01200 LDB KC | |
64 | +01210 PSHU B | |
65 | +01220 BSR HXOUT | |
66 | +01230 DECA | |
67 | +01240 ORCC #1 | |
68 | +01250 BPL KILOOP | |
69 | +01260 BRA KLOOP | |
70 | +01270 * | |
71 | +01280 HOME PSHS A,B | |
72 | +01290 LDD #$400 | |
73 | +01300 STD $88 | |
74 | +01310 PULS A,B,PC | |
75 | +01320 * | |
76 | +01330 HXOUT PSHS A | |
77 | +01340 LDA ,U | |
78 | +01350 LSRA | |
79 | +01360 ASRA | |
80 | +01370 ASRA | |
81 | +01380 ASRA | |
82 | +01390 BSR DIGOUT | |
83 | +01400 LDA ,U+ | |
84 | +01410 ANDA #$F | |
85 | +01420 BSR DIGOUT | |
86 | +01430 LDA #' | |
87 | +01440 JSR [$A002] | |
88 | +01450 PULS A,PC | |
89 | +01460 * | |
90 | +01470 DIGOUT CMPA #9 | |
91 | +01480 BLS HXODEC | |
92 | +01490 ADDA #'A-'9-1 | |
93 | +01500 HXODEC ADDA #'0 | |
94 | +01510 JSR [$A002] | |
95 | +01520 RTS | |
96 | +01530 END | |
97 | + | |
\ No newline at end of file |