Last Updated on 2026年9月22日 by kabekin
こちらの改造で第二水準漢字がS1/30で扱えるようになったので通信ソフトでも第二水準漢字が扱えるものが欲しくなりました。
そこで、工学社のI/O誌 1985年11月号掲載のS1用漢字ターミナルソフトをAIの力を借りて第二水準漢字対応に改造しました。
(今回使用したのはClaude Codeのエージェントです GeminiからClaudeに乗り換えました^^;;;)
![]()
このTSYS-S1ターミナルは疑似400ライン表示で漢字が表示できるので1画面の情報量はPC-9801等の16ビット機とも遜色ない情報量です(^^)
長残像のC14-2190なのでインタレースでもちらつきなし、さらにMB-S1model20さんから頂いたのは前面フィルタ付きの2190Aなので最強です。
今回の改造で良い感じで第二水準漢字も表示できるようになったので、S1で最新ニュースなどを楽しめるように KKネット情報取得コントローラをGooole RSSニュース対応に改造しました。
以前のバージョンの@nifty RSSニュースは廃止しました(^^;;;
![]()
令和の時代に最新ニュースをS1で閲覧できる喜び(^^)
これでS1活用の場面も広がります(^^)
BASIC部はI/O誌85年11月号337ページのリストそのままで変更ありません。
338ページのTSYS-S1Mの機械語部分のみ下記に差替えました。
ほとんどの処理はTSYS-S1Mをそのまま流用し、コード変換部分にSasajiさんのDSPKANM4.asmの変換ロジックを参考にしたものを利用させて頂いています。
使用したアセンブラはいつものシステムロード製SASMアセンブラです。
機械語部分の全リストを貼ります
一応、期待した動作はしているようですがもっと良い改造法や改善した方がいい点などありましたらご指摘下さい。
Page 1 (26-09-20 20:51:59) TSYS-S1TB.asm
1: ; TSYS-S1TB.ASM
2: PAGE 999
3: ;
4: ;===========================================================================
5: ; I/O誌1985/11月号 P336~ TSYS-S1M の第二水準漢字表示対応改造 for SASM6809用
6: ; Version : 1.0.2
7: ; 参考:Sasajiさん DSPKANM4.asm
8: ;===========================================================================
9:
10: ; --- CONST
11: 0000' FF75 KANJIH EQU $FF75 ;第一水準漢字ROM I/O
12: 0000' FF72 KANJI2 EQU $FF72 ;第二水準漢字ROM I/O
13: 0000' FF74 KANJI_SEL EQU $FF74 ;第一/第二水準切替
14: 0000' 0012 KANJI_SEL_LV2 EQU $12 ;第二水準選択
15: 0000' C807 KJ_LEVEL2 EQU $C856 ;表示管理用ワーク
16:
17: C000' ORG $C000
18:
19: C000' E6 80 USR_ENTRY: LDB ,X+
20: C002' F7 C804 STB $C804
21: C005' AE 84 LDX ,X
22: C007' B6 C805 CHAR_LOOP: LDA $C805
23: C00A' 10 27 01D3 LBEQ CHAR_DISPATCH
24: C00E' E6 80 LDB ,X+
25: C010' 10 27 0316 LBEQ LOOP_TAIL
26: C014' C1 40 CMPB #$40
27: C016' 25 30 BCS BAD_2NDBYTE
28: C018' C1 FD CMPB #$FD
29: C01A' 24 2C BCC BAD_2NDBYTE
30: C01C' C1 7F CMPB #$7F
31: C01E' 27 28 BEQ BAD_2NDBYTE
32: C020' C1 80 CMPB #$80
33: C022' 25 05 BCS JIS_ADJ_HI
34: C024' C1 9F CMPB #$9F
35: C026' 24 01 BCC JIS_ADJ_HI
36: C028' 5A DECB
37: C029' 48 JIS_ADJ_HI: ASLA
38: C02A' 4A DECA
39: C02B' C1 9F CMPB #$9F
40: C02D' 25 03 BCS JIS_ADJ_LO
41: C02F' C0 5F SUBB #$5F
42: C031' 4C INCA
43: C032' C0 1F JIS_ADJ_LO: SUBB #$1F
44: C034' 81 50 CMPA #$50
45: C036' 25 0B BCS JIS_LV1
46: C038' 34 02 PSHS A
47: C03A' 86 01 LDA #$01
48: C03C' B7 C807 STA KJ_LEVEL2
49: C03F' 35 02 PULS A
50: C041' 20 13 BRA DISP_CHAR
51: C043' 7F C807 JIS_LV1: CLR KJ_LEVEL2
52: C046' 20 0E BRA DISP_CHAR
53:
54: C048' C1 13 BAD_2NDBYTE: CMPB #$13
55: C04A' 10 27 02DC LBEQ LOOP_TAIL
56: C04E' C1 11 CMPB #$11
57: C050' 10 27 02D6 LBEQ LOOP_TAIL
58: C054' C6 20 LDB #$20
59: C056' 7F C805 DISP_CHAR: CLR $C805
60: C059' 34 10 PSHS X
61: C05B' 34 06 PSHS A,B
62: C05D' 8E 0730 LDX #$0730
63: C060' F6 C803 LDB $C803
64: C063' 3A ABX
65: C064' CB 02 ADDB #$02
66: C066' F7 C803 STB $C803
67: C069' C1 50 CMPB #$50
68: C06B' 25 12 BCS DISP_WRAP
69: C06D' 27 03 BEQ COL_WRAP
70: C06F' F7 C806 STB $C806
71: C072' C0 50 COL_WRAP: SUBB #$50
72: C074' F7 C803 STB $C803
73: C077' 17 02CA LBSR NEWLINE_8ROWS
74: C07A' 31 88 B0 LEAY -80,X
75: C07D' 20 08 BRA DISP_CONT
76: C07F' 1F 12 DISP_WRAP: TFR X,Y
77: C081' 8E C806 LDX #$C806
78: C084' 3A ABX
79: C085' E7 1F STB -1,X
80: C087' 35 06 DISP_CONT: PULS A,B
81: C089' 1F 01 TFR D,X
82:
83: C08B' 7D C807 TST KJ_LEVEL2
84: C08E' 10 26 0087 LBNE LEVEL2_KANJI
85: C092' 81 28 CMPA #$28
86: C094' 24 13 BCC KCODE_LOBYTE_ADJ3
87: C096' C1 40 CMPB #$40
88: C098' 24 03 BCC KCODE_LOBYTE_ADJ1
89: C09A' 5F CLRB
90: C09B' 20 23 BRA KCODE_CALC
91:
92: ; 第一水準用コード変換(TSYS-S1Mの処理)
93: C09D' C1 60 KCODE_LOBYTE_ADJ1: CMPB #$60
94: C09F' 24 04 BCC KCODE_LOBYTE_ADJ2
95: C0A1' C6 20 LDB #$20
96: C0A3' 20 1B BRA KCODE_CALC
97: C0A5' C6 10 KCODE_LOBYTE_ADJ2: LDB #$10
98: C0A7' 20 17 BRA KCODE_CALC
99: C0A9' C4 60 KCODE_LOBYTE_ADJ3: ANDB #$60
100: C0AB' CB 20 ADDB #$20
101: C0AD' 81 40 CMPA #$40
102: C0AF' 25 02 BCS KCODE_LOBYTE_ADJ4
103: C0B1' CB 60 ADDB #$60
104: C0B3' 85 08 KCODE_LOBYTE_ADJ4: BITA #$08
105: C0B5' 27 09 BEQ KCODE_CALC
106: C0B7' CA 10 ORB #$10
107: C0B9' 20 05 BRA KCODE_CALC
108:
109: C0BB' 8E 4200 KCODE_FALLBACK: LDX #$4200
110: C0BE' 20 1F BRA KCODE_READY
111:
112: ; JISコード→ROM内部コード計算(第一水準専用) (TSYS-S1Mの処理)
113: C0C0' 34 04 KCODE_CALC: PSHS B
114: C0C2' 1F 10 TFR X,D
115: C0C4' 58 ASLB
116: C0C5' 58 ASLB
117: C0C6' 58 ASLB
118: C0C7' 58 ASLB
119: C0C8' 49 ROLA
120: C0C9' 58 ASLB
121: C0CA' 49 ROLA
122: C0CB' 58 ASLB
123: C0CC' 49 ROLA
124: C0CD' 58 ASLB
125: C0CE' 49 ROLA
126: C0CF' 58 ASLB
127: C0D0' 49 ROLA
128: C0D1' 35 04 PULS B
129: C0D3' 1F 01 TFR D,X
130: C0D5' BF FF75 STX $FF75
131: C0D8' F6 FF76 LDB $FF76
132: C0DB' C4 01 ANDB #$01
133: C0DD' 26 DC BNE KCODE_FALLBACK
134: C0DF' 33 08 KCODE_READY: LEAU 8,X
135: C0E1' 86 08 LDA #$08
136:
137: ; ---- KANJI_ROM_READ1: 漢字ROM(第一水準,$FF75/$FF76=KANJIH)(TSYS-S1Mの処理)
138: C0E3' BF FF75 KANJI_ROM_READ1: STX $FF75
139: C0E6' F6 FF75 LDB $FF75
140: C0E9' F7 FE26 STB $FE26
141: C0EC' FF FF75 STU $FF75
142: C0EF' F6 FF75 LDB $FF75
143: C0F2' F7 FE27 STB $FE27
144: C0F5' E7 A4 STB ,Y
145: C0F7' BF FF75 STX $FF75
146: C0FA' F6 FF76 LDB $FF76
147: C0FD' F7 FE26 STB $FE26
148: C100' FF FF75 STU $FF75
149: C103' F6 FF76 LDB $FF76
150: C106' F7 FE27 STB $FE27
151: C109' E7 21 STB 1,Y
152: C10B' 30 01 LEAX 1,X
153: C10D' 33 41 LEAU 1,U
154: C10F' 31 A9 0800 LEAY $0800,Y
155: C113' 4A DECA
156: C114' 26 CD BNE KANJI_ROM_READ1
157: C116' 16 009E LBRA KROM_DONE
158:
159:
160: ;--- 第二水準漢字表示用に追加
161: C119' 86 12 LEVEL2_KANJI: LDA #KANJI_SEL_LV2
162: C11B' B7 FF74 STA KANJI_SEL
163: C11E' 1F 10 TFR X,D
164: C120' 17 003A LBSR LEVEL2_KCODE_CALC
165: C123' 33 08 LEAU 8,X
166: C125' 86 08 LDA #$08
167: C127' BF FF72 LV2_LOOP: STX KANJI2
168: C12A' F6 FF72 LDB KANJI2
169: C12D' F7 FE26 STB $FE26
170: C130' FF FF72 STU KANJI2
171: C133' F6 FF72 LDB KANJI2
172: C136' F7 FE27 STB $FE27
173: C139' E7 A4 STB ,Y
174: C13B' BF FF72 STX KANJI2
175: C13E' F6 FF73 LDB $FF73
176: C141' F7 FE26 STB $FE26
177: C144' FF FF72 STU KANJI2
178: C147' F6 FF73 LDB $FF73
179: C14A' F7 FE27 STB $FE27
180: C14D' E7 21 STB 1,Y
181: C14F' 30 01 LEAX 1,X
182: C151' 33 41 LEAU 1,U
183: C153' 31 A9 0800 LEAY $0800,Y
184: C157' 4A DECA
185: C158' 26 CD BNE LV2_LOOP
186: C15A' 16 005A LBRA KROM_DONE
187:
188:
189: ; --- 第二水準文字コード変換 SasajiさんのSPKANM4.asmを参考
190: C15D' 34 06 LEVEL2_KCODE_CALC: PSHS B,A
191: C15F' 5F CLRB
192: C160' 85 08 BITA #$08
193: C162' 27 02 BEQ LV2H_02
194: C164' C6 19 LDB #$19
195: C166' 84 70 LV2H_02: ANDA #$70
196: C168' 81 30 CMPA #$30
197: C16A' 25 14 BCS LV2H_06
198: C16C' 27 10 BEQ LV2H_05
199: C16E' 81 50 CMPA #$50
200: C170' 25 0A BCS LV2H_04
201: C172' 81 60 CMPA #$60
202: C174' 25 0C BCS LV2H_07
203: C176' 27 02 BEQ LV2H_03
204: C178' CB 62 ADDB #$62
205: C17A' C0 40 LV2H_03: SUBB #$40
206: C17C' CB 60 LV2H_04: ADDB #$60
207: C17E' CB 3E LV2H_05: ADDB #$3E
208: C180' CB 02 LV2H_06: ADDB #2
209: C182' 86 60 LV2H_07: LDA #$60
210: C184' A4 61 ANDA 1,S
211: C186' 81 40 CMPA #$40
212: C188' 25 06 BCS LV2H_09
213: C18A' 27 02 BEQ LV2H_08
214: C18C' CB 22 ADDB #$22
215: C18E' CB 1F LV2H_08: ADDB #$1F
216: C190' CB 01 LV2H_09: ADDB #1
217: C192' C5 04 BITB #4
218: C194' 27 08 BEQ LV2H_0A
219: C196' C0 30 SUBB #$30
220: C198' C5 08 BITB #8
221: C19A' 27 02 BEQ LV2H_0A
222: C19C' CB 50 ADDB #$50
223: C19E' C4 F0 LV2H_0A: ANDB #$F0
224: C1A0' A6 E4 LDA ,S
225: C1A2' 46 RORA
226: C1A3' 46 RORA
227: C1A4' 46 RORA
228: C1A5' 46 RORA
229: C1A6' 84 E0 ANDA #$E0
230: C1A8' A7 E4 STA ,S
231: C1AA' A6 61 LDA 1,S
232: C1AC' 84 1F ANDA #$1F
233: C1AE' AA E4 ORA ,S
234: C1B0' ED E4 STD ,S
235: C1B2' 35 06 PULS A,B
236: C1B4' 1F 01 TFR D,X
237: C1B6' 39 RTS
238:
239: C1B7' 7D C801 KROM_DONE: TST $C801
240: C1BA' 27 20 BEQ RET_TO_EXIT
241: C1BC' 86 20 LDA #$20
242: C1BE' 5F CLRB
243:
244: ; --- プリンタ出力 (TSYS-S1Mの処理)
245: C1BF' 10 3F SWI2
246: C1C1' 42 1F FCB $42,$1F
247: C1C3' 2A 09 BPL AFTER_KANJI_READ
248: C1C5' 86 20 LDA #$20
249: C1C7' 5F CLRB
250: C1C8' 10 3F SWI2
251: C1CA' 42 1F FCB $42,$1F
252: C1CC' 2B 0E BMI RET_TO_EXIT
253: C1CE' 7F C801 AFTER_KANJI_READ: CLR $C801
254: C1D1' 8E 4030 LDX #$4030
255: C1D4' CC 0014 LDD #$0014
256: C1D7' A7 80 PRINT_SPACE_LOOP1: STA ,X+
257: C1D9' 5A DECB
258: C1DA' 26 FB BNE PRINT_SPACE_LOOP1
259: C1DC' 35 10 RET_TO_EXIT: PULS X
260: C1DE' 16 0149 LBRA LOOP_TAIL
261:
262:
263: ; ---制御文字判定 (TSYS-S1Mの処理)
264: C1E1' E6 80 CHAR_DISPATCH: LDB ,X+
265: C1E3' C1 20 CMPB #$20
266: C1E5' 10 24 007E LBCC SJIS1_LOW
267: C1E9' C1 07 CMPB #$07
268: C1EB' 26 0D BNE CHK_LF
269: C1ED' 34 10 PSHS X
270: C1EF' 86 07 LDA #$07
271:
272: ; --- 画面出力 (TSYS-S1Mの処理)
273: C1F1' 10 3F SWI2
274: C1F3' 41 05 FCB $41,$05
275: C1F5' 35 10 PULS X
276: C1F7' 16 0130 LBRA LOOP_TAIL
277: C1FA' C1 0A CHK_LF: CMPB #$0A
278: C1FC' 26 2A BNE CHK_CR
279: C1FE' 17 0143 LBSR NEWLINE_8ROWS
280: C201' 7D C801 TST $C801
281: C204' 10 27 0122 LBEQ LOOP_TAIL
282: C208' 86 0A LDA #$0A
283: C20A' 5F CLRB
284: C20B' 34 10 PSHS X
285: C20D' 10 3F SWI2
286: C20F' 42 1F FCB $42,$1F
287: C211' 35 10 PULS X
288: C213' 10 2B 0113 LBMI LOOP_TAIL
289: C217' 7F C801 CLR $C801
290: C21A' CE 4030 LDU #$4030
291: C21D' CC 0014 LDD #$0014
292: C220' A7 C0 LF_PRINT_LOOP: STA ,U+
293: C222' 5A DECB
294: C223' 26 FB BNE LF_PRINT_LOOP
295: C225' 16 0102 LBRA LOOP_TAIL
296: C228' C1 0D CHK_CR: CMPB #$0D
297: C22A' 26 06 BNE CHK_BS
298: C22C' 7F C803 CLR $C803
299: C22F' 16 00F8 LBRA LOOP_TAIL
300: C232' C1 08 CHK_BS: CMPB #$08
301: C234' 10 26 00F2 LBNE LOOP_TAIL
302: C238' CE C806 LDU #$C806
303: C23B' B6 C803 LDA $C803
304: C23E' 4A DECA
305: C23F' 6D C6 TST A,U
306: C241' 27 01 BEQ BS_COL_CLAMP
307: C243' 4A DECA
308: C244' 4D BS_COL_CLAMP: TSTA
309: C245' 2A 01 BPL BS_COL_STORE
310: C247' 4F CLRA
311: C248' B7 C803 BS_COL_STORE: STA $C803
312: C24B' CE 0730 LDU #$0730
313: C24E' 33 C6 LEAU A,U
314: C250' 4F CLRA
315: C251' B7 FE26 STA $FE26
316: C254' B7 FE27 STA $FE27
317: C257' 86 08 LDA #$08
318: C259' A7 C4 BS_CLEAR_LOOP: STA ,U
319: C25B' A7 41 STA 1,U
320: C25D' 33 C9 0800 LEAU $0800,U
321: C261' 4A DECA
322: C262' 26 F5 BNE BS_CLEAR_LOOP
323: C264' 16 00C3 LBRA LOOP_TAIL
324:
325: ; ---SJIS1バイト目 $81-$9F の判定/変換(TSYS-S1Mの処理)
326: C267' C1 81 SJIS1_LOW: CMPB #$81
327: C269' 25 1C BCS HALF_CHAR
328: C26B' C1 A0 CMPB #$A0
329: C26D' 24 08 BCC SJIS1_HIGH
330: C26F' C0 70 SUBB #$70
331: C271' F7 C805 STB $C805
332: C274' 16 00B3 LBRA LOOP_TAIL
333:
334: ; --- SJIS1バイト目 $E0-$FC の判定/変換(TSYS-S1Mの処理)
335: C277' C1 E0 SJIS1_HIGH: CMPB #$E0
336: C279' 25 0C BCS HALF_CHAR
337: C27B' C1 FD CMPB #$FD
338: C27D' 24 08 BCC HALF_CHAR
339: C27F' C0 B0 SUBB #$B0
340: C281' F7 C805 STB $C805
341: C284' 16 00A3 LBRA LOOP_TAIL
342: C287' CE 0730 HALF_CHAR: LDU #$0730
343: C28A' B6 C803 LDA $C803
344: C28D' 33 C6 LEAU A,U
345: C28F' 7D C800 TST $C800
346: C292' 27 37 BEQ ROW_ADDR_CALC2
347: C294' C1 A6 CMPB #$A6
348: C296' 25 33 BCS ROW_ADDR_CALC2
349: C298' C1 DE CMPB #$DE
350: C29A' 24 2F BCC ROW_ADDR_CALC2
351: C29C' C1 B0 CMPB #$B0
352: C29E' 27 2B BEQ ROW_ADDR_CALC2
353: C2A0' C1 C0 CMPB #$C0
354: C2A2' 24 04 BCC HALF_CHAR_ADJ
355: C2A4' C0 20 SUBB #$20
356: C2A6' 20 02 BRA ROW_ADDR_CALC
357: C2A8' CB 20 HALF_CHAR_ADJ: ADDB #$20
358:
359: ; ---- ROW_ADDR_CALC: 表示行アドレス計算: row*16+$5000 (TSYS-S1Mの処理)
360: C2AA' 34 04 ROW_ADDR_CALC: PSHS B
361: C2AC' 86 10 LDA #$10
362: C2AE' 3D MUL
363: C2AF' C3 5000 ADDD #$5000
364: C2B2' 1F 02 TFR D,Y
365: C2B4' 86 08 LDA #$08
366: C2B6' E6 28 ROW_STORE_LOOP: LDB 8,Y
367: C2B8' F7 FE27 STB $FE27
368: C2BB' E6 A0 LDB ,Y+
369: C2BD' F7 FE26 STB $FE26
370: C2C0' E7 C4 STB ,U
371: C2C2' 33 C9 0800 LEAU $0800,U
372: C2C6' 4A DECA
373: C2C7' 26 ED BNE ROW_STORE_LOOP
374: C2C9' 20 2C BRA AFTER_ROW_STORE
375:
376: ; ---- ROW_ADDR_CALC2: 表示行アドレス計算: 疑似400ライン用!? (TSYS-S1Mの処理)
377: C2CB' 34 04 ROW_ADDR_CALC2: PSHS B
378: C2CD' 86 10 LDA #$10
379: C2CF' 3D MUL
380: C2D0' 81 08 CMPA #$08
381: C2D2' 25 03 BCS ROW_ADDR_ADJ_DONE
382: C2D4' 80 08 SUBA #$08
383: C2D6' 5C INCB
384: C2D7' C3 5000 ROW_ADDR_ADJ_DONE: ADDD #$5000
385: C2DA' 1F 02 TFR D,Y
386: C2DC' 86 04 LDA #$04
387: C2DE' E6 28 ROW_STORE_LOOP2: LDB 8,Y
388: C2E0' F7 FE27 STB $FE27
389: C2E3' E6 A1 LDB ,Y++
390: C2E5' F7 FE26 STB $FE26
391: C2E8' E7 C4 STB ,U
392: C2EA' 33 C9 0800 LEAU $0800,U
393: C2EE' E7 C4 STB ,U
394: C2F0' 33 C9 0800 LEAU $0800,U
395: C2F4' 4A DECA
396: C2F5' 26 E7 BNE ROW_STORE_LOOP2
397: C2F7' 35 02 AFTER_ROW_STORE: PULS A
398: C2F9' 7D C801 TST $C801
399: C2FC' 27 19 BEQ COL_ADVANCE
400: C2FE' 5F CLRB
401: C2FF' 34 10 PSHS X
402:
403: C301' 10 3F SWI2
404: C303' 42 1F FCB $42,$1F
405: C305' 35 10 PULS X
406: C307' 2B 0E BMI COL_ADVANCE
407: C309' 7F C801 CLR $C801
408: C30C' CE 4030 LDU #$4030
409: C30F' CC 0014 LDD #$0014
410: C312' A7 C0 PRINT_SPACE_LOOP2: STA ,U+
411: C314' 5A DECB
412: C315' 26 FB BNE PRINT_SPACE_LOOP2
413: C317' CE C806 COL_ADVANCE: LDU #$C806
414: C31A' B6 C803 LDA $C803
415: C31D' 6F C6 CLR A,U
416: C31F' 4C INCA
417: C320' 81 50 CMPA #$50
418: C322' 26 03 BNE COL_STORE
419: C324' 8D 1E BSR NEWLINE_8ROWS
420: C326' 4F CLRA
421: C327' B7 C803 COL_STORE: STA $C803
422:
423: ; ----共通出口(TSYS-S1Mの処理)
424: C32A' F6 C802 LOOP_TAIL: LDB $C802
425: C32D' CE 4730 LDU #$4730
426: C330' 6F C5 CLR B,U
427: C332' 86 FE LDA #$FE
428: C334' F6 C803 LDB $C803
429: C337' A7 C5 STA B,U
430: C339' F7 C802 STB $C802
431: C33C' 7A C804 DEC $C804
432: C33F' 10 26 FCC4 LBNE CHAR_LOOP
433: C343' 39 RTS
434:
435: ; ---- 改行時の処理!?(TSYS-S1Mの処理)
436: C344' CE 0050 NEWLINE_8ROWS: LDU #$0050
437: C347' 8D 24 BSR NEWLINE_ROW_FILL
438: C349' CE 0850 LDU #$0850
439: C34C' 8D 1F BSR NEWLINE_ROW_FILL
440: C34E' CE 1050 LDU #$1050
441: C351' 8D 1A BSR NEWLINE_ROW_FILL
442: C353' CE 1850 LDU #$1850
443: C356' 8D 15 BSR NEWLINE_ROW_FILL
444: C358' CE 2050 LDU #$2050
445: C35B' 8D 10 BSR NEWLINE_ROW_FILL
446: C35D' CE 2850 LDU #$2850
447: C360' 8D 0B BSR NEWLINE_ROW_FILL
448: C362' CE 3050 LDU #$3050
449: C365' 8D 06 BSR NEWLINE_ROW_FILL
450: C367' CE 3850 LDU #$3850
451: C36A' 8D 01 BSR NEWLINE_ROW_FILL
452: C36C' 39 RTS
453: C36D' CC 0730 NEWLINE_ROW_FILL: LDD #$0730
454: C370' E5 C8 50 NEWLINE_ROW_LOOP: BITB 80,U
455: C373' E7 C0 STB ,U+
456: C375' 83 0001 SUBD #$0001
457: C378' 26 F6 BNE NEWLINE_ROW_LOOP
458: C37A' 39 RTS
459:
460: C400' ORG $C400
461:
462: ; --- EXEC&HC400 エントリ (TSYS-S1Mの処理)
463: C400' 8E 4050 EXEC_ENTRY: LDX #$4050
464: C403' CC 06E0 LDD #$06E0
465: C406' 6F 80 EXEC_CLEAR_LOOP: CLR ,X+
466: C408' 83 0001 SUBD #$0001
467: C40B' 26 F9 BNE EXEC_CLEAR_LOOP
468: C40D' 39 RTS
0 errors.
HEXコードはこちらです。
S1エミュなどでメモリにロードしてお使い下さい
:20C00000E680F7C804AE84B6C805102701D3E68010270316C1402530C1FD242CC17F27288E :20C02000C1802505C19F24015A484AC19F2503C05F4CC01F8150250B34028601B7C856358A :20C040000220137FC856200EC113102702DCC111102702D6C6207FC805341034068E0730A1 :20C06000F6C8033ACB02F7C803C15025122703F7C806C050F7C8031702CA3188B020081F9A :20C08000128EC8063AE71F35061F017DC8561026008781282413C14024035F2023C1602450 :20C0A00004C620201BC6102017C460CB2081402502CB6085082709CA1020058E4200201F61 :20C0C00034041F105858585849584958495849584935041F01BFFF75F6FF76C40126DC33DB :20C0E000088608BFFF75F6FF75F7FE26FFFF75F6FF75F7FE27E7A4BFFF75F6FF76F7FE26B5 :20C10000FFFF75F6FF76F7FE27E7213001334131A908004A26CD16009E8612B7FF741F10B4 :20C1200017003A33088608BFFF72F6FF72F7FE26FFFF72F6FF72F7FE27E7A4BFFF72F6FF90 :20C1400073F7FE26FFFF72F6FF73F7FE27E7213001334131A908004A26CD16005A34065F88 :20C1600085082702C61984708130251427108150250A8160250C2702CB62C040CB60CB3E79 :20C18000CB028660A461814025062702CB22CB1FCB01C5042708C030C5082702CB50C4F082 :20C1A000A6E44646464684E0A7E4A661841FAAE4EDE435061F01397DC801272086205F10AF :20C1C0003F421F2A0986205F103F421F2B0E7FC8018E4030CC0014A7805A26FB351016017A :20C1E00049E680C1201024007EC107260D34108607103F41053510160130C10A262A1701DD :20C20000437DC80110270122860A5F3410103F421F3510102B01137FC801CE4030CC00145E :20C22000A7C05A26FB160102C10D26067FC8031600F8C108102600F2CEC806B6C8034A6DEC :20C24000C627014A4D2A014FB7C803CE073033C64FB7FE26B7FE278608A7C4A74133C90874 :20C26000004A26F51600C3C181251CC1A02408C070F7C8051600B3C1E0250CC1FD2408C037 :20C28000B0F7C8051600A3CE0730B6C80333C67DC8002737C1A62533C1DE242FC1B0272BDB :20C2A000C1C02404C0202002CB20340486103DC350001F028608E628F7FE27E6A0F7FE2650 :20C2C000E7C433C908004A26ED202C340486103D8108250380085CC350001F028604E6289A :20C2E000F7FE27E6A1F7FE26E7C433C90800E7C433C908004A26E735027DC80127195F347B :20C3000010103F421F35102B0E7FC801CE4030CC0014A7C05A26FBCEC806B6C8036FC64CF9 :20C32000815026038D1E4FB7C803F6C802CE47306FC586FEF6C803A7C5F7C8027AC8041086 :20C3400026FCC439CE00508D24CE08508D1FCE10508D1ACE18508D15CE20508D10CE28504F :1BC360008D0BCE30508D06CE38508D0139CC0730E5C850E7C083000126F639AC :0EC400008E4050CC06E06F8083000126F93993 :00000001FF
そんなTSYS-S1漢字ターミナル改造の記録・・・