; * ALL RESET Ver.3 * ORG 256 FRG EQU 22Fh LD DE,0000h LD (FRG),DE CALL CLS LD DE,0100h LD HL,OK LD B,24 CALL 0BFF1h ;確認表示 KEY1: CALL 0BE53h CP 1 ;OFF KEYか JR Z,RUNM CALL 0BE56h CP 4Eh ;N KEYか JR Z,RUNM CP 59h ;Y KEYか JR NZ,KEY1 RESET: CALL CLS LD DE,0 ;LOCATE 0,0 LD A,8Eh LD B,25 PUSH BC PUSH AF CALL 0BFEEh ;■25個 POP AF POP BC LD DE,0117h ;LOCATE 24,1 CALL 0BFEEh ;■25個 LD DE,0107h ;LOCATE 7,1 LD HL,RP1 LD B,9 CALL 0BFF1h ;ALL RESET CALL KEY2 JR NZ,RUNM CALL CLS LD DE,0107h ;LOCATE 7,1 LD HL,RP2 ;グラフィック格納先頭番地セット XOA A ;Aレジスタクリア LOOP: LD B,5 ;1文字分ずつ表示 PUSH HL ;のループ PUSH DE PUSH AF CALL 0BFD0h ;ALL RESETグラフィック POP AF POP DE POP HL INC E ;X座標+1 LD BC,5 ;ADDのため16BIT ADD HL,BC ;グラフィック番地+5 INC A CP 9 ;9回表示? JR NZ,LOOP CALL KEY2 JR NZ,RUNM JP RESET KEY2: LD H,76 ;キー待ちウェイト KEY3: PUSH HL CALL 0BE53h ;キー入力ルーチン CALL 0BE56h ;ASC変換 POP HL CP 0 JR Z,LOOP1 LD BC,(FRG) LD A,1 AND C JR Z,LOOP2 RET LOOP1: PUSH HL CALL 0BE53h CALL 0BE56h POP HL CP 0 JR NZ,LOOP2 LD BC,1 LD (FRG),BC LOOP2: DEC H XOR A OR H JR NZ,KEY3 RET RUNM: ;RUN MODE CALL CLS LD DE,0 LD HL,RUN LD B,8 CALL 0BEF1h RET ;RUN MODEへ CLS: CALL 0BFEBh ;画面クリア CALL 0BFEBh CALL 0BFEBh CALL 0BFEBh RET OK: DB 'MEMORY CLEAR O.K.? (Y/N)' RP1: DB 'ALL RESET' RUN: DB 'RUN MODE' RP2: DB 7Ch,7Eh,11h,12h,7Ch,7Fh,40h,40h,40h,7Fh,7Fh,40h,40h,40h,0,0,0,0,0,7Fh,7Fh,19h,29h,46h,7Fh,7Fh,49h,49h,49h,26h,4Fh,49h,79h,32h,7Fh,7Fh,49h,49h,49h,1,7Fh,1,0