ÓC80X24°°±°° ;80X24 CHAR SCREEN PROGRAM °°±±° ;RELOCATES ITSELF TO HIMEM °°±²° ;BY R.M.STILES 08/30/81 °°±³° ;REVISED FOR CURSOR AFTER CLEAR AND 32 CHAR OPER °°±´° ;10/18/81 RMS °°±µ° HIMEM EQU 4049H °°±¶° VIDCTL EQU 403DH °°±·° ORG 5200H °°±¸° INITA EQU $ ;FROM HERE TO C24 (4790) IS °°±¹° DI ;INITIATION AND RELOCATOR. °°²°° IN A,(254) °°²±° OR 10 °°²²° OUT (254),A °°²³° CALL CLRSCN °°²´° LD HL,CHRNR °°²µ° LD B,80 °°²¶° INIAL1 PUSH HL °°²·° LD A,0AH °°²¸° PUSH BC °°²¹° CALL WRITE °°³°° POP BC °°³±° POP HL °°³²° INC (HL) °°³³° DJNZ INIAL1 °°³´° INC HL °°³µ° LD B,22 °°³¶° INIAL2 INC (HL) °°³·° DEC HL °°³¸° LD (HL),0 °°³¹° LD A,0AH °°´°° PUSH HL °°´±° PUSH BC °°´²° CALL WRITE °°´³° POP BC °°´´° POP HL °°´µ° LD (HL),79 °°´¶° LD A,0AH °°´·° PUSH HL °°´¸° PUSH BC °°´¹° CALL WRITE °°µ°° POP BC °°µ±° POP HL °°µ²° INC HL °°µ³° DJNZ INIAL2 °°µ´° DEC HL °°µµ° LD B,80 °°µ¶° LD (HL),0 °°µ·° INIAL3 PUSH HL °°µ¸° LD A,0AH °°µ¹° PUSH BC °°¶°° CALL WRITE °°¶±° POP BC °°¶²° POP HL °°¶³° INC (HL) °°¶´° DJNZ INIAL3 °°¶µ° IN A,(254) °°¶¶° AND 0F7H °°¶·° OUT (254),A °°¶¸° INIL5 LD HL,3C00H °°¶¹° LD (4020H),HL °°·°° LD A,0 °°·±° LD (CHRNR),A °°·²° LD (LINENR),A °°·³° LD HL,MSG1 °°·´° CALL WRT °°·µ° CALL 0049H °°·¶° CALL 0033H °°··° CP 0DH °°·¸° JP Z,INITB °°·¹° LD HL,MEMLDA °°¸°° LD B,4 °°¸±° JR INIL1 °°¸²° INIL4 CALL 0049H °°¸³° CALL 0033H °°¸´° INIL1 CP 30H °°¸µ° JR C,ERR °°¸¶° CP 3AH °°¸·° JR NC,INIL2 °°¸¸° SUB 30H °°¸¹° JR INIL3 °°¹°° INIL2 CP 41H °°¹±° JR C,ERR °°¹²° CP 47H °°¹³° JR NC,ERR °°¹´° SUB 37H °°¹µ° INIL3 LD (HL),A °°¹¶° INC HL °°¹·° DJNZ INIL4 °°¹¸° CALL 0049H °°¹¹° CALL 0033H °±°°° CP 0DH °±°±° JR NZ,ERR °±°²° LD HL,MEMLDB+1 °±°³° LD A,(HL) °±°´° DEC HL °±°µ° RLD °±°¶° LD E,(HL) °±°·° DEC HL °±°¸° LD A,(HL) °±°¹° DEC HL °±±°° RLD °±±±° LD D,(HL) °±±²° LD (MEMLDA),DE °±±³° OR A °±±´° LD DE,PRINT@ °±±µ° LD HL,ENDP °±±¶° SBC HL,DE °±±·° PUSH HL °±±¸° LD DE,(HIMEM) °±±¹° EX DE,HL °±²°° OR A °±²±° SBC HL,DE °±²²° LD DE,(MEMLDA) °±²³° RST 18H °±²´° JR C,ERR °±²µ° LD HL,5FFFH °±²¶° RST 18H °±²·° JR NC,ERR °±²¸° POP HL °±²¹° ADD HL,DE °±³°° LD (MEMLDA),HL °±³±° JP INITC °±³²° ERR LD HL,MSG2 °±³³° CALL WRT °±³´° JP INIL5 °±³µ° WRT LD A,(HL) °±³¶° CP 0 °±³·° RET Z °±³¸° CALL 0033H °±³¹° INC HL °±´°° JR WRT °±´±° MEMLDA DW 0 °±´²° MEMLDB DW 0 °±´³° MSG1 DM 0DH,0DH,0DH,' 80 X 24 SCREEN FOR',0DH °±´´° DM ' *** L N W - 8 0 ***',0DH,0DH °±´µ° DM ' BY R.M.STILES 08/28/81',0DH,0DH °±´¶° DM ' CAN BE LOADED FROM 6000H TO HIMEM',0DH °±´·° DM ' WILL RESET HIMEM ON DEFAULT',0DH °±´¸° DM ' ENTER LOAD POINT (HEX) DEFAULT IS HIMEM',0DH,' ',3FH,0 °±´¹° MSG2 DM 0DH,' *** ENTRY TOO HIGH, TOO LOW, OR ILLEGAL ***',0 °±µ°° INITC DI °±µ±° OR A °±µ²° LD HL,ENDP °±µ³° LD BC,PRINT@ °±µ´° SBC HL,BC °±µµ° LD DE,(MEMLDA) °±µ¶° EX DE,HL °±µ·° OR A °±µ¸° SBC HL,DE °±µ¹° JR INITD °±¶°° INITB DI °±¶±° OR A °±¶²° LD HL,ENDP °±¶³° LD BC,PRINT@ °±¶´° SBC HL,BC °±¶µ° LD DE,(HIMEM) °±¶¶° EX DE,HL °±¶·° OR A °±¶¸° SBC HL,DE °±¶¹° DEC HL °±·°° LD (HIMEM),HL °±·±° INC HL °±·²° INITD LD (LP@1+1),HL °±·³° EX DE,HL °±·´° LD BC,PRINT@ °±·µ° LD HL,WRITE °±·¶° CALL SUBT °±··° LD (CW1+1),HL °±·¸° LD (CW2+1),HL °±·¹° LD (CW3+1),HL °±¸°° LD (CW4+1),HL °±¸±° LD (CW6+1),HL °±¸²° LD (CW7+1),HL °±¸³° LD (CW8+1),HL °±¸´° LD (CW9+1),HL °±¸µ° LD (CW10+1),HL °±¸¶° LD (SPCMP1+1),HL °±¸·° LD (GRAL1+1),HL °±¸¸° LD HL,CHRNR °±¸¹° CALL SUBT °±¹°° LD (LCN1+1),HL °±¹±° LD (LCN2+1),HL °±¹²° LD (LCN3+1),HL °±¹³° LD (LCN4+1),HL °±¹´° LD (LCN5+1),HL °±¹µ° LD (LCN6+1),HL °±¹¶° LD (LCN7+1),HL °±¹·° LD (LCN8+1),HL °±¹¸° LD (LCN10+1),HL °±¹¹° LD (LCN11+1),HL °²°°° LD (LCN12+1),HL °²°±° LD (LCN13+1),HL °²°²° LD (LCN14+1),HL °²°³° LD (LCN15+1),HL °²°´° LD (LCN16+1),HL °²°µ° LD (LCN17+1),HL °²°¶° LD (LCN18+1),HL °²°·° LD (LCN19+1),HL °²°¸° LD (LCN20+1),HL °²°¹° LD (LCN21+1),HL °²±°° LD (ERAEOF+1),HL °²±±° LD (PCML1+1),HL °²±²° LD (CLREOL+1),HL °²±³° LD (CEOLL1+1),HL °²±´° LD HL,LINENR °²±µ° CALL SUBT °²±¶° LD (LLN1+1),HL °²±·° LD (LLN2+1),HL °²±¸° LD (LLN3+1),HL °²±¹° LD (LLN4+1),HL °²²°° LD (LLN5+1),HL °²²±° LD HL,CURSOR °²²²° CALL SUBT °²²³° LD (LCU1+1),HL °²²´° LD (LCU2+1),HL °²²µ° LD (BCKL2+1),HL °²²¶° LD (CADVL2+1),HL °²²·° LD HL,CURADV °²²¸° CALL SUBT °²²¹° LD (CC1+1),HL °²³°° LD (CC3+1),HL °²³±° LD (CC4+1),HL °²³²° LD HL,PRT@EX °²³³° CALL SUBT °²³´° INC HL °²³µ° LD (LPEX+1),HL °²³¶° LD HL,PRTCMA °²³·° CALL SUBT °²³¸° INC HL °²³¹° LD (LPCM1+1),HL °²´°° LD HL,PRTCOM °²´±° CALL SUBT °²´²° LD (LPCM2+1),HL °²´³° LD HL,PR@FLG °²´´° CALL SUBT °²´µ° LD (LPF1+1),HL °²´¶° LD (LPF2+1),HL °²´·° LD (LDR1+1),HL °²´¸° LD HL,CLRSCN °²´¹° CALL SUBT °²µ°° LD (CS1+1),HL °²µ±° LD (CS2+1),HL °²µ²° LD HL,CADVL3 °²µ³° CALL SUBT °²µ´° LD (CCD3+1),HL °²µµ° LD HL,CADVL4 °²µ¶° CALL SUBT °²µ·° LD (CCD4+1),HL °²µ¸° LD HL,PRERTN °²µ¹° CALL SUBT °²¶°° LD (PWRTL1+1),HL °²¶±° LD (JP1+1),HL °²¶²° LD (JP2+1),HL °²¶³° LD (JP3+1),HL °²¶´° LD (JP4+1),HL °²¶µ° LD (JP6+1),HL °²¶¶° LD (JP7+1),HL °²¶·° LD (JP8+1),HL °²¶¸° LD HL,BCKSP °²¶¹° CALL SUBT °²·°° LD (JB1+1),HL °²·±° LD HL,ENTR °²·²° CALL SUBT °²·³° LD (JE1+1),HL °²·´° LD HL,CURON °²·µ° CALL SUBT °²·¶° LD (JCON1+1),HL °²··° LD HL,CUROFF °²·¸° CALL SUBT °²·¹° LD (JCOFF1+1),HL °²¸°° LD HL,CHR32 °²¸±° CALL SUBT °²¸²° LD (J32A+1),HL °²¸³° LD HL,LTARRW °²¸´° CALL SUBT °²¸µ° LD (JLA1+1),HL °²¸¶° LD HL,RTARRW °²¸·° CALL SUBT °²¸¸° LD (JRA1+1),HL °²¸¹° LD HL,DNARRW °²¹°° CALL SUBT °²¹±° LD (JDA1+1),HL °²¹²° LD HL,UPARRW °²¹³° CALL SUBT °²¹´° LD (JUA1+1),HL °²¹µ° LD HL,HMECUR °²¹¶° CALL SUBT °²¹·° LD (JHM1+1),HL °²¹¸° LD HL,BEGLNE °²¹¹° CALL SUBT °³°°° LD (JBG1+1),HL °³°±° LD HL,CLREOL °³°²° CALL SUBT °³°³° LD (JEOL1+1),HL °³°´° LD HL,ERAEOF °³°µ° CALL SUBT °³°¶° LD (JEOF1+1),HL °³°·° LD HL,CTLCHR °³°¸° CALL SUBT °³°¹° LD (JCTL1+1),HL °³±°° LD HL,SPCOMP °³±±° CALL SUBT °³±²° LD (JSPC1+1),HL °³±³° LD HL,LOADER °³±´° CALL SUBT °³±µ° LD (401EH),HL °³±¶° LD HL,PR@L1C °³±·° CALL SUBT °³±¸° INC HL °³±¹° LD (LPR@1+1),HL °³²°° LD (LPR@2+1),HL °³²±° LD HL,GRAPIC °³²²° CALL SUBT °³²³° LD (LSPC+1),HL °³²´° LD HL,CHRGEN °³²µ° CALL SUBT °³²¶° LD (LCGN+2),HL °³²·° LD HL,TABLED °³²¸° CALL SUBT °³²¹° LD (LTD+1),HL °³³°° LD HL,TABLEC °³³±° CALL SUBT °³³²° LD (WRTL1+1),HL °³³³° LD HL,CHRPOS °³³´° CALL SUBT °³³µ° LD (WRTL2+1),HL °³³¶° LD (LCPOS+1),HL °³³·° LD HL,ENDP °³³¸° OR A °³³¹° SBC HL,BC °³´°° LD B,H °³´±° LD C,L °³´²° LD HL,PRINT@ °³´³° LDIR °³´´° IN A,(254) °³´µ° OR 10 °³´¶° OUT (254),A °³´·° CS1 CALL CLRSCN °³´¸° IN A,(254) °³´¹° AND 0F7H °³µ°° OUT (254),A °³µ±° EI °³µ²° RET °³µ³° SUBT OR A °³µ´° SBC HL,BC °³µµ° ADD HL,DE °³µ¶° RET °³µ·° ;******************************************************** °³µ¸° PRINT@ EQU $ ;USES DOS EXIT 41CAH °³µ¹° POP IY ;CLEAR STACK °³¶°° PRT@EX CALL 0 ;DOS EXIT °³¶±° CP 40H ;TEST FOR @ °³¶²° JR NZ,PRTTAB °³¶³° CALL 2B01H ;EVAUL @ EXP. °³¶´° PUSH HL °³¶µ° LD H,D °³¶¶° LD L,E °³¶·° CP 6 °³¶¸° JR NC,EXT@ ; GO TO EXT IF >1536 °³¶¹° LD A,64 °³·°° LPR@1 LD (PR@L1C+1),A °³·±° LD BC,64 °³·²° PR@L1A XOR A °³·³° PUSH DE °³·´° LD D,A °³·µ° LD E,L °³·¶° SBC HL,BC °³··° JR NC,PR@L1B °³·¸° JR PR@L1C °³·¹° PR@L1 SBC HL,BC ;DEVIDE BY 64 °³¸°° PR@L1B INC D °³¸±° JR NC,PR@L1 °³¸²° DEC D °³¸³° PR@L1C LD A,64 °³¸´° ADD A,L °³¸µ° LCN1 LD (CHRNR),A °³¸¶° LD A,D °³¸·° LLN1 LD (LINENR),A °³¸¸° POP DE °³¸¹° LCN2 LD A,(CHRNR) °³¹°° JP 2089H ;ON TO ROM °³¹±° EXT@ CP 7 °³¹²° JR C,PR@L2 °³¹³° LD A,L °³¹´° CP 80H °³¹µ° JR C,PR@L2 °³¹¶° POP HL °³¹·° JP 1E4AH ;ERROR IF >1920 °³¹¸° PR@L2 LD A,80 °³¹¹° LPR@2 LD (PR@L1C+1),A °´°°° XOR A °´°±° LD BC,1536 °´°²° SBC HL,BC ;CONV TO EXT AREA °´°³° LD BC,16 °´°´° JR PR@L1A °´°µ° PR@FLG DB 0 °´°¶° ;******************************************************** °´°·° PRTTAB EQU $ ;FROM ROM 208FH TO 20AAH °´°¸° CP 23H °´°¹° JR NZ,PRTBL1 °´±°° CALL 0284H °´±±° LD A,80H °´±²° LD (409CH),A °´±³° PRTBL1 DEC HL °´±´° RST 10H °´±µ° CALL Z,20FEH °´±¶° JP Z,2169H °´±·° CP 0BFH °´±¸° JP Z,2CBDH °´±¹° CP 0BCH °´²°° JP NZ,20ADH °´²±° CALL 2B1BH ;FROM 2137H ROM °´²²° CP 80 °´²³° JP C,213CH °´²´° SUB 80 °´²µ° JP 213CH °´²¶° ;******************************************************** °´²·° PRTCOM EQU $ °´²¸° EX AF,AF' °´²¹° EX (SP),HL °´³°° LD A,L °´³±° CP 44H °´³²° EX (SP),HL °´³³° JR NZ,PCML1 °´³´° PUSH HL °´³µ° PUSH AF °´³¶° PCML2 DEC HL °´³·° LD A,(HL) °´³¸° CP 30H °´³¹° JR C,PCML3 °´´°° CP 40H °´´±° JR C,PCML2 °´´²° PCML3 POP AF °´´³° CALL 2B1BH °´´´° LD E,A °´´µ° POP HL °´´¶° PCML1 LD A,(CHRNR) °´´·° LD (40A6H),A °´´¸° EX AF,AF' °´´¹° PRTCMA JP 0000H ;FROM 41D3H °´µ°° ;******************************************************** °´µ±° LOADER EQU $ °´µ²° DI °´µ³° EX AF,AF' °´µ´° EXX °´µµ° LD A,(41CAH) °´µ¶° CP 0C3H °´µ·° JR Z,LDR1 °´µ¸° XOR A °´µ¹° LPF1 LD (PR@FLG),A °´¶°° JR LDR2 °´¶±° LDR1 LD A,(PR@FLG) °´¶²° OR A °´¶³° JR NZ,LDR2 °´¶´° LD A,80 °´¶µ° LD (409DH),A ;MAX LINE LEN. °´¶¶° LD A,64 °´¶·° LD (409EH),A ;LINE SIZE FOR COMA °´¶¸° LPF2 LD (PR@FLG),A °´¶¹° LD HL,(41CBH) °´·°° LPEX LD (PRT@EX+1),HL °´·±° LP@1 LD HL,PRINT@ °´·²° LD (41CBH),HL °´·³° LD HL,(41D4H) °´·´° LPCM1 LD (PRTCMA+1),HL °´·µ° LPCM2 LD HL,PRTCOM °´·¶° LD (41D4H),HL °´··° LDR2 EX AF,AF' °´·¸° EXX °´·¹° EI °´¸°° ;******************************************************** °´¸±° C24 EQU $ °´¸²° LD A,C ;GET CHAR TO PRINT °´¸³° PUSH AF ;SAVE IT AND °´¸´° PUSH DE ;THE OTHER REGISTERS °´¸µ° PUSH BC °´¸¶° C24A DI °´¸·° IN A,(254) ;ENABLES HI-RES °´¸¸° OR 8 ;SCREEN AREA °´¸¹° OUT (254),A °´¹°° LD A,C ;GET CHAR AGAIN °´¹±° CP 20H ;CHECK IF CTL CHAR °´¹²° JCTL1 JP C,CTLCHR ;GO IF IT IS °´¹³° CP 80H ;IS IT SPACE COMP OR GRA °´¹´° JSPC1 JP NC,SPCOMP ;GO IS IT IS °´¹µ° SUB 20H ;SUB FOR R/S GEN. °´¹¶° ;***************************************************** °´¹·° PREWRT EQU $ °´¹¸° CW1 CALL WRITE ;GO PUT IT ON SCN °´¹¹° CC1 CALL CURADV ;ADJUST CURSOR °µ°°° PWRTL1 JP PRERTN ;RTN °µ°±° ;**************************************************** °µ°²° WRITE EQU $ °µ°³° OR A ;CLEAR C FLAG °µ°´° LD B,0 ;ZERO B REG °µ°µ° RLA ;MULT THE CHAR °µ°¶° RL B ;BY 8 TO GET °µ°·° RLA ;IT'S POSITION °µ°¸° RL B ;IN THE CHAR. GEN. °µ°¹° RLA ;TABLE... °µ±°° RL B °µ±±° LD C,A ;BC NOW HAS LOC OFFSET °µ±²° LCGN LD IY,CHRGEN ;START OF CHAR GEN TABLE °µ±³° ADD IY,BC ;IY NOW HAS CHAR POS. °µ±´° LCN3 LD A,(CHRNR) ;GET CHAR SCNLOC, SEE IF °µ±µ° CP 64 ;IT IN NORMAL OR EXT AREA °µ±¶° JR C,WRTL1 ;GO IF IN NORMAL AREA °µ±·° SUB 64 ;SUB IF EXT AREA °µ±¸° LTD LD HL,TABLED ;GET EXT AREA LINE °µ±¹° JR WRTL2 ;NUMBERS AND GO. °µ²°° WRTL1 LD HL,TABLEC ;GET NOR AREA LINE #'S °µ²±° WRTL2 LD (CHRPOS),A ;CHAR POS IN NOR OR EXT °µ²²° LLN2 LD A,(LINENR) ;GET SCN LINE # °µ²³° RLCA ;POS IT FOR CORRECT ADDR °µ²´° LD E,A ;LOAD DE WITH ADJACENT °µ²µ° LD D,0 ;LINE NUMBER. °µ²¶° ADD HL,DE ;ADD IT TO TABLE LOC. °µ²·° LD E,(HL) ;GET THE ROW 0 ADDR °µ²¸° INC HL ;FOR SCREEN LINE °µ²¹° LD D,(HL) ;NUMBER INTO DE °µ³°° LCPOS LD A,(CHRPOS) ;GET CHAR POS °µ³±° ADD A,E ;ADD IT TO LINE NMBR. °µ³²° LD E,A ;DE NOW HAS SCREEN POS. °µ³³° LCN4 LD A,(CHRNR) ;GET CHARNR TO DETR NOR °µ³´° CP 64 ;OR EXT AREA °µ³µ° JR NC,WRTEXT ;GO IF EXT °µ³¶° WRTNOR LD B,8 ;GONNA PRINT 8 ROWS °µ³·° NWRTL1 LD A,(IY+0) ;GET FIRST ROW DATA °µ³¸° LD (DE),A ;PUTON SCREEN °µ³¹° INC IY ;GOTO NEXT ROW INFO °µ´°° LD A,4 ;ADJ SCRN ADDR FOR °µ´±° ADD A,D ;NEXT ROW. FROM °µ´²° CP 30H ;HERE TO END OF °µ´³° JR NC,NWRTL3 ;ROUTINE. °µ´´° LD D,A °µ´µ° NWRTL2 DJNZ NWRTL1 °µ´¶° RET °µ´·° NWRTL3 SUB 30H °µ´¸° LD D,A °µ´¹° LD A,40H °µµ°° ADD A,E °µµ±° LD E,A °µµ²° JR NWRTL2 ;END OF ROUTINE °µµ³° WRTEXT LD B,8 ;EXT AREA ROUTINE. SAME °µµ´° LD H,D ;GENERAL DISCRIPTION AS °µµµ° EWRTL1 LD A,(IY+0) ;NORMAL AREA °µµ¶° LD (DE),A °µµ·° INC IY °µµ¸° LD A,4 °µµ¹° ADD A,D °µ¶°° CP 40H °µ¶±° JR NC,EWRTL3 °µ¶²° LD D,A °µ¶³° EWRTL2 DJNZ EWRTL1 °µ¶´° RET °µ¶µ° EWRTL3 LD D,H °µ¶¶° LD A,10H °µ¶·° ADD A,E °µ¶¸° AND 30H °µ¶¹° CP 30H °µ·°° LD A,E °µ·±° JR NZ,EWRTL4 °µ·²° ADD A,10H °µ·³° EWRTL4 ADD A,10H °µ·´° LD E,A °µ·µ° JR EWRTL2 ;END OF EXT ROUTINE °µ·¶° ;********************************************** °µ··° CURON EQU $ °µ·¸° LD A,3FH ;LD CUR CHAR °µ·¹° LCU1 LD (CURSOR),A ;STORE IT °µ¸°° CW2 CALL WRITE ;PRINT IT °µ¸±° JP1 JP PRERTN ;RTN °µ¸²° ;********************************************** °µ¸³° CUROFF EQU $ °µ¸´° LD A,0 ;LD 0 °µ¸µ° LCU2 LD (CURSOR),A ;STORE IT °µ¸¶° CW3 CALL WRITE ;PRINT IT °µ¸·° JP2 JP PRERTN ;RTN °µ¸¸° ;*********************************************** °µ¸¹° SPCOMP EQU $ °µ¹°° CP 0C0H ;SEE IF GRAPHICS °µ¹±° LSPC JP C,GRAPIC ;GO IF IT IS °µ¹²° SUB 0C0H ;SUB OFFSET °µ¹³° JR Z,PRERTN ;RTN IF 0 SPACE CMP °µ¹´° LD B,A ;# OF SPACES TO PRINT °µ¹µ° LD A,20H ;ASCII SPACE °µ¹¶° SPCMP1 CALL WRITE ;PRINT SPACE °µ¹·° CC3 CALL CURADV ;ADJUST CUR °µ¹¸° DJNZ SPCMP1 ;"B" TIMES °µ¹¹° JR PRERTN °¶°°° ;*********************************************** °¶°±° CHR32 EQU $ °¶°²° LD A,(VIDCTL) ;GET 32 CHAR REG °¶°³° OR 8 ;SET 32 CHAR °¶°´° LD (VIDCTL),A ;PUT BACK TO REG °¶°µ° OUT (0FFH),A ;OUTPUT IT °¶°¶° LCN5 LD A,(CHRNR) ;GET CHAR NR °¶°·° INC A ;INC IT °¶°¸° AND 0FEH ;MAKE IT AN EVEN # °¶°¹° LCN6 LD (CHRNR),A ;PUT CHAR NR BACK °¶±°° JR PRERTN °¶±±° ;*********************************************** °¶±²° ERAEOF EQU $ °¶±³° LD HL,(CHRNR) ;HL HAS CHRNR AND LINENR °¶±´° LD A,H ;PUT CHRNR INTO A °¶±µ° ADD A,L ;ADD IT TO LINENR °¶±¶° OR A ;CHECK IF BOTH ARE 0 °¶±·° JR NZ,EOFL1 ;GO IF NOT °¶±¸° CS2 CALL CLRSCN ;QUICK CLEAR IF CALLED °¶±¹° JR CURON ;FROM HOME CURSOR POS. °¶²°° EOFL1 PUSH HL ;SAVE CHRNR AND LINENR °¶²±° LCN7 LD HL,CHRNR ;GET CHARNR ADDR °¶²²° EOFL2 LD A,79 ;COMPARE IT TO MAXIMUM °¶²³° CP (HL) ;NUMBER OF CHAR'S °¶²´° JR NC,EOFL4 ;GO IF MORE THEN 79 °¶²µ° LD (HL),0 ;LOAD CHARNR W/0 °¶²¶° INC HL ;MOVE TO LINENR ADDR °¶²·° INC (HL) ;INC LINE NR °¶²¸° LD A,23 ;SEE IF MORE THEN MAXIMUM °¶²¹° CP (HL) ;NUMBER OF LINES (24) °¶³°° JR NC,EOFL3 ;GO IF IT IS °¶³±° JR EOFL5 ;ELSE GO HERE °¶³²° EOFL3 DEC HL ;MOVE BACK TO CHAR NR ADDR °¶³³° EOFL4 PUSH HL ;SAVIT °¶³´° LD A,0 ;GET 0 (SPACE R/S GEN) °¶³µ° CW4 CALL WRITE ;PRINT IT °¶³¶° POP HL ;GET CHAR NR ADDR BACK °¶³·° INC (HL) ;INC CHAR NR °¶³¸° JR EOFL2 ;GO DO IT SOME MORE °¶³¹° EOFL5 POP HL ;GET ORIG CHRNR & LINENR °¶´°° LCN8 LD (CHRNR),HL ;BACK AND STORE IT. °¶´±° JR PRERTN °¶´²° ;********************************************** °¶´³° LTARRW EQU $ °¶´´° LCN10 LD A,(CHRNR) ;GET CHAR POS °¶´µ° DEC A ;DEC IT °¶´¶° OR A ;SEE IF IT IS 0 °¶´·° JR Z,PRERTN ;GO IF IT IS °¶´¸° LCN11 LD (CHRNR),A ;SAVE DEC CHRNR °¶´¹° JR PRERTN °¶µ°° ;********************************************** °¶µ±° RTARRW EQU $ °¶µ²° LCN12 LD A,(CHRNR) ;GET CHAR NR °¶µ³° INC A ;INC IT °¶µ´° CP 80 ;SEE IF IT IS AT END °¶µµ° JR Z,PRERTN ;OF LINE. GO IF IT IS °¶µ¶° LCN13 LD (CHRNR),A ;STORE INC CHRNR °¶µ·° JR PRERTN °¶µ¸° ;********************************************** °¶µ¹° UPARRW EQU $ °¶¶°° LLN3 LD A,(LINENR) ;GET LINE COUNT °¶¶±° OR A ;SEE IF IT IS 0 °¶¶²° JR Z,PRERTN ;GO IF IT IS °¶¶³° DEC A ;BACKUP ONE LINE °¶¶´° LLN4 LD (LINENR),A ;SAVE NEW LINE NR °¶¶µ° JR PRERTN °¶¶¶° ;******************************************************* °¶¶·° PRERTN IN A,(254) ;RESET GRAPHICS PORT °¶¶¸° AND 0F7H °¶¶¹° OUT (254),A °¶·°° LCN14 LD A,(CHRNR) ;GET CHAR NR °¶·±° LD (40A6H),A ;THIS IS FOR A ROM ACTION °¶·²° CP 64 ;MAKE SURE NR IS NOT >24 °¶·³° JR C,PRTNL1 ;THIS IS TO SATISFY °¶·´° SUB 20 ;A ROM CONDITION °¶·µ° PRTNL1 LD (4020H),A °¶·¶° EI °¶··° POP BC °¶·¸° POP DE °¶·¹° POP AF °¶¸°° RET ;BACK TO CALLER °¶¸±° ;********************************************** °¶¸²° BEGLNE EQU $ ;JUMP TO BEG OF LINE °¶¸³° XOR A ;ZERO A REGISTER °¶¸´° LCN15 LD (CHRNR),A ;PUT CHAR NR TO 0 °¶¸µ° JR PRERTN °¶¸¶° ;********************************************** °¶¸·° CLREOL EQU $ ;CLEAR TO END OF LINE °¶¸¸° LD HL,(CHRNR) ;HL HAS CHRNR & LINENR °¶¸¹° PUSH HL ;SAVEIT °¶¹°° CEOLL1 LD A,(CHRNR) ;LD A WITH CHAR NR °¶¹±° CP 80 ;SEE IF AT END OF LINE °¶¹²° JR NC,CEOLL2 ;GO IF IT IS °¶¹³° PUSH AF ;SAVE CHAR NR °¶¹´° LD A,0 ;LOAD SPACE (R/S GEN) °¶¹µ° CW10 CALL WRITE ;PRINT IT °¶¹¶° POP AF ;GET CHAR NR BACK °¶¹·° INC A ;INC IT °¶¹¸° LCN20 LD (CHRNR),A ;SAVE IT °¶¹¹° JR CEOLL1 ;GO DOIT AGAIN TIL EOL °·°°° CEOLL2 POP HL ;GET ORIG CHRNR & LINENR °·°±° LCN21 LD (CHRNR),HL ;RESTORE IT °·°²° JR PRERTN °·°³° ;*********************************************** °·°´° HMECUR EQU $ ;HOMES CURSOR TO UPPER LEFT °·°µ° LCN16 LD HL,CHRNR ;GET CHAR POS °·°¶° LD (HL),0 ;PUT IT TO 0 °·°·° INC HL ;MOVE TO LINE POS °·°¸° LD (HL),0 ;PUT IT TO 0 °·°¹° LD A,(VIDCTL) ;GET 32 CHAR WORD °·±°° AND 0F7H ;MAKE SURE IN 62 CHR MODE °·±±° LD (VIDCTL),A ;PUT WORD BACK °·±²° OUT (0FFH),A ;SPIT IT OUT °·±³° JR PRERTN °·±´° ;*********************************************** °·±µ° BCKSP EQU $ ;BACKSPACES CURSOR °·±¶° LD A,0 ;SPACE (R/S GEN) °·±·° CW6 CALL WRITE ;PRINT IT °·±¸° LCN17 LD HL,CHRNR ;GET CHARNR AND LINENR °·±¹° DEC (HL) ;DEC CHARNR °·²°° LD A,(VIDCTL) ;CHECK TO SEE °·²±° AND 8 ;IF IN 32 CHAR MODE. °·²²° JR Z,BCKL1 ;JP IF NOT. °·²³° DEC (HL) ;DEC AGAIN IF IS °·²´° BCKL1 LD A,0FFH ;CHK IF CHARNR °·²µ° CP (HL) ;IS -1. °·²¶° JR NZ,BCKL2 ;LOOP BACK IF NOT °·²·° LD (HL),79 ;LD CHAR CT W/EOL °·²¸° INC HL ;MOVE TO LINENR °·²¹° XOR A ;0 A REG °·³°° CP (HL) ;IS LINENR 0 °·³±° JR Z,BCKL3 ;JP IF IT IS °·³²° DEC (HL) ;DEC LINENR °·³³° BCKL2 LD A,(CURSOR) ;GET CURSOR CHAR °·³´° CW7 CALL WRITE ;PRINT IT °·³µ° JP3 JP PRERTN °·³¶° BCKL3 LD (HL),0 ;IF AT LINENR 0 THEN °·³·° DEC HL ;0 BOTH LINENR AND °·³¸° LD (HL),0 ;CHARNR THEN °·³¹° JR BCKL2 ;GO PRINT IT AND RET °·´°° ;*********************************************** °·´±° DNARRW EQU $ °·´²° LLN5 LD HL,LINENR ;GET LINENR, GO °·´³° CCD3 CALL CADVL3 ;INC IT & CK TO SEE °·´´° JP4 JP PRERTN ;IF NEED TO SCROLL & RET °·´µ° ;*********************************************** °·´¶° ENTR EQU $ ;CARRAIGE RTN °·´·° LD A,0 ;LOAD SPACE (R/S) °·´¸° CW8 CALL WRITE ;PRINT IT °·´¹° LCN18 LD HL,CHRNR ;GET CHARNR °·µ°° CCD4 CALL CADVL4 ;LOADS CHARNR W/0 AND CKS °·µ±° JR CLREOL ;IF SCROLL IS NEEDED. °·µ²° ;*********************************************** °·µ³° CURADV EQU $ °·µ´° LCN19 LD HL,CHRNR ;GET CHARNR °·µµ° INC (HL) ;INC IT °·µ¶° LD A,(VIDCTL) ;SEE IF 32 CHAR °·µ·° AND 8 ;MODE. °·µ¸° JR Z,CADVL1 ;JP IF NOT °·µ¹° INC (HL) ;INC AGAIN °·¶°° CADVL1 LD A,79 ;SEE IF CHARNR °·¶±° CP (HL) ;AT EOL °·¶²° JR NC,CADVL2 ;GO IF NOT °·¶³° CADVL4 LD (HL),0 ;0 CHARNR °·¶´° INC HL ;GET LINENR °·¶µ° CADVL3 LD A,23 ;SEE IF AT °·¶¶° CP (HL) ;LINE 23. °·¶·° JR Z,SCROLL ;GO IF IT IS °·¶¸° INC (HL) ;INC IT °·¶¹° CADVL2 LD A,(CURSOR) ;GET CURSOR °··°° CW9 CALL WRITE ;PRINT IT °··±° RET °··²° ;**************************************************** °··³° CLRSCN EQU $ °··´° LD BC,3FFEH ;ZERO'S THE HI RES °··µ° LD HL,0 ;SCREEN °··¶° LD (HL),0 °···° LD DE,1 °··¸° LDIR °··¹° IN A,(254) ;BANK SW TO LII ROM °·¸°° AND 0F7H °·¸±° OUT (254),A °·¸²° LD BC,1023 ;ZERO'S THE LO RES °·¸³° LD HL,3C00H ;SCREEN °·¸´° LD (HL),20H °·¸µ° LD DE,3C01H °·¸¶° LDIR °·¸·° IN A,(254) ;BANK SW BACK °·¸¸° OR 8 °·¸¹° OUT (254),A °·¹°° RET °·¹±° ;******************************************** °·¹²° CTLCHR EQU $ ;CHK FOR FUNCTION OF CTLCHR °·¹³° CP 8 ;BACKSPACE °·¹´° JB1 JP Z,BCKSP °·¹µ° CP 0AH ;SEE IF LESS THEN 0AH °·¹¶° JP7 JP C,PRERTN ;RET IF IT IS °·¹·° CP 0EH ;IS IT 0AH OR 0DH °·¹¸° JE1 JP C,ENTR ;GO IF IT IS °·¹¹° JCON1 JP Z,CURON ;TURN ON CURSOR IF 0EH °¸°°° CP 0FH ;TURN OFF CUR. °¸°±° JCOFF1 JP Z,CUROFF °¸°²° CP 17H ;32 CHAR °¸°³° J32A JP Z,CHR32 °¸°´° CP 18H ;LEFT ARROW °¸°µ° JLA1 JP Z,LTARRW °¸°¶° CP 19H ;RIGHT ARROW °¸°·° JRA1 JP Z,RTARRW °¸°¸° CP 1AH ;DOWN ARROW °¸°¹° JDA1 JP Z,DNARRW °¸±°° CP 1BH ;UP ARROW °¸±±° JUA1 JP Z,UPARRW ;UP ARROW °¸±²° CP 1CH ;HOME CURSOR °¸±³° JHM1 JP Z,HMECUR °¸±´° CP 1DH ;BEGIN OF LINE °¸±µ° JBG1 JP Z,BEGLNE °¸±¶° CP 1EH ;ERASE TO END OF LINE °¸±·° JEOL1 JP Z,CLREOL °¸±¸° CP 1FH ;CLEAR TO END OF FRAME °¸±¹° JEOF1 JP Z,ERAEOF °¸²°° JP6 JP PRERTN ;IGNORE ALL OTHERS °¸²±° ;******************************************************* °¸²²° SCROLL EQU $ °¸²³° LD A,21 ;START OF NORMAL AREA °¸²´° LD (HL),A ;SCROLL °¸²µ° LD B,12 °¸²¶° LD DE,0 ;SCROLLS THREE LINES °¸²·° LD HL,80H ;AT A TIME. °¸²¸° SCLL1 LD A,B °¸²¹° LD BC,896 °¸³°° LDIR °¸³±° EX DE,HL °¸³²° INC H °¸³³° LD B,A °¸³´° DJNZ SCLL1 ;END OF NORM AREA SCROLL °¸³µ° LD DE,3000H ;BEG OF EXT AREA SCROLL °¸³¶° LD HL,3080H °¸³·° LD B,4 °¸³¸° SCLL3 PUSH BC °¸³¹° LD B,14 °¸´°° SCLL4 LD A,B °¸´±° LD BC,48 °¸´²° LDIR °¸´³° LD BC,10H °¸´´° ADD HL,BC °¸´µ° EX DE,HL °¸´¶° ADD HL,BC °¸´·° EX DE,HL °¸´¸° LD B,A °¸´¹° DJNZ SCLL4 °¸µ°° EX DE,HL °¸µ±° LD BC,0100H °¸µ²° ADD HL,BC °¸µ³° POP BC °¸µ´° DJNZ SCLL3 ;END EXT AREA SCROLL °¸µµ° LD B,12 ;0 LAST 3 NORM AREA LINES °¸µ¶° LD HL,0380H °¸µ·° LD DE,0381H °¸µ¸° SCLL2 LD A,B °¸µ¹° LD BC,127 °¸¶°° LD (HL),0 °¸¶±° LDIR °¸¶²° LD B,A °¸¶³° LD E,81H °¸¶´° LD L,80H °¸¶µ° LD A,4 °¸¶¶° ADD A,H °¸¶·° LD H,A °¸¶¸° LD D,A °¸¶¹° DJNZ SCLL2 ;END NORM AREA 0 °¸·°° LD HL,3380H ;0 LAST 3 EXT AREA LINES °¸·±° LD DE,3381H °¸·²° LD B,4 °¸·³° SCLL5 PUSH BC °¸·´° LD BC,48 °¸·µ° LD (HL),0 °¸·¶° LDIR °¸··° LD A,10H °¸·¸° ADD A,L °¸·¹° LD L,A °¸¸°° LD E,L °¸¸±° INC E °¸¸²° LD BC,48 °¸¸³° LD (HL),0 °¸¸´° LDIR °¸¸µ° LD BC,390H °¸¸¶° ADD HL,BC °¸¸·° LD D,H °¸¸¸° LD E,L °¸¸¹° INC E °¸¹°° POP BC °¸¹±° DJNZ SCLL5 ;END EXT AREA 0 °¸¹²° RET °¸¹³° ;****************************************************** °¸¹´° GRAPIC EQU $ °¸¹µ° SUB 20H ;COMPRESSES ALL OF NORMAL °¸¹¶° GRAL2 CP 70H ;MOD i GRAPHIC COMMANDS °¸¹·° JR C,GRAL1 ;TO THE ABREV. COMMANDS °¸¹¸° SUB 10H °¸¹¹° JR GRAL2 °¹°°° GRAL1 CALL WRITE ;GO PRINT IT °¹°±° CC4 CALL CURADV °¹°²° JP8 JP PRERTN °¹°³° ;****************************************************** °¹°´° CHRNR DB 0 ;CHAR POS COUNTER °¹°µ° LINENR DB 0 ;LINE NUMBER COUNTER °¹°¶° CHRPOS DB 0 ;CHAR POS CNTR WITHIN THE °¹°·° ;NORM OR EXT AREA °¹°¸° CURSOR DB 20H ;STORES CURRENT CURSOR CHR °¹°¹° ;**************************************************** °¹±°° TABLEC EQU $ ;ADDR FOR 24 LINES OF NORM AREA °¹±±° DW 0 °¹±²° DW 2000H °¹±³° DW 1040H °¹±´° DW 0080H °¹±µ° DW 2080H °¹±¶° DW 10C0H °¹±·° DW 0100H °¹±¸° DW 2100H °¹±¹° DW 1140H °¹²°° DW 0180H °¹²±° DW 2180H °¹²²° DW 11C0H °¹²³° DW 0200H °¹²´° DW 2200H °¹²µ° DW 1240H °¹²¶° DW 0280H °¹²·° DW 2280H °¹²¸° DW 12C0H °¹²¹° DW 0300H °¹³°° DW 2300H °¹³±° DW 1340H °¹³²° DW 0380H °¹³³° DW 2380H °¹³´° DW 13C0H °¹³µ° ;****************************************************** °¹³¶° TABLED EQU $ ;ADDR OF 24 LINES OF EXT AREA °¹³·° DW 3000H °¹³¸° DW 3020H °¹³¹° DW 3050H °¹´°° DW 3080H °¹´±° DW 30A0H °¹´²° DW 30D0H °¹´³° DW 3100H °¹´´° DW 3120H °¹´µ° DW 3150H °¹´¶° DW 3180H °¹´·° DW 31A0H °¹´¸° DW 31D0H °¹´¹° DW 3200H °¹µ°° DW 3220H °¹µ±° DW 3250H °¹µ²° DW 3280H °¹µ³° DW 32A0H °¹µ´° DW 32D0H °¹µµ° DW 3300H °¹µ¶° DW 3320H °¹µ·° DW 3350H °¹µ¸° DW 3380H °¹µ¹° DW 33A0H °¹¶°° DW 33D0H °¹¶±° ;******************************************************** °¹¶²° CHRGEN EQU $ ;R/S 6X8 MATRIX °¹¶³° LCBLK DM 0,0,0,0,0,0,0,0 °¹¶´° LCEXC DM 8,8,8,8,8,0,8,0 °¹¶µ° LCQUTE DM 14H,14H,14H,0,0,0,0,0 °¹¶¶° LCNBR DM 14H,14H,3EH,14H,3EH,14H,14H,0 °¹¶·° LC$ DM 8,3CH,0AH,1CH,28H,1EH,8,0 °¹¶¸° LCPCT DM 6,26H,10H,8,6,32H,30H,0 °¹¶¹° LCAMB DM 4,0AH,0AH,4,0AH,12H,2CH,0 °¹·°° LCAPOS DM 0CH,0CH,4,2,0,0,0,0 °¹·±° LCOPER DM 10H,8,4,4,4,8,10H,0 °¹·²° LCCPER DM 4,8,10H,10H,10H,8,4,0 °¹·³° LCAST DM 8,2AH,1CH,3EH,1CH,2AH,8,0 °¹·´° LCPLUS DM 0,8,8,3EH,8,8,0,0 °¹·µ° LCCOMA DM 0,0,0,0,18H,18H,8,4 °¹·¶° LCMIN DM 0,0,0,3EH,0,0,0,0 °¹··° LC. DM 0,0,0,0,0,0CH,0CH,0 °¹·¸° LCSLA DM 0,20H,10H,8,4,2,0,0 °¹·¹° LC0 DM 1CH,22H,32H,2AH,26H,22H,1CH,0 °¹¸°° LC1 DM 8,0CH,8,8,8,8,1CH,0 °¹¸±° LC2 DM 1CH,22H,20H,1CH,2,2,3EH,0 °¹¸²° LC3 DM 1CH,22H,20H,18H,20H,22H,1CH,0 °¹¸³° LC4 DM 10H,18H,14H,12H,3EH,10H,10H,0 °¹¸´° LC5 DM 3EH,2,1EH,20H,20H,22H,1CH,0 °¹¸µ° LC6 DM 18H,4,2,1EH,22H,22H,1CH,0 °¹¸¶° LC7 DM 3EH,20H,10H,8,4,2,2,0 °¹¸·° LC8 DM 1CH,22H,22H,1CH,22H,22H,1CH,0 °¹¸¸° LC9 DM 1CH,22H,22H,3CH,20H,10H,0CH,0 °¹¸¹° LCCOL DM 0,0CH,0CH,0,0CH,0CH,0,0 °¹¹°° LCSCOL DM 0,0CH,0CH,0,0CH,0CH,4,2 °¹¹±° LCLTHN DM 10H,8,4,2,4,8,10H,0 °¹¹²° LCEQU DM 0,0,3EH,0,3EH,0,0,0 °¹¹³° LCGTHN DM 4,8,10H,20H,10H,8,4,0 °¹¹´° LCQUES DM 1CH,22H,20H,10H,8,0,8,0 °¹¹µ° LC@ DM 1CH,22H,20H,2CH,2AH,2AH,1CH,0 °¹¹¶° LCAA DM 8,14H,22H,22H,3EH,22H,22H,0 °¹¹·° LCBB DM 1EH,24H,24H,1CH,24H,24H,1EH,0 °¹¹¸° LCCC DM 1CH,22H,2,2,2,22H,1CH,0 °¹¹¹° LCDD DM 1EH,24H,24H,24H,24H,24H,1EH,0 ±°°°° LCEE DM 3EH,2,2,0EH,2,2,3EH,0 ±°°±° LCFF DM 3EH,2,2,0EH,2,2,2,0 ±°°²° LCGG DM 3CH,2,2,32H,22H,22H,1CH,0 ±°°³° LCHH DM 22H,22H,22H,3EH,22H,22H,22H,0 ±°°´° LCII DM 1CH,8,8,8,8,8,1CH,0 ±°°µ° LCJJ DM 20H,20H,20H,20H,20H,22H,1CH,0 ±°°¶° LCKK DM 22H,12H,0AH,6,0AH,12H,22H,0 ±°°·° LCLL DM 2,2,2,2,2,2,3EH,0 ±°°¸° LCMM DM 22H,36H,2AH,2AH,22H,22H,22H,0 ±°°¹° LCNN DM 22H,26H,2AH,32H,22H,22H,22H,0 ±°±°° LCOO DM 1CH,22H,22H,22H,22H,22H,1CH,0 ±°±±° LCPP DM 1EH,22H,22H,1EH,2,2,2,0 ±°±²° LCQQ DM 1CH,22H,22H,22H,2AH,12H,2CH,0 ±°±³° LCRR DM 1EH,22H,22H,1EH,0AH,12H,22H,0 ±°±´° LCSS DM 1CH,22H,2,1CH,20H,22H,1CH,0 ±°±µ° LCTT DM 3EH,8,8,8,8,8,8,0 ±°±¶° LCUU DM 22H,22H,22H,22H,22H,22H,1CH,0 ±°±·° LCVV DM 22H,22H,22H,14H,14H,8,8,0 ±°±¸° LCWW DM 22H,22H,22H,22H,2AH,36H,22H,0 ±°±¹° LCXX DM 22H,22H,14H,8,14H,22H,22H,0 ±°²°° LCYY DM 22H,22H,14H,8,8,8,8,0 ±°²±° LCZZ DM 3EH,20H,10H,8,4,2,3EH,0 ±°²²° LCOBRK DM 1CH,4,4,4,4,4,1CH,0 ±°²³° LCRSLA DM 0,2,4,8,10H,20H,0,0 ±°²´° LCCBRK DM 1CH,10H,10H,10H,10H,10H,1CH,0 ±°²µ° LCCRT DM 8,14H,22H,0,0,0,0,0 ±°²¶° LCUND DM 0,0,0,0,0,0,3EH,0 ±°²·° LCLB DM 8,14H,4,0EH,4,24H,1EH,0 ±°²¸° LCA DM 0,0,1CH,20H,3CH,22H,3CH,0 ±°²¹° LCB DM 2,2,1AH,26H,22H,26H,1AH,0 ±°³°° LCC DM 0,0,1CH,22H,2,22H,1CH,0 ±°³±° LCD DM 20H,20H,2CH,32H,22H,32H,2CH,0 ±°³²° LCE DM 0,0,1CH,22H,3EH,2,1CH,0 ±°³³° LCF DM 10H,28H,8,1CH,8,8,8,0 ±°³´° LCG DM 0,0,1CH,22H,22H,3CH,20H,1CH ±°³µ° LCH DM 2,2,1AH,26H,22H,22H,22H,0 ±°³¶° LCI DM 8,0,0CH,8,8,8,1CH,0 ±°³·° LCJ DM 20H,0,30H,20H,20H,20H,24H,18H ±°³¸° LCK DM 4,4,24H,14H,0CH,14H,24H,0 ±°³¹° LCL DM 0CH,8,8,8,8,8,1CH,0 ±°´°° LCM DM 0,0,14H,2AH,2AH,2AH,2AH,0 ±°´±° LCN DM 0,0,1AH,26H,22H,22H,22H,0 ±°´²° LCO DM 0,0,1CH,22H,22H,22H,1CH,0 ±°´³° LCP DM 0,0,1AH,26H,26H,1AH,2,2 ±°´´° LCQ DM 0,0,2CH,32H,32H,2CH,20H,20H ±°´µ° LCR DM 0,0,1AH,26H,2,2,2,0 ±°´¶° LCS DM 0,0,3CH,2,1CH,20H,1EH,0 ±°´·° LCT DM 8,8,1CH,8,8,28H,10H,0 ±°´¸° LCU DM 0,0,22H,22H,22H,32H,2CH,0 ±°´¹° LCV DM 0,0,22H,22H,22H,14H,8,0 ±°µ°° LCW DM 0,0,22H,22H,2AH,2AH,14H,0 ±°µ±° LCX DM 0,0,22H,14H,8,14H,22H,0 ±°µ²° LCY DM 0,0,22H,22H,22H,3CH,20H,1CH ±°µ³° LCZ DM 0,0,3EH,10H,8,4,3EH,0 ±°µ´° OPBCE DM 10H,8,8,4,8,8,10H,0 ±°µµ° HBAR DM 8,8,8,0,8,8,8,0 ±°µ¶° CLBCE DM 4,8,8,10H,8,8,4,0 ±°µ·° KANA DM 22H,14H,8,3EH,8,3EH,8,0 ±°µ¸° XHTCH DM 2AH,14H,2AH,14H,2AH,14H,2AH,14H ±°µ¹° G128 DM 0,0,0,0,0,0,0,0 ;GRAPHICS CHAR ±°¶°° G129 DM 7,7,7,7,0,0,0,0 ±°¶±° G130 DM 38H,38H,38H,38H,0,0,0,0 ±°¶²° G131 DM 3FH,3FH,3FH,3FH,0,0,0,0 ±°¶³° G132 DM 0,0,0,0,7,7,7,7 ±°¶´° G133 DM 7,7,7,7,7,7,7,7 ±°¶µ° G134 DM 38H,38H,38H,38H,7,7,7,7 ±°¶¶° G135 DM 3FH,3FH,3FH,3FH,7,7,7,7 ±°¶·° G136 DM 0,0,0,0,38H,38H,38H,38H ±°¶¸° G137 DM 7,7,7,7,38H,38H,38H,38H ±°¶¹° G138 DM 38H,38H,38H,38H,38H,38H,38H,38H ±°·°° G139 DM 3FH,3FH,3FH,3FH,38H,38H,38H,38H ±°·±° G140 DM 0,0,0,0,3FH,3FH,3FH,3FH ±°·²° G141 DM 7,7,7,7,3FH,3FH,3FH,3FH ±°·³° G142 DM 38H,38H,38H,38H,3FH,3FH,3FH,3FH ±°·´° G143 DM 3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH ±°·µ° ENDP EQU $ ±°·¶° END INITA 8H,38H ±°·°° G139 DM 3FH,3FH,3FH,3FH,38H,38H,38H,38H ±°·±° G140 DM 0,0,0,0,3FH,3FH,3FH,3FH ±°·²° G141 DM 7,7,7,7,3FH,3FH,3FH,3FH ±°·³° G142 DM 38H,38H,38H,38H,3FH,3FH,3FH,3FH ±°·´° G143 DM 3FH,3FH,3FH,3FH,3ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ