diff options
Diffstat (limited to 'v4.0/src/DEV/DISPLAY')
49 files changed, 13331 insertions, 0 deletions
diff --git a/v4.0/src/DEV/DISPLAY/CPS-FUNC.INC b/v4.0/src/DEV/DISPLAY/CPS-FUNC.INC new file mode 100644 index 0000000..91bb3c6 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/CPS-FUNC.INC | |||
| @@ -0,0 +1,728 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; | ||
| 3 | ; CODE PAGE DRIVER FUNCTIONS | ||
| 4 | ; | ||
| 5 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 6 | IF1 ; | ||
| 7 | %OUT . ®CPS-FUNC.INC¯ | ||
| 8 | ENDIF ; | ||
| 9 | ; | ||
| 10 | CP_FUNCTION LABEL BYTE ; | ||
| 11 | DW 4CH,OFFSET DESIGNATE_BEGIN ; | ||
| 12 | DW 4DH,OFFSET DESIGNATE_END ; | ||
| 13 | DW 4AH,OFFSET INVOKE_CP ; | ||
| 14 | DW 6AH,OFFSET QUERY_CP ; | ||
| 15 | DW 6BH,OFFSET QUERY_CP_LIST ; | ||
| 16 | NUM_CP_FUNCTION EQU ($-CP_FUNCTION)/4 ; | ||
| 17 | ; | ||
| 18 | DESG_SEMAPHORE DB 0 ; TEMPORARY | ||
| 19 | G_IOCTL_SEMA DB 0 ; SEMAPHORE TO INDICATE IF CPS IS BUSY! | ||
| 20 | ; | ||
| 21 | CHAR_HEIGHT DB 8 ; | ||
| 22 | DB 14 ; | ||
| 23 | DB 16 ; | ||
| 24 | DB 19 ; | ||
| 25 | DB 0 ; | ||
| 26 | DB 0 ; | ||
| 27 | DB 0 ; | ||
| 28 | DB 0 ; | ||
| 29 | NUM_CHAR_HEIGHT EQU ($-CHAR_HEIGHT) ; | ||
| 30 | ; | ||
| 31 | ; | ||
| 32 | GENERIC_IOCTL PROC ; CON OUTPUT | ||
| 33 | CLI ;S; | ||
| 34 | MOV SI,SP ;S; | ||
| 35 | MOV CS:OLD_STACK_O,SI ;S; | ||
| 36 | MOV SI,SS ;S; | ||
| 37 | MOV CS:OLD_STACK_S,SI ;S; | ||
| 38 | MOV AX,OFFSET STACK_START ;S; | ||
| 39 | MOV SI,CS ;S; | ||
| 40 | MOV SS,SI ;S; | ||
| 41 | MOV SP,AX ;S; | ||
| 42 | STI ;S; | ||
| 43 | PUSH DS ; | ||
| 44 | ; | ||
| 45 | PUSH CS ; | ||
| 46 | POP DS ; FROM HERE IN, DS=CS | ||
| 47 | ; | ||
| 48 | LES DI,DWORD PTR BUF.RH_PTRO; GET RH | ||
| 49 | ; | ||
| 50 | GI_1: MOV AL,RH.MINOR_F ; PUT MINOR VERSION IN AL | ||
| 51 | XOR AH,AH ; CLEAR OUT HIGH BYTE FOR COMPARES | ||
| 52 | ; | ||
| 53 | PUSH DI ; SAVE POINTER!!! | ||
| 54 | PUSH ES ; | ||
| 55 | PUSH CS ; | ||
| 56 | POP ES ; | ||
| 57 | MOV CX,NUM_CP_FUNCTION ; | ||
| 58 | MOV DI,OFFSET CP_FUNCTION ; | ||
| 59 | GI_1A: SCASW ; SEARCH THROUGH THE LIST OF VALID FN's | ||
| 60 | JE GI_2 ; | ||
| 61 | INC DI ; | ||
| 62 | INC DI ; | ||
| 63 | LOOP GI_1A ; | ||
| 64 | POP ES ; | ||
| 65 | POP DI ; | ||
| 66 | JUMP GI_3 ; NOT FOUND! | ||
| 67 | GI_2: POP ES ; | ||
| 68 | MOV SI,DI ; | ||
| 69 | POP DI ; | ||
| 70 | ; | ||
| 71 | MOV G_IOCTL_SEMA,ONE ; SEMAPHORE TO INDICATE CALLS ARE BUSY! | ||
| 72 | CALL [SI] ; JMP OFF TO THE APPROPRIATE CALL! | ||
| 73 | MOV G_IOCTL_SEMA,ZERO ; SEMAPHORE TO INDICATE CALLS ARE DONE! | ||
| 74 | STC ; SET CY not TO TRY ATTACHED CON! | ||
| 75 | JUMP GI_4 ; | ||
| 76 | GI_3: CLC ; CLEAR CY TO TRY ATTACHED CON! | ||
| 77 | GI_4: POP DS ; | ||
| 78 | CLI ;S; | ||
| 79 | MOV AX,CS:OLD_STACK_O ;S; | ||
| 80 | MOV SI,CS:OLD_STACK_S ;S; | ||
| 81 | MOV SS,SI ;S; | ||
| 82 | MOV SP,AX ;S; | ||
| 83 | STI ;S; | ||
| 84 | RET ; | ||
| 85 | GENERIC_IOCTL ENDP ; | ||
| 86 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 87 | ; | ||
| 88 | ; DESIGNATE BEGIN | ||
| 89 | ; | ||
| 90 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 91 | DESIGNATE_BEGIN PROC ; | ||
| 92 | LES DI,RH.REQUEST_PACKET ; AND DI TO POINT TO REQUEST PACKET | ||
| 93 | MOV CX,RH.DESG_N ; MOVE THE NUMBER OF CODE PAGES DESIG'ed | ||
| 94 | ; | ||
| 95 | OR CX,CX ; | ||
| 96 | JZ DB_0C ; CHECK IF ZERO CP's DESIGNATED | ||
| 97 | ; IF SO, THEN THIS IS THE REFRESH CALL | ||
| 98 | DB_0: CMP CX,CPD_DESG_N ; CHECK IF NUMBER > # CONFIGed | ||
| 99 | JA DB_0B ; | ||
| 100 | JUMP DB_1B ; | ||
| 101 | ; | ||
| 102 | DB_0D: OR BUF.STATUS,EIGHT ; Error>> KEYBOARD ERROR!! | ||
| 103 | RET ; | ||
| 104 | DB_2D: POP CX ; RESTORE STACK ELEMENTS | ||
| 105 | POP BX ; | ||
| 106 | POP CX ; RESTORE STACK ELEMENTS | ||
| 107 | POP BX ; | ||
| 108 | DB_0B: OR BUF.STATUS,TEN ; Error>> DEVICE ERROR!! | ||
| 109 | RET ; | ||
| 110 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 111 | ; | ||
| 112 | ; REFRESH ACTIVE CODE PAGE TO DISPLAY | ||
| 113 | ; | ||
| 114 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 115 | DB_0C: MOV DESG_SEMAPHORE,TWO ; SET REFRESH COMMENCED | ||
| 116 | MOV CPD_REQ_DESG,CX ; SAVE NUMBER OF REQUESTED CP'S (0) | ||
| 117 | MOV DX,CPD_ACTIVE ; THIS IS THE REFRESH CALL | ||
| 118 | CMP DX,-1 ; CHECK IF THE ACTIVE_CP = INVALID | ||
| 119 | JE DB_0B ; | ||
| 120 | CLC ; CLEAR OUT THE CARRY FLAG | ||
| 121 | CALL SIGNAL_KBD_INVK ; | ||
| 122 | JC DB_0D ; IF CY SET, THEN KEYBOARD IS WRONG | ||
| 123 | CALL TEST_CP ; | ||
| 124 | JC DB_0B ; | ||
| 125 | CALL INVOKE_DATA ; | ||
| 126 | JC DB_0B ; | ||
| 127 | RET ; | ||
| 128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 129 | ; | ||
| 130 | ; THIS SECTION FORMS THE NEW DESIGNATE CP LIST IN THE | ||
| 131 | ; CPD_TEMP_DESG. AT THE SAME TIME THE TOTAL NUMBER OF | ||
| 132 | ; REQUESTED CP's ARE FOUND. | ||
| 133 | ; | ||
| 134 | ; DX will contain the real CP's to load | ||
| 135 | ; | ||
| 136 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 137 | DB_1B: CLD ; SET DIRECTION FORWARD | ||
| 138 | PUSH ES ; | ||
| 139 | PUSH CX ; | ||
| 140 | PUSH DI ; | ||
| 141 | PUSH CS ; | ||
| 142 | POP ES ; | ||
| 143 | MOV CX,CPD_DESG_N ; | ||
| 144 | INC CX ; ACCOUNT FOR NUMBER OF CPS | ||
| 145 | LEA SI,CPD_DESG_N ; COPY PREPARED CP LIST TO TEMP BUFFER | ||
| 146 | LEA DI,CPD_TEMP_DESG ; | ||
| 147 | REP MOVSW ; | ||
| 148 | POP DI ; | ||
| 149 | POP CX ; | ||
| 150 | POP ES ; | ||
| 151 | ; | ||
| 152 | XOR DX,DX ; SET COUNT OF CP's TO PREPARE = 0 | ||
| 153 | PUSH CX ; | ||
| 154 | PUSH BX ; | ||
| 155 | MOV CPD_REQ_DESG,CX ; SAVE NUMBER OF REQUESTED CP'S | ||
| 156 | MOV SI,2 ; | ||
| 157 | MOV BX,SI ; | ||
| 158 | DB_1: MOV AX,RH.DESG_N[BX] ; GET REQUESTED CP | ||
| 159 | CMP AX,-1 ; TEST IF REQUESTED IS PLACE HOLDER.. | ||
| 160 | JE DB_1A ; | ||
| 161 | INC DX ; ADD ONE TO THE # VALID DESG | ||
| 162 | MOV CPD_TEMP_DESG[SI],AX ; OVERLAY THE NEWER CP INTO TEMP BUFFER | ||
| 163 | DB_1A: MOV CPD_REQ_DESG[SI],AX ; COPY TO THE REQ DESG LIST | ||
| 164 | INC SI ; | ||
| 165 | INC SI ; | ||
| 166 | INC BX ; | ||
| 167 | INC BX ; | ||
| 168 | LOOP DB_1 ; | ||
| 169 | POP BX ; | ||
| 170 | POP CX ; | ||
| 171 | ; | ||
| 172 | OR DX,DX ; ARE THERE NO CP's TO PREPARE? | ||
| 173 | JZ DB_0B ; IF NONE TO DESG, THEN ERROR!! | ||
| 174 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 175 | ; | ||
| 176 | ; THIS SECTION CHECKS THE LIST OF DESIGed CP's IN THE | ||
| 177 | ; TEMP BUFFER AND SETS AN ERROR FOR DUPLICATES. | ||
| 178 | ; | ||
| 179 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 180 | DB_2: PUSH BX ; CHECK THE DESIGNATE LIST FOR DUP's | ||
| 181 | PUSH CX ; AND FOR INVALIDS | ||
| 182 | MOV CX,CPD_TEMP_DESG ; | ||
| 183 | DEC CX ; NORMALIZE | ||
| 184 | JZ DB_3 ; IF ZERO, THEN NONE TO COMPARE | ||
| 185 | MOV BX,2 ; SET BX TO START OF LIST.... | ||
| 186 | MOV SI,2 ; SETUP SI READY TO MOVE DESG LIST IN! | ||
| 187 | DB_2A: PUSH BX ; | ||
| 188 | PUSH CX ; | ||
| 189 | MOV AX,CPD_TEMP_DESG[BX] ; GET CP DESGINATED | ||
| 190 | CMP AX,-1 ; TEST IF ENTRY = -1 | ||
| 191 | JE DB_2E ; IF SO, THEN SKIP | ||
| 192 | DB_2B: CMP CX,1 ; TEST IF IT IS THE ONLY ONE TO COMPARE | ||
| 193 | JE DB_2E ; AGAINST! | ||
| 194 | INC BX ; ADVANCE POINTER TO NEXT CP DESIGNATED | ||
| 195 | INC BX ; | ||
| 196 | CMP AX,CPD_TEMP_DESG[BX] ; CHECK IF NEXT CP's = ONE TESTED | ||
| 197 | JNE DB_2C ; IF error, THEN GET OUT | ||
| 198 | JUMP DB_2D ; | ||
| 199 | ; | ||
| 200 | DB_2C: LOOP DB_2B ; | ||
| 201 | DB_2E: POP CX ; | ||
| 202 | POP BX ; | ||
| 203 | INC BX ; | ||
| 204 | INC BX ; | ||
| 205 | OR CX,CX ; | ||
| 206 | JE DB_3 ; TEST IF ONLY ONE CP SPECIFIED | ||
| 207 | LOOP DB_2A ; | ||
| 208 | ; | ||
| 209 | DB_3: POP CX ; | ||
| 210 | POP BX ; | ||
| 211 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 212 | ; | ||
| 213 | ; NOW, THE TEMPORARY BUFFER CONTAINS THE NEW LIST | ||
| 214 | ; OF DESGINATED CODE PAGES. COPY THIS TO THE | ||
| 215 | ; PREPARED CP LIST. | ||
| 216 | ; | ||
| 217 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 218 | PUSH ES ; NOW ALL TESTS ARE SUCCESSFUL, | ||
| 219 | PUSH CX ; | ||
| 220 | PUSH DI ; | ||
| 221 | PUSH CS ; | ||
| 222 | POP ES ; | ||
| 223 | MOV CX,CPD_DESG_N ; | ||
| 224 | INC CX ; ACCOUNT FOR NUMBER OF CPS | ||
| 225 | LEA SI,CPD_TEMP_DESG ; COPY TEMP BUFFER INTO NEW CP LIST | ||
| 226 | LEA DI,CPD_DESG_N ; | ||
| 227 | REP MOVSW ; | ||
| 228 | POP DI ; | ||
| 229 | POP CX ; | ||
| 230 | POP ES ; | ||
| 231 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 232 | ; | ||
| 233 | ; NOW THAT THE LIST IS VALID, THE FONT PARSER & PARSING TABLES | ||
| 234 | ; ARE PREPARED FOR INITIALIZATION OF DESIGNATION. | ||
| 235 | ; | ||
| 236 | ; DX is the number of valid CP's | ||
| 237 | ; CX is the number of CP's desginated | ||
| 238 | ; | ||
| 239 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 240 | PUSH BX ; | ||
| 241 | PUSH ES ; | ||
| 242 | PUSH DI ; | ||
| 243 | ; CX=#DESGed, BX=pnter DESG LIST | ||
| 244 | MOV BX,2 ; SET BX TO POINT TO FIRST CP DESGed | ||
| 245 | LEA DI,FTABLE ; SET DI TO POINT TO MAIN PARSER TABLE | ||
| 246 | PUSH CS ; | ||
| 247 | POP ES ; INITIALIZE ES=CS | ||
| 248 | MOV [DI].FLAG,FLAG_RESTART ; SETUP UP MAIN TABLE FOR F-PARSER.SRC | ||
| 249 | MOV [DI].BUFFER_LEN,0 ; PREPARING FOR START OF DESIGNATION | ||
| 250 | MOV [DI].NUM_FTBLK,DX ; DX=#DESG TO PARSE OUT | ||
| 251 | ; | ||
| 252 | LEA SI,CPD_CLASS ; SET DI TO POINT TO (EGA,LCD) CLASSES | ||
| 253 | LEA DI,FTB1 ; SET DI TO POINT TO FIRST PARSING TABLE | ||
| 254 | ; | ||
| 255 | DB_4: MOV AX,CPD_REQ_DESG[BX] ; | ||
| 256 | CMP AX,-1 ; CHECK FOR PLACE HOLDER | ||
| 257 | JE DB_5 ; | ||
| 258 | MOV [DI].FTB_CP,AX ; COPY THE DESG CP VALUE INTO THE TABLE | ||
| 259 | PUSH CX ; AND ALSO THE CPD_CLASS | ||
| 260 | PUSH SI ; | ||
| 261 | PUSH DI ; | ||
| 262 | LEA DI,[DI].FTB_TID ; | ||
| 263 | MOV CX,8 ; | ||
| 264 | REP MOVSB ; | ||
| 265 | POP DI ; | ||
| 266 | POP SI ; | ||
| 267 | POP CX ; | ||
| 268 | ; | ||
| 269 | ADD DI,TYPE FTBLK ; MOVE POINTERS TO NEXT PARSING TABLE | ||
| 270 | DB_5: INC BX ; | ||
| 271 | INC BX ; ADVANCE BX TO NEXT DESG CP | ||
| 272 | LOOP DB_4 ; | ||
| 273 | ; | ||
| 274 | POP DI ; | ||
| 275 | POP ES ; | ||
| 276 | POP BX ; | ||
| 277 | ; | ||
| 278 | CALL FONT_PARSER ; CALL FONT PARSER TO INITIALIZE WRITES | ||
| 279 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 280 | ; | ||
| 281 | ; THIS WILL COPY THE START LOCATION OF THE FONTS (set by INIT) | ||
| 282 | ; INTO THE START LOCATION FOR THE DESIGNATE WRITE, WHICH FOLLOWS! | ||
| 283 | ; | ||
| 284 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 285 | PUSH SI ; | ||
| 286 | PUSH DI ; | ||
| 287 | PUSH ES ; | ||
| 288 | PUSH CS ; | ||
| 289 | POP ES ; SET EXTRA SEG ES = CS | ||
| 290 | LEA SI,CPD_FONT_PNTER ; | ||
| 291 | LEA DI,CPD_FONT_WRITE ; | ||
| 292 | MOV CX,CPD_DESG_N ; GET NUMBER OF DESIGNATES | ||
| 293 | ADD CX,CX ; DOUBLE FOR SEG:OFFSET | ||
| 294 | REP MOVSW ; COPY FONT START LOC's TO START WRITE | ||
| 295 | XOR DI,DI ; | ||
| 296 | LEA SI,CPD_FONT_DATA ; SET THE FONT_DATA COUNTERS BACK TO 0 | ||
| 297 | MOV CX,CPD_DESG_N ; | ||
| 298 | DB_6: MOV [SI],DI ; | ||
| 299 | INC SI ; | ||
| 300 | INC SI ; | ||
| 301 | LOOP DB_6 ; | ||
| 302 | POP ES ; | ||
| 303 | POP DI ; | ||
| 304 | POP SI ; | ||
| 305 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 306 | ; | ||
| 307 | ; CREATE THE FONT_PRIORITY TABLE | ||
| 308 | ; | ||
| 309 | ; THIS IS USED TO PLACE PRIORITY ON THE FONTS BEING DESIGNATED | ||
| 310 | ; ESPECIALLY WHEN THE NUMBER OF DESIGNATED FONTS < FONTS IN THE | ||
| 311 | ; xxx.CPI FILE. THIS IS USED TO SELECT THE NEEDED FONTS FOR | ||
| 312 | ; CP SUPPORT. | ||
| 313 | ; | ||
| 314 | ; RULE: PRIORITY 1 = ACTIVE MODE's FONT RESOLUTION | ||
| 315 | ; PRIORITY 2 = FONT RESOLUTION (non-repeats) OF ALL DISPLAY | ||
| 316 | ; MODES - STARTING FROM MODE (0) - MODE (?) | ||
| 317 | ; | ||
| 318 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 319 | PUSH AX ; | ||
| 320 | PUSH BX ; | ||
| 321 | PUSH CX ; | ||
| 322 | PUSH SI ; | ||
| 323 | PUSH DI ; | ||
| 324 | ; | ||
| 325 | LEA DI,FONT_PRIORITY ; | ||
| 326 | MOV CX,CPD_FONTS_N ; GET THE NUMBER OF SPECIFIED FONTS | ||
| 327 | ; | ||
| 328 | PUSH ES ; | ||
| 329 | PUSH DI ; | ||
| 330 | PUSH CX ; OVER-WRITE THE TABLE WITH 0FFH's | ||
| 331 | PUSH CS ; | ||
| 332 | POP ES ; | ||
| 333 | MOV AL,-1 ; | ||
| 334 | REP STOSB ; | ||
| 335 | POP CX ; | ||
| 336 | POP DI ; | ||
| 337 | POP ES ; | ||
| 338 | ; | ||
| 339 | XOR AH,AH ; AH=0 FOR MODE SET, AL=MODE_TYPE | ||
| 340 | MOV AL,MODE_VALUE ; | ||
| 341 | MOV SI,AX ; ESTABLISH INDEX INTO LOAD_MECH table | ||
| 342 | MOV AL,[SI].FONT_SIZE ; GET FONT_SIZE FOR THIS MODE_VALUE | ||
| 343 | OR AL,AL ; TEST FOR FONT_VALUE=0 | ||
| 344 | JNZ DB_8 ; | ||
| 345 | CALL ASK_BIOS_FONT_SIZE ; GET BIOS TO INDICATE FONT_SIZE | ||
| 346 | DB_8: MOV CS:[DI],AL ; PUT ACTIVE FONT RESOLUTION INTO 1ST! | ||
| 347 | INC DI ; ADVANCE POINTER TO NEXT POSITION | ||
| 348 | DEC CX ; SUBTRACT ONE FONT RESOLUTION... | ||
| 349 | JZ DB_A ; IF THERE WAS ONLY 1 FONT...THEN DONE | ||
| 350 | ; | ||
| 351 | XOR SI,SI ; START WITH MODE = 0 | ||
| 352 | DB_8A: PUSH CX ; | ||
| 353 | PUSH DI ; | ||
| 354 | MOV CX,NUM_FONT_PRIORITY ; | ||
| 355 | LEA DI,FONT_PRIORITY ; SET DI TO START OF TABLE | ||
| 356 | MOV AL,[SI].FONT_SIZE ; GET FONT SIZE FOR THIS MODE | ||
| 357 | CMP AL,-1 ; TEST FOR INVALID FONT SIZE | ||
| 358 | JE DB_9 ; IF SO, THEN TRY NEXT VALUE | ||
| 359 | OR AL,AL ; TEST FOR FONT_VALUE=0 | ||
| 360 | JNZ DB_8C ; | ||
| 361 | ; OTHERWISE, ONLY EGA BIOS WOULD KNOW!!! | ||
| 362 | CMP SI,EIGHT ; ONLY EIGHT DIFFERENT FONTS PERMITTED!! | ||
| 363 | JAE DB_9 ; | ||
| 364 | ; | ||
| 365 | PUSH CX ; | ||
| 366 | CALL ASK_BIOS_SCAN_LINES ; GET ENCODED SCAN LINES VALUE!!! | ||
| 367 | JC DB_9 ; | ||
| 368 | MOV CX,SI ; PUT INDEX INTO CX | ||
| 369 | INC CL ; NORMALIZE INDEX VALUE (1-8) | ||
| 370 | SAR AL,CL ; | ||
| 371 | POP CX ; | ||
| 372 | JNC DB_9 ; | ||
| 373 | MOV AL,CS:CHAR_HEIGHT[SI] ; | ||
| 374 | ; | ||
| 375 | DB_8C: CMP AL,CS:[DI] ; | ||
| 376 | JE DB_9 ; IF EQUAL, THEN ALREADY IN TABLE | ||
| 377 | INC DI ; OTHERWISE, TAKE THIS MODES FONT RES | ||
| 378 | LOOP DB_8C ; AND COMPARE AGAINST NEXT PRIOR.VALUE | ||
| 379 | ; | ||
| 380 | POP DI ; NEW RESOLUTION FOUND...ADD TO LIST | ||
| 381 | POP CX ; | ||
| 382 | MOV CS:[DI],AL ; PUT NEW VALUE IN THE TABLE | ||
| 383 | INC DI ; AND ADVANCE FOR NEXT FONT RESOLUTION | ||
| 384 | JUMP DB_9A ; LOOP WILL DECREMENT #FONTS TO FIND | ||
| 385 | DB_9: POP DI ; | ||
| 386 | POP CX ; | ||
| 387 | INC CX ; MATCH FOUND..SO LEAVE #FONT TO PRIOR. | ||
| 388 | DB_9A: INC SI ; POINT TO NEXT DISPLAY MODE | ||
| 389 | CMP SI,NUM_FONT_SIZES ; | ||
| 390 | JAE DB_A ; | ||
| 391 | LOOP DB_8A ; CONTINUE UNTIL THE #FONTS DESIGNATED | ||
| 392 | ; HAVE BEEN PRIORITIZED OR ALL MODES | ||
| 393 | DB_A: POP DI ; ARE CHECKED OUT! | ||
| 394 | POP SI ; | ||
| 395 | POP CX ; | ||
| 396 | POP BX ; | ||
| 397 | POP AX ; | ||
| 398 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 399 | ; | ||
| 400 | ; | ||
| 401 | ; | ||
| 402 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 403 | MOV DESG_SEMAPHORE,ONE ; SET DESIGNATION TO COMMENCE... | ||
| 404 | RET ; | ||
| 405 | DESIGNATE_BEGIN ENDP ; | ||
| 406 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 407 | ; | ||
| 408 | ; DESIGNATE END | ||
| 409 | ; | ||
| 410 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 411 | DESIGNATE_END PROC ; | ||
| 412 | CMP DESG_SEMAPHORE,ZERO ; TEST IF DESG_SEMAPHORE = DATA WRITTEN | ||
| 413 | JE DE_1 ; | ||
| 414 | ; | ||
| 415 | CMP CPD_REQ_DESG,ZERO ; TEST IF ZERO CP's REQUESTED (REFRESH) | ||
| 416 | JE DE_0 ; | ||
| 417 | ; | ||
| 418 | CALL VERIFY_FPARSER ; CALL ROUTINE TO VERIFY THAT THE | ||
| 419 | JC DE_2 ; FONT PARSER FINISHED OK... | ||
| 420 | ; | ||
| 421 | PUSH ES ; NOW THE DESIGNATE IS OVER... | ||
| 422 | PUSH DI ; | ||
| 423 | MOV CX,CPD_ACTIVE ; CHECK IF ACTIVE_CP IS STILL VALID! | ||
| 424 | CALL FIND_CP ; TRY AND FIND CPD_ACTIVE? | ||
| 425 | POP DI ; | ||
| 426 | POP ES ; | ||
| 427 | JNC DE_0 ; | ||
| 428 | MOV CX,-1 ; | ||
| 429 | MOV CPD_ACTIVE,CX ; | ||
| 430 | DE_0: MOV DESG_SEMAPHORE,ZERO ; | ||
| 431 | RET ; | ||
| 432 | ; | ||
| 433 | DE_1: OR BUF.STATUS,TWELVE ; Error>> NO DESGINATE START | ||
| 434 | JUMP DE_0 ; | ||
| 435 | DE_2: CALL HANDLE_WRITE_ERROR ; RESET ALL DESIGNATED INFORMATION | ||
| 436 | OR BUF.STATUS,FAIL ; Error>> FONT DATA IS BAD | ||
| 437 | JUMP DE_0 ; | ||
| 438 | DESIGNATE_END ENDP ; | ||
| 439 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 440 | ; | ||
| 441 | ; INVOKE | ||
| 442 | ; | ||
| 443 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 444 | INVOKE_CP PROC ; | ||
| 445 | LES DI,RH.REQUEST_PACKET ; AND DI TO POINT TO REQUEST PACKET | ||
| 446 | MOV CX,RH.INVK_LENGTH ; GET LENGTH OF REMAINING HEADER | ||
| 447 | ; | ||
| 448 | CMP CX,TWO ; TEST IF LENGTH OF TABLE IS GREATER | ||
| 449 | JNE ICP_2 ; THAN ONE CP! | ||
| 450 | ; | ||
| 451 | MOV CX,RH.INVK_CP ; GET THE CODE PAGE TO INVOKE | ||
| 452 | MOV DX,CX ; SAVE CP VALUE | ||
| 453 | CMP CX,-1 ; TEST FOR INVALID CODE PAGE! | ||
| 454 | JE ICP_1A ; | ||
| 455 | ; | ||
| 456 | PUSH CPD_ACTIVE ; SAVE ACTIVE_CP, FOR POSSIBLE USE... | ||
| 457 | MOV CPD_ACTIVE,CX ; | ||
| 458 | CALL TEST_CP ; TRY AND LOAD THE REQUESTED CP | ||
| 459 | POP CX ; | ||
| 460 | JC ICP_1AA ; IF ERROR, THEN RESTORE OLD CP | ||
| 461 | ; | ||
| 462 | CMP CX,CPD_ACTIVE ; TEST IF OLD CP=ACTIVE!!! | ||
| 463 | JE ICP_0A ; | ||
| 464 | ; | ||
| 465 | CALL INVOKE_DATA ; IF EVERYTHING OK, THEN LOAD DATA | ||
| 466 | JC ICP_2A ; | ||
| 467 | ; | ||
| 468 | ICP_0A: CALL SIGNAL_KBD_INVK ; DX CONTAINS CODEPAGE | ||
| 469 | JC ICP_1 ; IF CY THEN ERROR | ||
| 470 | RET ; | ||
| 471 | ; | ||
| 472 | ICP_1: OR BUF.STATUS,EIGHT ; Error>> KEYB ERROR | ||
| 473 | RET ; | ||
| 474 | ICP_1AA:MOV CPD_ACTIVE,CX ; PUT OLD CP BACK ACTIVE | ||
| 475 | ICP_1A: OR BUF.STATUS,SEVEN ; Error>> CODE PAGE NOT FOUND | ||
| 476 | RET ; | ||
| 477 | ICP_2A: MOV CPD_ACTIVE,CX ; | ||
| 478 | ICP_2: OR BUF.STATUS,TEN ; Error>> DEVICE ERROR | ||
| 479 | RET ; | ||
| 480 | INVOKE_CP ENDP ; | ||
| 481 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 482 | ; | ||
| 483 | ; QUERY | ||
| 484 | ; | ||
| 485 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 486 | QUERY_CP PROC ; | ||
| 487 | LES DI,RH.REQUEST_PACKET ; SETUP ADDRESSING TO HEADER | ||
| 488 | ; | ||
| 489 | MOV CX,TWO ; | ||
| 490 | MOV RH.INVK_LENGTH,CX ; CREATE RETURN 'N' VALUE | ||
| 491 | ; | ||
| 492 | CALL TEST_CP ; FIND OUT IF CP DATA IS OK! | ||
| 493 | MOV CX,CPD_ACTIVE ; | ||
| 494 | JNC QCP_A ; | ||
| 495 | MOV CX,-1 ; MAKE THE ACTIVE REPONSE AS INVALID | ||
| 496 | ; | ||
| 497 | QCP_A: MOV RH.INVK_CP,CX ; SET THE CODE PAGE IN HEADER | ||
| 498 | CMP CX,-1 ; TEST IF NO CP SPECIFIED? | ||
| 499 | JE QCP_0 ; | ||
| 500 | RET ; | ||
| 501 | ; | ||
| 502 | QCP_0: OR BUF.STATUS,SEVEN ; Error>> NOT CODE PAGE SPECIFIED | ||
| 503 | RET ; | ||
| 504 | QUERY_CP ENDP ; | ||
| 505 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 506 | ; | ||
| 507 | ; QUERY LIST | ||
| 508 | ; | ||
| 509 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 510 | QUERY_CP_LIST PROC ; | ||
| 511 | LES DI,RH.REQUEST_PACKET ; AND DI TO POINT TO REQUEST PACKET | ||
| 512 | ; | ||
| 513 | MOV CX,CPD_HDWR_N ; | ||
| 514 | MOV RH.QLST_N_HDWR,CX ; | ||
| 515 | ADD CX,CPD_DESG_N ; | ||
| 516 | ADD CX,TWO ; ACCOUNT FOR LENGTH OF 'N's | ||
| 517 | ADD CX,CX ; | ||
| 518 | MOV RH.QLST_LENGTH,CX ; CREATE RETURN TABLE LENGTH | ||
| 519 | ; | ||
| 520 | PUSH AX ; | ||
| 521 | PUSH BX ; | ||
| 522 | PUSH SI ; | ||
| 523 | MOV CX,CPD_HDWR_N ; | ||
| 524 | MOV BX,2 ; | ||
| 525 | OR CX,CX ; | ||
| 526 | JE QCP_3 ; | ||
| 527 | QCP_2: MOV AX,CPD_HDWR_N[BX] ; | ||
| 528 | MOV RH.QLST_N_HDWR[BX],AX ; | ||
| 529 | INC BX ; | ||
| 530 | INC BX ; | ||
| 531 | LOOP QCP_2 ; | ||
| 532 | ; | ||
| 533 | QCP_3: MOV CX,CPD_DESG_N ; SET TABLE ENTRY FOR DESIGNATE | ||
| 534 | MOV RH.QLST_N_HDWR[BX],CX ; | ||
| 535 | INC BX ; | ||
| 536 | INC BX ; | ||
| 537 | ; | ||
| 538 | OR CX,CX ; | ||
| 539 | JE QCP_4A ; | ||
| 540 | MOV SI,2 ; | ||
| 541 | QCP_4: MOV AX,CPD_DESG_N[SI] ; | ||
| 542 | MOV RH.QLST_N_HDWR[BX],AX ; | ||
| 543 | INC BX ; | ||
| 544 | INC BX ; | ||
| 545 | INC SI ; | ||
| 546 | INC SI ; | ||
| 547 | LOOP QCP_4 ; | ||
| 548 | QCP_4A: POP SI ; | ||
| 549 | POP BX ; | ||
| 550 | POP AX ; | ||
| 551 | RET ; | ||
| 552 | QCP_5: OR BUF.STATUS,SEVEN ; Error>> NO CODE PAGE INVOKED | ||
| 553 | RET ; | ||
| 554 | QCP_6: OR BUF.STATUS,TEN ; Error>> DEVICE ERROR | ||
| 555 | RET ; | ||
| 556 | QUERY_CP_LIST ENDP ; | ||
| 557 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 558 | ; | ||
| 559 | ; GET HARDWARE CODE PAGE TABLE | ||
| 560 | ; | ||
| 561 | ; INPUT: | ||
| 562 | ; none | ||
| 563 | ; OUTPUT: | ||
| 564 | ; SI = pointer to HARDWARE table (n,h_cp1,h_cp2,...) | ||
| 565 | ; | ||
| 566 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 567 | GET_HDWR_CP PROC ; | ||
| 568 | LEA SI,CP_PNTER_TABLE ; | ||
| 569 | MOV SI,[SI].HDWR_CP_STRUC ; | ||
| 570 | RET ; | ||
| 571 | GET_HDWR_CP ENDP ; | ||
| 572 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 573 | ; | ||
| 574 | ; GET DESIGNATE CODE PAGE TABLE | ||
| 575 | ; | ||
| 576 | ; INPUT: none | ||
| 577 | ; OUTPUT: SI = pointer to DESIGNATE table (n,d_cp1,d_cp2,...) | ||
| 578 | ; | ||
| 579 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 580 | GET_DESG_CP PROC ; | ||
| 581 | LEA SI,CP_PNTER_TABLE ; | ||
| 582 | MOV SI,[SI].DESG_CP_STRUC ; | ||
| 583 | RET ; | ||
| 584 | GET_DESG_CP ENDP ; | ||
| 585 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 586 | ; | ||
| 587 | ; GET FONT POINTER TABLE | ||
| 588 | ; | ||
| 589 | ; INPUT: | ||
| 590 | ; none | ||
| 591 | ; OUTPUT: | ||
| 592 | ; SI = pointer to FONTS table (pnter_cp1,pnter_cp2,...) | ||
| 593 | ; | ||
| 594 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 595 | GET_FONT_CP PROC ; | ||
| 596 | LEA SI,CP_PNTER_TABLE ; | ||
| 597 | MOV SI,[SI].FONT_CP_STRUC ; | ||
| 598 | RET ; | ||
| 599 | GET_FONT_CP ENDP ; | ||
| 600 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 601 | ; | ||
| 602 | ; GET WRITE POINTER | ||
| 603 | ; | ||
| 604 | ; INPUT: | ||
| 605 | ; none | ||
| 606 | ; OUTPUT: | ||
| 607 | ; SI = pointer to WRITE pointers | ||
| 608 | ; | ||
| 609 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 610 | GET_WRITE_PNTR PROC ; | ||
| 611 | LEA SI,CP_PNTER_TABLE ; | ||
| 612 | MOV SI,[SI].WRITE_DATA_STRUC; | ||
| 613 | RET ; | ||
| 614 | GET_WRITE_PNTR ENDP ; | ||
| 615 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 616 | ; | ||
| 617 | ; FIND ACTIVE CODE PAGE | ||
| 618 | ; | ||
| 619 | ; INPUT: | ||
| 620 | ; CX = code page to find | ||
| 621 | ; OUTPUT: | ||
| 622 | ; 'CY' = 0 if found, 1 if NOT | ||
| 623 | ; CX = 0 for hdwr, 1 for designated | ||
| 624 | ; ES : DI = pointer to FONT data table | ||
| 625 | ; | ||
| 626 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 627 | FIND_CP PROC ; | ||
| 628 | PUSH AX ; | ||
| 629 | PUSH BX ; | ||
| 630 | PUSH SI ; | ||
| 631 | MOV AX,CX ; | ||
| 632 | CALL GET_DESG_CP ; SET BX TO DESG TABLE INFO | ||
| 633 | MOV CX,[SI] ; GET THE NUMBER OF DESG CP's | ||
| 634 | OR CX,CX ; | ||
| 635 | JZ FCP_1 ; MOVE ONTO DESG TEST WITH 0 CP's | ||
| 636 | MOV BX,TWO ; ELSE, USE SI TO POINT TO 1ST CP | ||
| 637 | FCP_0: CMP AX,[SI+BX] ; SEARCH FOR CP MATCH | ||
| 638 | JE FCP_4 ; CP MATCHED!! SET DESG INFO & EXIT | ||
| 639 | INC BX ; ADVANCE SI POINTER TO NEXT CP | ||
| 640 | INC BX ; | ||
| 641 | LOOP FCP_0 ; CHECK ACROSS ALL CP's IN TABLE | ||
| 642 | FCP_1: CALL GET_HDWR_CP ; NOW, REPEAT SAME OPERATION | ||
| 643 | MOV CX,[SI] ; WITH THE HARDWARE CP's | ||
| 644 | OR CX,CX ; | ||
| 645 | JZ FCP_3 ; IF THIS FAR, THEN SET ERROR FOR | ||
| 646 | INC SI ; | ||
| 647 | INC SI ; ADVANCE POINTER BY TWO...SINCE | ||
| 648 | MOV BX,ZERO ; PNTER'S DON'T HAVE 'n'... | ||
| 649 | FCP_2: CMP AX,[SI+BX] ; SEARCH AGAIN FOR CP MATCH | ||
| 650 | JE FCP_5 ; CP MATCHED!! SET HDWR INFO & EXIT | ||
| 651 | INC BX ; ADVANCE SI POINTER TO NEXT CP | ||
| 652 | INC BX ; | ||
| 653 | LOOP FCP_2 ; REPEAT FOR ALL CP ENTRIES | ||
| 654 | FCP_3: XOR CX,CX ; SET RETURN VALUES TO ZERO | ||
| 655 | XOR DI,DI ; | ||
| 656 | POP SI ; | ||
| 657 | POP BX ; | ||
| 658 | POP AX ; | ||
| 659 | STC ; CY=1 FOR ERROR | ||
| 660 | RET ; EXIT | ||
| 661 | FCP_4: MOV CX,ONE ; ®®DESIGNATED CODE PAGE FOUND¯¯ | ||
| 662 | CALL GET_FONT_CP ; SET THE BX VALUE TO THE FONT DATA | ||
| 663 | SUB BX,2 ; NORMALIZE BX VALUE;;;;;;;;;;;;;;; | ||
| 664 | ADD SI,BX ; FORMULATE THE SI INDEX BY ADDING | ||
| 665 | ADD SI,BX ; BX INDEX x 2 (dword FONT_PNTER) | ||
| 666 | MOV DI,[SI] ; TAKE OFFSET DATA FROM font_table | ||
| 667 | MOV ES,[SI+2] ; AND SEGMENT ALSO! | ||
| 668 | POP SI ; | ||
| 669 | POP BX ; | ||
| 670 | POP AX ; | ||
| 671 | CLC ; CY=0 FOR OK! | ||
| 672 | RET ; EXIT | ||
| 673 | FCP_5: XOR CX,CX ; ®®HARDWARE CODE PAGE FOUND¯¯ | ||
| 674 | XOR DI,DI ; | ||
| 675 | POP SI ; | ||
| 676 | POP BX ; | ||
| 677 | POP AX ; | ||
| 678 | CLC ; | ||
| 679 | RET ; EXIT | ||
| 680 | FIND_CP ENDP ; | ||
| 681 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 682 | ; | ||
| 683 | ; VERIFY_FPARSER A ROUTINE THAT CHECKS THE | ||
| 684 | ; FONT_BLOCKS FOR INCOMPLETE DESIGNATES? | ||
| 685 | ; IF SO, THEN AN ERROR OCCURRED... | ||
| 686 | ; | ||
| 687 | ; INPUT: | ||
| 688 | ; FONT_PARSER should be completed parsing | ||
| 689 | ; | ||
| 690 | ; OUTPUT: | ||
| 691 | ; CY = 0 if all is correct | ||
| 692 | ; 1 if one or more designates are incomplete | ||
| 693 | ; | ||
| 694 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 695 | VERIFY_FPARSER PROC ; | ||
| 696 | PUSH AX ; | ||
| 697 | PUSH CX ; | ||
| 698 | PUSH ES ; | ||
| 699 | PUSH DI ; | ||
| 700 | ; | ||
| 701 | PUSH CS ; | ||
| 702 | POP ES ; | ||
| 703 | ; | ||
| 704 | MOV CX,CPD_REQ_DESG ; CX = REQUESTED DESG CP's | ||
| 705 | LEA DI,FTB1 ; SET DI TO POINT TO FIRST PARSING TABLE | ||
| 706 | ; | ||
| 707 | VFP_4: MOV AX,[DI].FTB_STATUS ; GET STATUS OF PARSING TABLE #n | ||
| 708 | CMP AX,FSTAT_COMPLETE ; FIND OUT IF THIS CP COMPLETED? | ||
| 709 | JE VFP_6 ; | ||
| 710 | ; | ||
| 711 | CMP AX,FSTAT_FONT ; CHECK IF AT LEAST THE FONT DATA FOUND | ||
| 712 | JNE VFP_8 ; IF NOT, THEN AN ERROR OCCURRED.... | ||
| 713 | CMP [DI].FTB_DLEFT,ZERO ; IF SO, THEN NO DATA CAN BE LEFT.... | ||
| 714 | JNE VFP_8 ; OTHERWISE ANOTHER ERROR ? | ||
| 715 | VFP_6: ADD DI,TYPE FTBLK ; MOVE POINTERS TO NEXT PARSING TABLE | ||
| 716 | LOOP VFP_4 ; | ||
| 717 | CLC ; | ||
| 718 | JUMP VFP_9 ; | ||
| 719 | ; | ||
| 720 | VFP_8: STC ; | ||
| 721 | VFP_9: POP DI ; | ||
| 722 | POP ES ; | ||
| 723 | POP CX ; | ||
| 724 | POP AX ; | ||
| 725 | RET ; | ||
| 726 | VERIFY_FPARSER ENDP ; | ||
| 727 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 728 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/DEF-EQU.INC b/v4.0/src/DEV/DISPLAY/DEF-EQU.INC new file mode 100644 index 0000000..03e2cdb --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/DEF-EQU.INC | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; *** DEF-EQU *** DEF-EQU *** DEF-EQU *** | ||
| 3 | ; | ||
| 4 | ; EQU's, STRUC's, and OTHER | ||
| 5 | ; | ||
| 6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 7 | ;Modification history ********************************************************* | ||
| 8 | ;AN001; D358 New device driver INIT function package 12/07/87 J.K. | ||
| 9 | ;AN002; D493 Undo D358 02/24/88 J.K. | ||
| 10 | ;AN003; D4934 Change ANSI 2F function number to 1Ah 05/20/88 F.G. | ||
| 11 | ;****************************************************************************** | ||
| 12 | IF1 ; | ||
| 13 | %OUT . ®DEF-EQU .INC¯ | ||
| 14 | ENDIF ; | ||
| 15 | ZERO EQU 0H ; | ||
| 16 | ONE EQU 1H ; | ||
| 17 | TWO EQU 2H ; | ||
| 18 | THREE EQU 3H ; | ||
| 19 | FOUR EQU 4H ; | ||
| 20 | FIVE EQU 5H ; | ||
| 21 | SIX EQU 6H ; | ||
| 22 | SEVEN EQU 7H ; | ||
| 23 | EIGHT EQU 8H ; | ||
| 24 | NINE EQU 9H ; | ||
| 25 | TEN EQU 0AH ; | ||
| 26 | ELEVEN EQU 0BH ; | ||
| 27 | TWELVE EQU 0CH ; | ||
| 28 | ; | ||
| 29 | FAIL EQU 8000H ; fail in designate | ||
| 30 | ; | ||
| 31 | NOT_CY EQU 0FFFEH ; | ||
| 32 | CY EQU ONE ; | ||
| 33 | ; | ||
| 34 | ID_IOCTL EQU 5 ; MAJOR FNCT # FOR 'other' DEVICE | ||
| 35 | ; | ||
| 36 | RH EQU ES:[DI] ; addressability to Request Header | ||
| 37 | ; | ||
| 38 | RHC STRUC ; fields common to all request types | ||
| 39 | DB ? ; length of Request Header | ||
| 40 | DB ? ; unit code (subunit) | ||
| 41 | RHC_CMD DB ? ; command code | ||
| 42 | RHC_STA DW ? ; status | ||
| 43 | DQ ? ; reserved for DOS | ||
| 44 | RHC ENDS ; end of common portion | ||
| 45 | ; | ||
| 46 | CMD_INPUT EQU 4 ; RHC_CMD is INPUT request | ||
| 47 | ; | ||
| 48 | ; Status values for RHC_STA | ||
| 49 | STAT_DONE EQU 0001H ; function complete - high order byte | ||
| 50 | STAT_CMDERR EQU 8000H ; Error code | ||
| 51 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 52 | ; | ||
| 53 | ; DEVICE Header DS:[SI] -- to locate the next CON header | ||
| 54 | ; NEXT device header ES:[DI] | ||
| 55 | ; | ||
| 56 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 57 | HP EQU DS:[SI] ; | ||
| 58 | NHD EQU ES:[DI] ; | ||
| 59 | ; | ||
| 60 | NAME_LEN EQU 8 ; | ||
| 61 | ; | ||
| 62 | DHS STRUC ; | ||
| 63 | DH_NEXTO DW ? ; offset of pointer to next header | ||
| 64 | DH_NEXTS DW ? ; segment of pointer to next header | ||
| 65 | DW ? ; attribute | ||
| 66 | DH_STRAO DW ? ; offset to strategy routine | ||
| 67 | DH_INTRO DW ? ; offset to interrupt routine | ||
| 68 | DH_NAME DB NAME_LEN DUP(0) ; device name in this header | ||
| 69 | DHS ENDS ; end of common portion | ||
| 70 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 71 | ; | ||
| 72 | ; Request Header for INIT | ||
| 73 | ; | ||
| 74 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 75 | RH0 STRUC ; | ||
| 76 | DB (TYPE RHC) DUP (?) ; | ||
| 77 | ; | ||
| 78 | RH0_UNIT DB ? ; not used for CHAR devices | ||
| 79 | RH0_ENDO DW ? ; offset of ending address | ||
| 80 | RH0_ENDS DW ? ; segment of ending address | ||
| 81 | RH0_BPBA DD ? ; POINTER TO BPB FOR CHAR DEVICES | ||
| 82 | db ? ; | ||
| 83 | RH0 ENDS ; | ||
| 84 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 85 | ; | ||
| 86 | ; Request Header for IOCTL | ||
| 87 | ; | ||
| 88 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 89 | RH3 STRUC ; | ||
| 90 | DB (TYPE RHC) DUP (?) ; common portion | ||
| 91 | ; | ||
| 92 | ; | ||
| 93 | DB ? ; media descriptor | ||
| 94 | RH3_DTAO DW ? ; offset of transfer address | ||
| 95 | RH3_DTAS DW ? ; segment of transfer address | ||
| 96 | RH3_CNT DW ? ; byte count | ||
| 97 | RH3 ENDS ; | ||
| 98 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 99 | ; | ||
| 100 | ; IOCTL header format | ||
| 101 | ; | ||
| 102 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 103 | RH_IOCTL STRUC ; | ||
| 104 | STATIC_RH DB 13 DUP(?) ; STANDARD STATIC REQUEST HEADER | ||
| 105 | MAJOR_F DB ? ; MAJOR FUNCTION CALL (SEE DOS 3.30) | ||
| 106 | MINOR_F DB ? ; MINOR FUNCTION CALL (SEE DOS 3.30) | ||
| 107 | CONTENT_SI DW ? ; CONTENTS OF SI | ||
| 108 | CONTENT_DI DW ? ; CONTENTS OF DI | ||
| 109 | REQUEST_PACKET DD ? ; POINTER TO GENERIC IOCTL REQ. PACKET | ||
| 110 | RH_IOCTL ENDS ; | ||
| 111 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 112 | ; | ||
| 113 | ; DESIGNATE BUFFER FORMAT | ||
| 114 | ; | ||
| 115 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 116 | DESG_BUFFER STRUC ; | ||
| 117 | DESG_CARTRIDGE DW ? ; 0=NO CARTRIDGE, 1=CARTRIDGE | ||
| 118 | DESG_LENGTH DW ? ; LENGTH OF REMAINING HEADER | ||
| 119 | DESG_N DW ? ; NUMBER OF CP's DESIGNATED | ||
| 120 | DESG_CP DW ? ; FIRST CP DESIGNATED | ||
| 121 | DESG_BUFFER ENDS ; | ||
| 122 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 123 | ; | ||
| 124 | ; INVOKE BUFFER FORMAT | ||
| 125 | ; | ||
| 126 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 127 | INVK_BUFFER STRUC ; | ||
| 128 | INVK_LENGTH DW ? ; LENGTH OF REMAINING HEADER | ||
| 129 | INVK_CP DW ? ; CP TO INVOKE | ||
| 130 | INVK_BUFFER ENDS ; | ||
| 131 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 132 | ; | ||
| 133 | ; QUERY LIST BUFFER FORMAT | ||
| 134 | ; | ||
| 135 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 136 | QLST_BUFFER STRUC ; | ||
| 137 | QLST_LENGTH DW ? ; LENGTH OF REMAINING HEADER | ||
| 138 | QLST_N_HDWR DW ? ; NUMBER OF HARDWARE CP's | ||
| 139 | QLST_HDWR_CP DW ? ; FIRST HDWR CODE PAGE | ||
| 140 | QLST_N_DESG DW ? ; NUMBER OF DESIGNATED CP's | ||
| 141 | QLST_DESG_CP DW ? ; DESINATED CODE PAGES | ||
| 142 | ; ...there is more data to be | ||
| 143 | ; filled in by the DRIVER | ||
| 144 | QLST_BUFFER ENDS ; | ||
| 145 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 146 | ; | ||
| 147 | ; PARSER STRUC STATEMENTS | ||
| 148 | ; | ||
| 149 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 150 | PARSE_TABLE1 STRUC ; [[[ TABLE 1 ]]] | ||
| 151 | NUM_DEVICES DW ? ; NUMBER OF DEVICES TO SUPPORT | ||
| 152 | DEVICE1_OFFSET DW ? ; (hopefully) CON!!! | ||
| 153 | PARSE_TABLE1 ENDS ; | ||
| 154 | ; | ||
| 155 | PARSE_TABLE2 STRUC ; [[[ TABLE 2 ]]] | ||
| 156 | NUM_ITEMS DW ? ; NUMBER OF ITEMS CREATED BY THE | ||
| 157 | OFFSET_LIST DW ? ; THE 1ST OFFSET OF [ TABLE 2 ] | ||
| 158 | PARSE_TABLE2 ENDS ; PARSER! | ||
| 159 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 160 | ; | ||
| 161 | ; CODE PAGE POINTER STRUCTURE | ||
| 162 | ; | ||
| 163 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 164 | CP_PNTER_STRUC STRUC ; | ||
| 165 | HDWR_CP_STRUC DW ? ; | ||
| 166 | DESG_CP_STRUC DW ? ; | ||
| 167 | FONT_CP_STRUC DW ? ; | ||
| 168 | WRITE_DATA_STRUC DW ? ; | ||
| 169 | FONT_DATA_STRUC DW ? ; | ||
| 170 | CP_PNTER_STRUC ENDS ; | ||
| 171 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 172 | ; | ||
| 173 | ; CON data structure CS:[BX] | ||
| 174 | ; | ||
| 175 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 176 | BUF EQU CS:[BX] ; | ||
| 177 | ; STATES | ||
| 178 | BUF_DATA STRUC ; | ||
| 179 | DEV_HDRO DW -1 ; device driver header offset | ||
| 180 | DEV_HDRS DW -1 ; | ||
| 181 | CON_STRAO DW -1 ; dos CON strategy offset | ||
| 182 | CON_STRAS DW -1 ; | ||
| 183 | CON_INTRO DW -1 ; dos CON strategy offset | ||
| 184 | CON_INTRS DW -1 ; | ||
| 185 | RH_PTRO DW -1 ; request header offset | ||
| 186 | RH_PTRS DW -1 ; segment | ||
| 187 | STATE DW ? ; | ||
| 188 | STATUS DW ? ; | ||
| 189 | BUF_DATA ENDS ; | ||
| 190 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 191 | ; | ||
| 192 | ; General Constants | ||
| 193 | ; | ||
| 194 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 195 | INT_2F_LOW EQU (4*2FH) ; INTERRUPT 2FH CON/KEYB COMMUNICATION | ||
| 196 | INT_2F_HI EQU (4*2FH)+2 ; | ||
| 197 | INT_43_LOW EQU (4*43H) ; INTERRUPT 43H 0-255 CHARACTER VECTOR | ||
| 198 | INT_43_HI EQU (4*43H)+2 ; | ||
| 199 | INT_44_LOW EQU (4*44H) ; INTERRUPT 44H 0-255 CHARACTER VECTOR | ||
| 200 | INT_44_HI EQU (4*44H)+2 ; | ||
| 201 | INT_1F_LOW EQU (4*1FH) ; INTERRUPT 1FH EXTENDED CHARACTER SUPPORT | ||
| 202 | INT_1F_HI EQU (4*1FH)+2 ; | ||
| 203 | INT_10_LOW EQU (4*10H) ; INTERRUPT 10H fix FOR PALACE | ||
| 204 | INT_10_HI EQU (4*10H)+2 ; | ||
| 205 | GET_MODE EQU 0FH ; WGR ;AN000; | ||
| 206 | ON EQU 1 ; WGR ;AN000; | ||
| 207 | OFF EQU 0 ; WGR ;AN000; | ||
| 208 | RECALC_ON EQU 0010H ; WGR ;AN000; | ||
| 209 | VIDEO_CTRL EQU 487H ; WGR ;AN000; | ||
| 210 | ANSI_BUF_SIZE EQU 14 ; WGR ;AN000; | ||
| 211 | DEFAULT_LEN EQU 25 ; WGR ;AN000; | ||
| 212 | NUMBER EQU 1 ; WGR ;AN000; | ||
| 213 | STRING EQU 3 ; WGR ;AN000; | ||
| 214 | COMPLEX EQU 4 ; WGR ;AN000; | ||
| 215 | RC_EOL EQU -1 ; WGR ;AN000; | ||
| 216 | RC_NO_ERROR EQU 0 ; WGR ;AN000; | ||
| 217 | FUNC_CALL EQU 1BH ; WGR ;AN000; | ||
| 218 | VGA_FOUND EQU 00000001B ; WGR ;AN000; | ||
| 219 | EGA_FOUND EQU 00000001B ; WGR ;AN000; | ||
| 220 | LCD_FOUND EQU 00000010B ; WGR ;AN000; | ||
| 221 | CGA_FOUND EQU 00000100B ; WGR ;AN000; | ||
| 222 | MONO_FOUND EQU 00001000B ; WGR ;AN000; | ||
| 223 | ALT_SELECT EQU 12H ; WGR ;AN000; | ||
| 224 | EGA_INFO_CALL EQU 10H ; WGR ;AN000; | ||
| 225 | GET_SYS_ID EQU 0C0H ; WGR ;AN000; | ||
| 226 | GET_STATUS EQU 43H ; WGR ;AN000; | ||
| 227 | LCD_MODEL EQU 0F9H ; WGR ;AN000; | ||
| 228 | COLOR_ADDRESS EQU 0B800H ; WGR ;AN000; | ||
| 229 | MONO_ADDRESS EQU 0B000H ; WGR ;AN000; | ||
| 230 | ERROR_1 EQU 2 ; WGR ;AN000; | ||
| 231 | ERROR_2 EQU 12 ; WGR ;AN000; | ||
| 232 | ERROR_3 EQU 8 ; WGR ;AN000; | ||
| 233 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 234 | ; | ||
| 235 | ; *** INT 2Fh used | ||
| 236 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 237 | |||
| 238 | ANSI_2F EQU 1Ah ; WGR Muliflex number for ANSI ;AC003; | ||
| 239 | ;Catagory code | ||
| 240 | IOCTL_2F EQU 1h ; | ||
| 241 | DA_INFO_2F EQU 2h ;J.K. Information passing to ANSI. | ||
| 242 | ;Subfunction code for IOCTL_2F | ||
| 243 | GET_SUBFUNC EQU 7FH ; WGR Same structure as GET_IOCTL(ANSI);AN000; | ||
| 244 | |||
| 245 | ;Info Struture for DA_INFO_2F. (DS:DX point to this packet) | ||
| 246 | ;J.K. Note: For DOS 4.00, DA_INFO_PACKET is used to signal ANSI.SYS that | ||
| 247 | ;DISPLAY.SYS is calling/finishing INT 10h SET MODE call. ANSI.SYS needs this | ||
| 248 | ;infomration since it also hooks INT 10h vector. | ||
| 249 | ;For this DA_SETMODE_FLAG purpose, DA_INFO_LEVEL and DA_INFO_DIRECTION should always be | ||
| 250 | ;set to 0. This can be extended for another information passing scheme between | ||
| 251 | ;DISPLAY.SYS and ANSI.SYS in the future version. | ||
| 252 | ;For DA_SETMODE_FLAG, DISPLAY.SYS should be extremely careful that when it calls | ||
| 253 | ;with DA_SETMODE_FLAG =1, then it should calls with DA_SETMODE_FLAG=0 | ||
| 254 | ;when it finished INT 10h function call. Otherwise, the system goes ..... | ||
| 255 | DA_INFO_PACKET struc | ||
| 256 | DA_INFO_LEVEL db 0 ; 0 for DA_SETMODE_FLAG, 1 for DA_OPTION_L_STATE query (for OS2 compat. box). | ||
| 257 | DA_SETMODE_FLAG db 0 ; 1: DISPLAY.SYS is calling INT 10h call, SET MODE. 0= finished. | ||
| 258 | DA_OPTION_L_STATE db 0 ; on return from ANSI, 1 = ANSI /L option active, 0 = inactive. | ||
| 259 | DA_INFO_PACKET ends | ||
| 260 | |||
| 261 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 262 | ; | ||
| 263 | ; *** DEF-EQU *** DEF-EQU *** DEF-EQU *** | ||
| 264 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 265 | ; | ||
| 266 | ; Information Block Structure | ||
| 267 | ; (for functionality call) | ||
| 268 | ; | ||
| 269 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 270 | INFO_BLOCK STRUC ; info block for functionality call ;AN000; | ||
| 271 | STATIC_ADDRESS DD ? ; address of static functionality table;AN000; | ||
| 272 | DB 33 DUP(?) ; don't care ;AN000; | ||
| 273 | ACTIVE_DISPLAY DB ? ; active display code ;AN000; | ||
| 274 | ALT_DISPLAY DB ? ; alternate display code ;AN000; | ||
| 275 | DB 3 DUP(?) ; don't care ;AN000; | ||
| 276 | CURRENT_SCANS DB ? ; current number of scan lines ;AN000; | ||
| 277 | DB 2 DUP(?) ; don't care ;AN000; | ||
| 278 | MISC_INFO DB ? ; miscellaneous state information ;AN000; | ||
| 279 | DB 18 DUP(?) ; don't care ;AN000; | ||
| 280 | INFO_BLOCK ENDS ; | ||
| 281 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 282 | ; | ||
| 283 | ; Structure of System ID call return block | ||
| 284 | ; | ||
| 285 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 286 | SYS_ID STRUC ; format of return system config data ;AN000; | ||
| 287 | DW ? ; don't care ;AN000; | ||
| 288 | MODEL_BYTE DB ? ; model byte ;AN000; | ||
| 289 | SYS_ID ENDS ; ;AN000; | ||
| 290 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
diff --git a/v4.0/src/DEV/DISPLAY/DISPLAY.ASM b/v4.0/src/DEV/DISPLAY/DISPLAY.ASM new file mode 100644 index 0000000..16738b7 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/DISPLAY.ASM | |||
| @@ -0,0 +1,388 @@ | |||
| 1 | PAGE ,132 | ||
| 2 | TITLE DOS - CONSOLE Code Page Switching Device Driver | ||
| 3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 4 | ; | ||
| 5 | ; FILENAME: DISPLAY.ASM | ||
| 6 | ; PROGRAM: DISPLAY.SYS (Main module) | ||
| 7 | ; LINK PROCEDURE: Linkk | ||
| 8 | ; INSTALLATION: | ||
| 9 | ; | ||
| 10 | ; This routine is structured as a DOS Device Driver. | ||
| 11 | ; IE it is installed via the CONFIG.SYS command: | ||
| 12 | ; DEVICE=DISPLAY.SYS | ||
| 13 | ; | ||
| 14 | ; The following device commands are supported: | ||
| 15 | ; | ||
| 16 | ; 00 hex - INIT | ||
| 17 | ; ------------- | ||
| 18 | ; Install the CON device driver. This is used for downloading of | ||
| 19 | ; the character sets (various Code Pages) according to the respective | ||
| 20 | ; display adapter. The interface provided by the video BIOS is used | ||
| 21 | ; to download a block of 256 characters (in various resolutions - ie. | ||
| 22 | ; 8x8, 8x14, and 8x16). Also, the interrupt 2F hex is chained for | ||
| 23 | ; communication between the CON device driver and the keyboard routine. | ||
| 24 | ; | ||
| 25 | ; Refer to INIT.ASM for code | ||
| 26 | ; | ||
| 27 | ; 13 hex - GENERIC IOCTL | ||
| 28 | ; ---------------------- | ||
| 29 | ; INVOKE | ||
| 30 | ; ------ | ||
| 31 | ; Invoke is use to activate the appropriate CP font. The mechanism | ||
| 32 | ; is based soley on the code page value passed from the MODE & CHCP | ||
| 33 | ; commands. Once a CP ahs benn INVOKED, it is loaded for ALL display | ||
| 34 | ; modes on the respective display adapter - ONLY IF the proper font | ||
| 35 | ; resolution can be accessed. | ||
| 36 | ; | ||
| 37 | ; Refer to CPS-FUNC.INC for code | ||
| 38 | ; | ||
| 39 | ; DESIGNATE START | ||
| 40 | ; --------------- | ||
| 41 | ; Designate start passes the list of designated code pages to load. | ||
| 42 | ; It is sent just prior to the IOCTL WRITE calls containing the 'CPI' | ||
| 43 | ; files. The list of designated code pages is check for duplicates | ||
| 44 | ; and for invalids (-1). | ||
| 45 | ; | ||
| 46 | ; Refer to CPS-FUNC.INC for code | ||
| 47 | ; | ||
| 48 | ; DESIGNATE STOP | ||
| 49 | ; -------------- | ||
| 50 | ; Once the data (for a DESIGNATION) has been routed to the CPS driver, | ||
| 51 | ; it is followed by a DESIGNATE STOP command. This confirms the completion | ||
| 52 | ; of the DESIGNATE procedure. If there was an error detected during the | ||
| 53 | ; DESIGNATE procedure, it must be followed by a DESIGNATE STOP. | ||
| 54 | ; | ||
| 55 | ; Refer to CPS-FUNC.INC for code | ||
| 56 | ; | ||
| 57 | ; | ||
| 58 | ; 0C hex - IOCTL OUTPUT | ||
| 59 | ; --------------------- | ||
| 60 | ; Following a DESIGNATE START, the contents of the specified data file | ||
| 61 | ; (expected .CPI format) is copied by DOS to the CPS driver. This is | ||
| 62 | ; via the GENERIC IOCTL WRITE calls. During these calls, the data is | ||
| 63 | ; parsed by the FONT-PARSER (F-PARSER.SRC) to select the CP and fonts | ||
| 64 | ; required. | ||
| 65 | ; | ||
| 66 | ; Refer to CPS-FUNC.INC for code | ||
| 67 | ; | ||
| 68 | ; | ||
| 69 | ; (C)Copyright 1988 Microsoft | ||
| 70 | ; | ||
| 71 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 72 | ; | ||
| 73 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 74 | ; | ||
| 75 | ; Request Header (Common portion) | ||
| 76 | ; | ||
| 77 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 78 | IF1 ; | ||
| 79 | %OUT .Compiling: DISPLAY.ASM | ||
| 80 | %OUT . ô CPS-CON driver | ||
| 81 | %OUT . õ Version 3.30 | ||
| 82 | %OUT .Include Files: | ||
| 83 | ENDIF ; | ||
| 84 | INCLUDE MACROS.INC ; | ||
| 85 | INCLUDE DEF-EQU.INC ; | ||
| 86 | ; | ||
| 87 | PUBLIC EOF_MARKER ; | ||
| 88 | PUBLIC CPD_ACTIVE ; | ||
| 89 | PUBLIC CPD_CLASS ; | ||
| 90 | PUBLIC CPD_HDWR_N_MAX ; | ||
| 91 | PUBLIC CPD_DESG_N_MAX ; | ||
| 92 | PUBLIC CPD_HDWR_N ; | ||
| 93 | PUBLIC CPD_DESG_N ; | ||
| 94 | PUBLIC CPD_FONTS_N ; | ||
| 95 | PUBLIC CPD_FONT_PNTER ; | ||
| 96 | PUBLIC IRPT_2 ; | ||
| 97 | PUBLIC IRPT_CMD_EXIT ; | ||
| 98 | PUBLIC DEV_HDR ; | ||
| 99 | EXTRN INIT:NEAR ; | ||
| 100 | ; | ||
| 101 | CODE SEGMENT BYTE PUBLIC 'CODE' ; | ||
| 102 | ASSUME CS:CODE,DS:CODE ; | ||
| 103 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 104 | ;**************************************** | ||
| 105 | ;** Resident Code ** | ||
| 106 | ;**************************************** | ||
| 107 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 108 | START EQU $ ; begin resident data & code | ||
| 109 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 110 | ; | ||
| 111 | ; DEVICE HEADER - must be at offset zero within device driver | ||
| 112 | ; (DHS is defined according to this structure) | ||
| 113 | ; | ||
| 114 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 115 | ORG 0000H ; | ||
| 116 | ; | ||
| 117 | DEV_HDR:DD -1 ; Pointer to next device header | ||
| 118 | DW 0C053H ; Attribute (Char device) | ||
| 119 | DW OFFSET STRATEGY ; Pnter to device "strategy" | ||
| 120 | DW OFFSET INTERRUPT ; Pnter to device "interrupt" | ||
| 121 | DB 'CON ' ; Device name | ||
| 122 | ; and of course a descriptive name | ||
| 123 | ; which can be viewed by a TYPE! | ||
| 124 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 125 | ; | ||
| 126 | ; Console Description Table | ||
| 127 | ; | ||
| 128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 129 | .XLIST ; | ||
| 130 | STACK_END DW 1FFH+60H DUP(0) ; 200H + 'my' needs (re/ DOS 3.30 ref) | ||
| 131 | STACK_START DW 0 ; | ||
| 132 | OLD_STACK_S DW ? ; | ||
| 133 | OLD_STACK_O DW ? ; | ||
| 134 | .LIST ; | ||
| 135 | ; | ||
| 136 | BUF1: BUF_DATA <> ; exclude PAR_EXTRACTO | ||
| 137 | ; | ||
| 138 | CP_PNTER_TABLE DW OFFSET CPD_HDWR_N ; TABLE OF POINTERS TO CP INFO | ||
| 139 | DW OFFSET CPD_DESG_N ; | ||
| 140 | DW OFFSET CPD_FONT_PNTER; | ||
| 141 | DW OFFSET CPD_FONT_WRITE; | ||
| 142 | DW OFFSET CPD_FONT_DATA ; | ||
| 143 | ; | ||
| 144 | CPD_TABLE LABEL WORD ; TABLE DATA INFO FOR CP's | ||
| 145 | CPD_ACTIVE DW -1 ; TEMPORARY | ||
| 146 | CPD_CLASS DB '........' ; THIS IS SET TO (EGA, LCD) | ||
| 147 | CPD_FONTS_N DW -1 ; | ||
| 148 | CPD_HDWR_N DW 0 ; | ||
| 149 | DW 12 DUP(-1) ; (HDWR_CP's) (MAX=12) | ||
| 150 | CPD_HDWR_N_MAX EQU ($-CPD_HDWR_N)/2-1 ; | ||
| 151 | CPD_DESG_N DW -1 ; # OF DESIG CP's | ||
| 152 | DW 12 DUP(-1) ; (DESG CP's) (MAX=12) | ||
| 153 | CPD_DESG_N_MAX EQU ($-CPD_DESG_N)/2-1 ; | ||
| 154 | CPD_FONT_PNTER DW 12 DUP(0,0) ; SEG_OFFSET POINTER TO DATA BUFFERS | ||
| 155 | CPD_FONT_WRITE DW 12 DUP(0,0) ; SEG_OFFSET OF FONTS BEING WRITTEN | ||
| 156 | CPD_FONT_DATA DW 12 DUP(0) ; COUNT OF FONT DATA TO SKIP/COPY! | ||
| 157 | FONT_PRIORITY DB 8 DUP(-1) ; USED TO CLASSIFY FONT PRIORITY | ||
| 158 | NUM_FONT_PRIORITY EQU ($-FONT_PRIORITY) ; DURING A DESIGNATION | ||
| 159 | CPD_TEMP_DESG DW 0 ; # OF DESIG CP's TEMP BUFFER | ||
| 160 | DW 12 DUP(-1) ; (DESG CP's) (MAX=12) | ||
| 161 | CPD_REQ_DESG DW 0 ; # OF DESIG CP's REQUESTED | ||
| 162 | DW 12 DUP(-1) ; (DESG CP's) (MAX=12) | ||
| 163 | ;;;;;;; | ||
| 164 | |||
| 165 | ANSI_DA_INFO DA_INFO_PACKET <> ;J.K. Information packet to ANSI used for MODE SET INT10 call. | ||
| 166 | |||
| 167 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 168 | ; | ||
| 169 | ; CON Device "strategy" entry point | ||
| 170 | ; Retain the Request Header address for use by Interrupt routine | ||
| 171 | ; | ||
| 172 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 173 | ASSUME DS:NOTHING ; | ||
| 174 | STRATEGY PROC FAR ; | ||
| 175 | PUSH BX ; | ||
| 176 | PUSH BX ; | ||
| 177 | LEA BX, BUF1 ; BUF = BUF1 CS:[BX] | ||
| 178 | POP BUF.RH_PTRO ; OFFSET OF REQUEST HEADER | ||
| 179 | MOV BUF.RH_PTRS,ES ; SEGMENT | ||
| 180 | POP BX ; | ||
| 181 | RET ; | ||
| 182 | STRATEGY ENDP ; | ||
| 183 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 184 | ; | ||
| 185 | ; Table of command processing routine entry points | ||
| 186 | ; | ||
| 187 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 188 | CMD_TABLE LABEL WORD ; | ||
| 189 | DW OFFSET INIT ; 0 - Initialization | ||
| 190 | DW OFFSET NO_OPERATION ; 1 - Media check | ||
| 191 | DW OFFSET NO_OPERATION ; 2 - Build BPB | ||
| 192 | DW OFFSET NO_OPERATION ; 3 - IOCTL input | ||
| 193 | DW OFFSET NO_OPERATION ; 4 - Input | ||
| 194 | DW OFFSET NO_OPERATION ; 5 - Non destructive input no wait | ||
| 195 | DW OFFSET NO_OPERATION ; 6 - Input status | ||
| 196 | DW OFFSET NO_OPERATION ; 7 - Input flush | ||
| 197 | DW OFFSET NO_OPERATION ; 8 - Write | ||
| 198 | DW OFFSET NO_OPERATION ; 9 - Output with verify | ||
| 199 | DW OFFSET NO_OPERATION ; A - Output status | ||
| 200 | DW OFFSET NO_OPERATION ; B - Output flush | ||
| 201 | DW OFFSET DESG_WRITE ; C - IOCTL output | ||
| 202 | DW OFFSET NO_OPERATION ; D - Device OPEN | ||
| 203 | DW OFFSET NO_OPERATION ; E - Device CLOSE | ||
| 204 | DW OFFSET NO_OPERATION ; F - Removable media | ||
| 205 | DW OFFSET NO_OPERATION ; 10 - Removable media | ||
| 206 | DW OFFSET NO_OPERATION ; 11 - Removable media | ||
| 207 | DW OFFSET NO_OPERATION ; 12 - Removable media | ||
| 208 | DW OFFSET GENERIC_IOCTL ; 13 - Removable media | ||
| 209 | MAX_CMD EQU ($-CMD_TABLE)/2 ; highest valid command follows | ||
| 210 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 211 | ; | ||
| 212 | ; CON Device "interrupt" entry point | ||
| 213 | ; | ||
| 214 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 215 | INTERRUPT PROC FAR ; device interrupt entry point | ||
| 216 | PUSH AX ; | ||
| 217 | PUSH BX ; | ||
| 218 | PUSH CX ; | ||
| 219 | PUSH DI ; | ||
| 220 | PUSH SI ; | ||
| 221 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 222 | ; | ||
| 223 | ; Common interrupt entry : | ||
| 224 | ; at entry, BUFn (CS:BX) of CON is defined | ||
| 225 | ; | ||
| 226 | ; Check if header link has to be set | ||
| 227 | ; | ||
| 228 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 229 | LEA BX, BUF1 ; | ||
| 230 | MOV DI,OFFSET DEV_HDR ; CON Device header | ||
| 231 | ; | ||
| 232 | MOV BUF.DEV_HDRO,DI ; | ||
| 233 | MOV BUF.DEV_HDRS,CS ; | ||
| 234 | CLD ; all moves forward | ||
| 235 | ; | ||
| 236 | CMP BUF.CON_STRAO, -1 ; | ||
| 237 | JNE L4 ; has been linked to DOS CON | ||
| 238 | CMP BUF.CON_STRAS, -1 ; | ||
| 239 | JNE L4 ; has been linked to DOS CON | ||
| 240 | ; next device header : ES:[DI] | ||
| 241 | LDS SI,DWORD PTR BUF.DEV_HDRO; | ||
| 242 | LES DI,DWORD PTR HP.DH_NEXTO; | ||
| 243 | ; | ||
| 244 | ;$SEARCH WHILE ; pointer to next device header is NOT | ||
| 245 | L1: ; | ||
| 246 | PUSH ES ; -1 | ||
| 247 | POP AX ; | ||
| 248 | CMP AX,-1 ; | ||
| 249 | ;$LEAVE E, AND ; leave if both offset and segment are | ||
| 250 | JNE NOT0FFFF ; | ||
| 251 | ; | ||
| 252 | CMP DI,-1 ; 0FFFFH | ||
| 253 | ;$LEAVE E ; | ||
| 254 | JE L4 ; | ||
| 255 | NOT0FFFF: ; | ||
| 256 | PUSH DI ; | ||
| 257 | PUSH SI ; | ||
| 258 | MOV CX,NAME_LEN ; | ||
| 259 | LEA DI,NHD.DH_NAME ; | ||
| 260 | LEA SI,HP.DH_NAME ; | ||
| 261 | REPE CMPSB ; | ||
| 262 | POP SI ; | ||
| 263 | POP DI ; | ||
| 264 | AND CX,CX ; | ||
| 265 | ;$EXITIF Z ; Exit if name is found in linked hd. | ||
| 266 | JNZ L3 ; Name is not found | ||
| 267 | ; Name is found in the linked header | ||
| 268 | MOV AX,NHD.DH_STRAO ; Get the STRATEGY address | ||
| 269 | MOV BUF.CON_STRAO,AX ; | ||
| 270 | MOV AX,ES ; | ||
| 271 | X1: MOV BUF.CON_STRAS,AX ; | ||
| 272 | ; | ||
| 273 | MOV AX,NHD.DH_INTRO ; Get the INTERRUPT address | ||
| 274 | MOV BUF.CON_INTRO,AX ; | ||
| 275 | MOV AX,ES ; | ||
| 276 | X2: MOV BUF.CON_INTRS,AX ; | ||
| 277 | ; | ||
| 278 | ;$ORELSE ; FInd next header to have the same | ||
| 279 | JMP L4 ; Device Name | ||
| 280 | L3: ; | ||
| 281 | LES DI,DWORD PTR NHD.DH_NEXTO; | ||
| 282 | ;$ENDLOOP ; | ||
| 283 | JMP L1 ; | ||
| 284 | L4: ; | ||
| 285 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 286 | ; | ||
| 287 | ; COMMAND REQUEST | ||
| 288 | ; ES:DI REQUEST HEADER | ||
| 289 | ; | ||
| 290 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 291 | LES DI,DWORD PTR BUF.RH_PTRO; GET RH ADDRESS PASSED TO | ||
| 292 | ; "STRATEGY" INTO ES:DI | ||
| 293 | MOV AL,RH.RHC_CMD ; COMMAND CODE FROM REQUEST HEADER | ||
| 294 | CBW ; ZERO AH (IF AL > 7FH, NEXT COMPARE | ||
| 295 | ; WILL CATCH THAT ERROR) | ||
| 296 | CMP AL,MAX_CMD ; IF COMMAND CODE IS TOO HIGH | ||
| 297 | JAE L6 ; JUMP TO ERROR ROUTINE | ||
| 298 | ; | ||
| 299 | ADD AX,AX ; DOUBLE COMMAND CODE FOR TABLE OFFSET | ||
| 300 | MOV SI,AX ; PUT INTO INDEX REGISTER FOR JMP | ||
| 301 | ; | ||
| 302 | CALL CS:CMD_TABLE[SI] ; CALL ROUTINE TO HANDLE THE COMMAND | ||
| 303 | JC IRPT_CMD_EXIT ; CY=1 IF NO PASS_CONTROL REQ'D | ||
| 304 | CALL PASS_CONTROL ; | ||
| 305 | JUMP IRPT_2 ; | ||
| 306 | ; | ||
| 307 | L6: CALL PASS_CONTROL ; CALL ROUTINE TO HANDLE THE COMMAND | ||
| 308 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 309 | ; At entry to command processing routine | ||
| 310 | ; | ||
| 311 | ; ES:DI = Request Header address | ||
| 312 | ; CS:BX = Buffer for CON | ||
| 313 | ; CS = code segment address | ||
| 314 | ; AX = 0 | ||
| 315 | ; | ||
| 316 | ; top of stack is return address, IRPT_CMD_EXIT | ||
| 317 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 318 | IRPT_CMD_EXIT: ; RETURN FROM COMMAND ROUTINE | ||
| 319 | LES DI,DWORD PTR BUF.RH_PTRO; RESTORE ES:DI AS REQUEST HEADER PTR | ||
| 320 | XOR AX,AX ; | ||
| 321 | OR AX,BUF.STATUS ; | ||
| 322 | JE IRPT_0 ; | ||
| 323 | XOR BUF.STATUS,AX ; SET STATUS BACK TO OK! | ||
| 324 | OR AX,STAT_CMDERR ; | ||
| 325 | JUMP IRPT_1 ; | ||
| 326 | IRPT_0: OR AH,STAT_DONE ; ADD "DONE" BIT TO STATUS WORD | ||
| 327 | IRPT_1: MOV RH.RHC_STA,AX ; STORE STATUS INTO REQUEST HEADER | ||
| 328 | IRPT_2: POP SI ; RESTORE REGISTERS | ||
| 329 | POP DI ; | ||
| 330 | POP CX ; | ||
| 331 | POP BX ; | ||
| 332 | POP AX ; | ||
| 333 | RET ; | ||
| 334 | INTERRUPT ENDP ; | ||
| 335 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 336 | ; | ||
| 337 | ; PASS CONTROL | ||
| 338 | ; | ||
| 339 | ; This calls the attached device to perform any further | ||
| 340 | ; action on the call! | ||
| 341 | ; | ||
| 342 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 343 | PASS_CONTROL PROC ; | ||
| 344 | PUSH BX ; | ||
| 345 | PUSH BX ; | ||
| 346 | POP SI ; | ||
| 347 | LES BX,DWORD PTR BUF.RH_PTRO; pass the request header to the | ||
| 348 | CALL DWORD PTR CS:[SI].CON_STRAO ; CON strategy routine. | ||
| 349 | POP BX ; | ||
| 350 | CALL DWORD PTR BUF.CON_INTRO ; interrupt the CON | ||
| 351 | RET ; | ||
| 352 | PASS_CONTROL ENDP ; | ||
| 353 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 354 | ; | ||
| 355 | ; | ||
| 356 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 357 | NO_OPERATION PROC ; | ||
| 358 | CLC ; | ||
| 359 | RET ; | ||
| 360 | NO_OPERATION ENDP ; | ||
| 361 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 362 | ; | ||
| 363 | ; PULL IN THE CODE PAGE FUNCTION CODE | ||
| 364 | ; | ||
| 365 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 366 | INCLUDE INT2FCOM.INC ; | ||
| 367 | INCLUDE INT10COM.INC ; | ||
| 368 | INCLUDE CPS-FUNC.INC ; | ||
| 369 | INCLUDE WRITE.INC ; SPECIAL MARKER IN WRITE.INC | ||
| 370 | INCLUDE F-PARSER.INC ; | ||
| 371 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 372 | ; | ||
| 373 | ; Adjust the assembly-time instruction counter to a paragraph | ||
| 374 | ; boundary | ||
| 375 | ; | ||
| 376 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 377 | IF ($-START) MOD 16 ; | ||
| 378 | ORG ($-START)+16-(($-START) MOD 16); | ||
| 379 | ENDIF ; | ||
| 380 | EOF_MARKER EQU $ ; end of resident code | ||
| 381 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 382 | ; | ||
| 383 | ; END-OF-CODE | ||
| 384 | ; | ||
| 385 | ;;;;;;;;;;;;;;;;; | ||
| 386 | CODE ENDS ; | ||
| 387 | END ; | ||
| 388 | ;;;;;;;;;;;;;;;;; | ||
diff --git a/v4.0/src/DEV/DISPLAY/DISPLAY.LNK b/v4.0/src/DEV/DISPLAY/DISPLAY.LNK new file mode 100644 index 0000000..e46ab3f --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/DISPLAY.LNK | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | DISPLAY.OBJ+ | ||
| 2 | INIT.OBJ+ | ||
| 3 | PARSER.OBJ | ||
| 4 | DISPLAY.EXE; | ||
diff --git a/v4.0/src/DEV/DISPLAY/DISPLAY.SKL b/v4.0/src/DEV/DISPLAY/DISPLAY.SKL new file mode 100644 index 0000000..985006a --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/DISPLAY.SKL | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; | ||
| 3 | ; Message Skeleton file for DISPLAY.SYS | ||
| 4 | ; | ||
| 5 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 6 | |||
| 7 | :util DISPLAY ; utility name | ||
| 8 | |||
| 9 | :class A | ||
| 10 | :use 1 COMMON1 | ||
| 11 | :def 2 "%1 code page driver cannot be initialized",CR,LF,BELL | ||
| 12 | :def 8 "Insufficient memory",CR,LF,BELL | ||
| 13 | :def 12 "Invalid syntax on DISPLAY.SYS code page driver",CR,LF,BELL | ||
| 14 | |||
| 15 | :end | ||
diff --git a/v4.0/src/DEV/DISPLAY/DISPMES.ASM b/v4.0/src/DEV/DISPLAY/DISPMES.ASM new file mode 100644 index 0000000..3f7c551 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/DISPMES.ASM | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' ; | ||
| 2 | ASSUME CS:CODE,DS:CODE ; | ||
| 3 | ; | ||
| 4 | CR EQU 13 ; | ||
| 5 | LF EQU 10 ; | ||
| 6 | ; | ||
| 7 | PUBLIC ERROR_1B ; | ||
| 8 | PUBLIC ERROR_1A ; | ||
| 9 | PUBLIC ERROR_2 ; | ||
| 10 | PUBLIC ERROR_3 ; | ||
| 11 | ;; PUBLIC MSG_4 ; | ||
| 12 | ; | ||
| 13 | INCLUDE DISPMES.INC | ||
| 14 | ; | ||
| 15 | CODE ENDS ; | ||
| 16 | END ; | ||
| 17 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/437-8X14.ASM b/v4.0/src/DEV/DISPLAY/EGA/437-8X14.ASM new file mode 100644 index 0000000..e723b78 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/437-8X14.ASM | |||
| @@ -0,0 +1,269 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 437 | ||
| 6 | ; FONT RESOLUTION: 8 x 14 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,07Eh,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,07Eh,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,078h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,000h,03Ch,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,000h,03Fh,033h,03Fh,030h,030h,030h,070h,0F0h,0E0h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,000h,07Fh,063h,07Fh,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h ; Hex #F | ||
| 30 | Db 000h,000h,000h,080h,0C0h,0E0h,0F8h,0FEh,0F8h,0E0h,0C0h,080h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,000h,000h,002h,006h,00Eh,03Eh,0FEh,03Eh,00Eh,006h,002h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,000h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #14 | ||
| 35 | Db 000h,000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h ; Hex #17 | ||
| 38 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h ; Hex #23 | ||
| 50 | Db 000h,018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,086h,0C6h,07Ch,018h,018h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,066h,0C6h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,076h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,018h,018h,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,000h,00Ch,018h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,07Eh,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,0C6h,07Ch,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,01Eh,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,0C6h,07Ch,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,000h,0FEh,0C6h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,00Ch,078h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,00Ch,018h,030h,060h,0C0h,060h,030h,018h,00Ch,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,0FCh,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,0F0h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,066h,03Ah,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,000h,0E6h,066h,06Ch,06Ch,078h,06Ch,06Ch,066h,0E6h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,000h,0F0h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,000h,0C6h,0EEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,0F0h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Eh,000h ; Hex #51 | ||
| 96 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,0E6h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,0C6h,0C6h,07Ch,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,06Ch,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,000h,0C6h,0C6h,0C6h,07Ch,038h,07Ch,0C6h,0C6h,0C6h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,000h,0FEh,0C6h,08Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,07Ch,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,000h,01Ch,036h,032h,030h,07Ch,030h,030h,030h,078h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h ; Hex #67 | ||
| 118 | Db 000h,000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,0E6h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 000h,000h,000h,0E0h,060h,060h,066h,06Ch,078h,06Ch,066h,0E6h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,07Ch,060h,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,0F0h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,070h,01Ch,0C6h,07Ch,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,000h,010h,030h,030h,0FCh,030h,030h,030h,036h,01Ch,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,066h,0FEh,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,00Eh,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,070h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 000h,000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #82 | ||
| 145 | Db 000h,000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,000h,0C6h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,000h,038h,06Ch,038h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #87 | ||
| 150 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #89 | ||
| 152 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8B | ||
| 154 | Db 000h,000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8C | ||
| 155 | Db 000h,000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8D | ||
| 156 | Db 000h,0C6h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,038h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #90 | ||
| 159 | Db 000h,000h,000h,000h,000h,000h,0ECh,036h,076h,0DCh,0D8h,06Eh,000h,000h ; Hex #91 | ||
| 160 | Db 000h,000h,000h,03Eh,06Ch,0CCh,0CCh,0FEh,0CCh,0CCh,0CCh,0CEh,000h,000h ; Hex #92 | ||
| 161 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #94 | ||
| 163 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #95 | ||
| 164 | Db 000h,000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,000h,0C6h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #98 | ||
| 167 | Db 000h,0C6h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,0E6h,0FCh,000h,000h ; Hex #9C | ||
| 171 | Db 000h,000h,000h,066h,066h,03Ch,018h,07Eh,018h,07Eh,018h,018h,000h,000h ; Hex #9D | ||
| 172 | Db 000h,000h,0FCh,066h,066h,07Ch,062h,066h,06Fh,066h,066h,0F3h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 000h,000h,00Ch,018h,030h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,000h,00Ch,018h,030h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,000h,030h,030h,000h,030h,030h,060h,0C6h,0C6h,07Ch,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,0C0h,0C0h,0C0h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,018h,030h,06Eh,0C3h,006h,00Ch,01Fh ; Hex #AB | ||
| 186 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,01Ah,036h,06Eh,0DAh,03Fh,006h,006h ; Hex #AC | ||
| 187 | Db 000h,000h,000h,018h,018h,000h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0DCh,076h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0CCh,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,000h,0FEh,0C6h,060h,030h,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,070h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,07Ch,060h,0C0h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,000h,07Eh,018h,03Ch,066h,066h,066h,03Ch,018h,07Eh,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,0EEh,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,03Ch,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,000h,01Eh,030h,060h,060h,07Eh,060h,060h,030h,01Eh,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/437-8X16.ASM b/v4.0/src/DEV/DISPLAY/EGA/437-8X16.ASM new file mode 100644 index 0000000..636a006 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/437-8X16.ASM | |||
| @@ -0,0 +1,269 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 437 | ||
| 6 | ; FONT RESOLUTION: 8 x 16 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,081h,07Eh,000h,000h,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,0FFh,07Eh,000h,000h,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,03Fh,033h,03Fh,030h,030h,030h,030h,070h,0F0h,0E0h,000h,000h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,07Fh,063h,07Fh,063h,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h,000h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h,000h,000h ; Hex #F | ||
| 30 | Db 000h,080h,0C0h,0E0h,0F0h,0F8h,0FEh,0F8h,0F0h,0E0h,0C0h,080h,000h,000h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,002h,006h,00Eh,01Eh,03Eh,0FEh,03Eh,01Eh,00Eh,006h,002h,000h,000h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,066h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #14 | ||
| 35 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,0FEh,000h,000h,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #17 | ||
| 38 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h,000h,000h ; Hex #23 | ||
| 50 | Db 018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,006h,086h,0C6h,07Ch,018h,018h,000h,000h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,060h,0C6h,086h,000h,000h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,030h,030h,030h,060h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,00Ch,018h,030h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h,000h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,018h,07Eh,000h,000h,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C0h,0C6h,0FEh,000h,000h,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,00Ch,01Eh,000h,000h,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,0FEh,0C6h,006h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,006h,00Ch,078h,000h,000h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,006h,00Ch,018h,030h,060h,030h,018h,00Ch,006h,000h,000h,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,066h,0FCh,000h,000h,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,0C6h,066h,03Ah,000h,000h,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,0E6h,066h,066h,06Ch,078h,078h,06Ch,066h,066h,0E6h,000h,000h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,0F0h,060h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Ch,00Eh,000h,000h ; Hex #51 | ||
| 96 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,006h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,0EEh,06Ch,000h,000h,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h,07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,0FEh,0C6h,086h,00Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,066h,07Ch,000h,000h,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,01Ch,036h,032h,030h,078h,030h,030h,030h,030h,078h,000h,000h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h,000h ; Hex #67 | ||
| 118 | Db 000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,006h,006h,066h,066h,03Ch,000h ; Hex #6A | ||
| 121 | Db 000h,000h,0E0h,060h,060h,066h,06Ch,078h,078h,06Ch,066h,0E6h,000h,000h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,0C6h,000h,000h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh,000h ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,060h,038h,00Ch,0C6h,07Ch,000h,000h,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,010h,030h,030h,0FCh,030h,030h,030h,030h,036h,01Ch,000h,000h,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,06Ch,000h,000h,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h,000h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,018h,00Eh,000h,000h,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,018h,070h,000h,000h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0C6h,0FEh,000h,000h,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,018h,070h,000h,000h ; Hex #80 | ||
| 143 | Db 000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #82 | ||
| 145 | Db 000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,0CCh,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,038h,06Ch,038h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,070h,000h,000h ; Hex #87 | ||
| 150 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #89 | ||
| 152 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8B | ||
| 154 | Db 000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8C | ||
| 155 | Db 000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8D | ||
| 156 | Db 000h,0C6h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,038h,010h,038h,06Ch,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #90 | ||
| 159 | Db 000h,000h,000h,000h,000h,0ECh,036h,036h,07Eh,0D8h,0D8h,06Eh,000h,000h,000h,000h ; Hex #91 | ||
| 160 | Db 000h,000h,03Eh,06Ch,0CCh,0CCh,0FEh,0CCh,0CCh,0CCh,0CCh,0CEh,000h,000h,000h,000h ; Hex #92 | ||
| 161 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #94 | ||
| 163 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #95 | ||
| 164 | Db 000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,0C6h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #98 | ||
| 167 | Db 000h,0C6h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9A | ||
| 169 | Db 000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,060h,0E6h,0FCh,000h,000h,000h,000h ; Hex #9C | ||
| 171 | Db 000h,000h,066h,066h,03Ch,018h,07Eh,018h,07Eh,018h,018h,018h,000h,000h,000h,000h ; Hex #9D | ||
| 172 | Db 000h,0F8h,0CCh,0CCh,0F8h,0C4h,0CCh,0DEh,0CCh,0CCh,0CCh,0C6h,000h,000h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h,000h,000h,000h ; Hex #9F | ||
| 174 | Db 000h,018h,030h,060h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,018h,030h,060h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,018h,030h,060h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,030h,030h,000h,030h,030h,060h,0C0h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,006h,000h,000h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,060h,0DCh,086h,00Ch,018h,03Eh,000h,000h ; Hex #AB | ||
| 186 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #AC | ||
| 187 | Db 000h,000h,018h,018h,000h,018h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0D8h,0DCh,076h,000h,000h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0C6h,0CCh,000h,000h,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,0FEh,0C6h,060h,030h,018h,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,0D8h,070h,000h,000h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,066h,07Ch,060h,060h,0C0h,000h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,07Eh,018h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,06Ch,0EEh,000h,000h,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,066h,03Ch,000h,000h,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,0DBh,07Eh,000h,000h,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,01Ch,030h,060h,060h,07Ch,060h,060h,060h,030h,01Ch,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,06Ch,03Ch,01Ch,000h,000h,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/437-8X8.ASM b/v4.0/src/DEV/DISPLAY/EGA/437-8X8.ASM new file mode 100644 index 0000000..08d3f7e --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/437-8X8.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 437 | ||
| 6 | ; FONT RESOLUTION: 8 x 8 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 07Eh,081h,0A5h,081h,0BDh,099h,081h,07Eh ; Hex #1 | ||
| 16 | Db 07Eh,0FFh,0DBh,0FFh,0C3h,0E7h,0FFh,07Eh ; Hex #2 | ||
| 17 | Db 06Ch,0FEh,0FEh,0FEh,07Ch,038h,010h,000h ; Hex #3 | ||
| 18 | Db 010h,038h,07Ch,0FEh,07Ch,038h,010h,000h ; Hex #4 | ||
| 19 | Db 038h,07Ch,038h,0FEh,0FEh,0D6h,010h,038h ; Hex #5 | ||
| 20 | Db 010h,038h,07Ch,0FEh,0FEh,07Ch,010h,038h ; Hex #6 | ||
| 21 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,03Ch,066h,042h,042h,066h,03Ch,000h ; Hex #9 | ||
| 24 | Db 0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh ; Hex #A | ||
| 25 | Db 00Fh,007h,00Fh,07Dh,0CCh,0CCh,0CCh,078h ; Hex #B | ||
| 26 | Db 03Ch,066h,066h,066h,03Ch,018h,07Eh,018h ; Hex #C | ||
| 27 | Db 03Fh,033h,03Fh,030h,030h,070h,0F0h,0E0h ; Hex #D | ||
| 28 | Db 07Fh,063h,07Fh,063h,063h,067h,0E6h,0C0h ; Hex #E | ||
| 29 | Db 018h,0DBh,03Ch,0E7h,0E7h,03Ch,0DBh,018h ; Hex #F | ||
| 30 | Db 080h,0E0h,0F8h,0FEh,0F8h,0E0h,080h,000h ; Hex #10 | ||
| 31 | Db 002h,00Eh,03Eh,0FEh,03Eh,00Eh,002h,000h ; Hex #11 | ||
| 32 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 33 | Db 066h,066h,066h,066h,066h,000h,066h,000h ; Hex #13 | ||
| 34 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #14 | ||
| 35 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,000h ; Hex #16 | ||
| 37 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 38 | Db 018h,03Ch,07Eh,018h,018h,018h,018h,000h ; Hex #18 | ||
| 39 | Db 018h,018h,018h,018h,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 40 | Db 000h,018h,00Ch,0FEh,00Ch,018h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,030h,060h,0FEh,060h,030h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h ; Hex #1C | ||
| 43 | Db 000h,024h,066h,0FFh,066h,024h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,018h,03Ch,07Eh,0FFh,0FFh,000h,000h ; Hex #1E | ||
| 45 | Db 000h,0FFh,0FFh,07Eh,03Ch,018h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 018h,03Ch,03Ch,018h,018h,000h,018h,000h ; Hex #21 | ||
| 48 | Db 066h,066h,024h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 06Ch,06Ch,0FEh,06Ch,0FEh,06Ch,06Ch,000h ; Hex #23 | ||
| 50 | Db 018h,03Eh,060h,03Ch,006h,07Ch,018h,000h ; Hex #24 | ||
| 51 | Db 000h,0C6h,0CCh,018h,030h,066h,0C6h,000h ; Hex #25 | ||
| 52 | Db 038h,06Ch,038h,076h,0DCh,0CCh,076h,000h ; Hex #26 | ||
| 53 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 00Ch,018h,030h,030h,030h,018h,00Ch,000h ; Hex #28 | ||
| 55 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 56 | Db 000h,066h,03Ch,0FFh,03Ch,066h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 61 | Db 006h,00Ch,018h,030h,060h,0C0h,080h,000h ; Hex #2F | ||
| 62 | Db 038h,06Ch,0C6h,0D6h,0C6h,06Ch,038h,000h ; Hex #30 | ||
| 63 | Db 018h,038h,018h,018h,018h,018h,07Eh,000h ; Hex #31 | ||
| 64 | Db 07Ch,0C6h,006h,01Ch,030h,066h,0FEh,000h ; Hex #32 | ||
| 65 | Db 07Ch,0C6h,006h,03Ch,006h,0C6h,07Ch,000h ; Hex #33 | ||
| 66 | Db 01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,01Eh,000h ; Hex #34 | ||
| 67 | Db 0FEh,0C0h,0C0h,0FCh,006h,0C6h,07Ch,000h ; Hex #35 | ||
| 68 | Db 038h,060h,0C0h,0FCh,0C6h,0C6h,07Ch,000h ; Hex #36 | ||
| 69 | Db 0FEh,0C6h,00Ch,018h,030h,030h,030h,000h ; Hex #37 | ||
| 70 | Db 07Ch,0C6h,0C6h,07Ch,0C6h,0C6h,07Ch,000h ; Hex #38 | ||
| 71 | Db 07Ch,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #39 | ||
| 72 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 73 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 74 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,07Eh,000h,000h,07Eh,000h,000h ; Hex #3D | ||
| 76 | Db 060h,030h,018h,00Ch,018h,030h,060h,000h ; Hex #3E | ||
| 77 | Db 07Ch,0C6h,00Ch,018h,018h,000h,018h,000h ; Hex #3F | ||
| 78 | Db 07Ch,0C6h,0DEh,0DEh,0DEh,0C0h,078h,000h ; Hex #40 | ||
| 79 | Db 038h,06Ch,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #41 | ||
| 80 | Db 0FCh,066h,066h,07Ch,066h,066h,0FCh,000h ; Hex #42 | ||
| 81 | Db 03Ch,066h,0C0h,0C0h,0C0h,066h,03Ch,000h ; Hex #43 | ||
| 82 | Db 0F8h,06Ch,066h,066h,066h,06Ch,0F8h,000h ; Hex #44 | ||
| 83 | Db 0FEh,062h,068h,078h,068h,062h,0FEh,000h ; Hex #45 | ||
| 84 | Db 0FEh,062h,068h,078h,068h,060h,0F0h,000h ; Hex #46 | ||
| 85 | Db 03Ch,066h,0C0h,0C0h,0CEh,066h,03Ah,000h ; Hex #47 | ||
| 86 | Db 0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #48 | ||
| 87 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 88 | Db 01Eh,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h ; Hex #4A | ||
| 89 | Db 0E6h,066h,06Ch,078h,06Ch,066h,0E6h,000h ; Hex #4B | ||
| 90 | Db 0F0h,060h,060h,060h,062h,066h,0FEh,000h ; Hex #4C | ||
| 91 | Db 0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h ; Hex #4D | ||
| 92 | Db 0C6h,0E6h,0F6h,0DEh,0CEh,0C6h,0C6h,000h ; Hex #4E | ||
| 93 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #4F | ||
| 94 | Db 0FCh,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #50 | ||
| 95 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0CEh,07Ch,00Eh ; Hex #51 | ||
| 96 | Db 0FCh,066h,066h,07Ch,06Ch,066h,0E6h,000h ; Hex #52 | ||
| 97 | Db 03Ch,066h,030h,018h,00Ch,066h,03Ch,000h ; Hex #53 | ||
| 98 | Db 07Eh,07Eh,05Ah,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 99 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #55 | ||
| 100 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #56 | ||
| 101 | Db 0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #57 | ||
| 102 | Db 0C6h,0C6h,06Ch,038h,06Ch,0C6h,0C6h,000h ; Hex #58 | ||
| 103 | Db 066h,066h,066h,03Ch,018h,018h,03Ch,000h ; Hex #59 | ||
| 104 | Db 0FEh,0C6h,08Ch,018h,032h,066h,0FEh,000h ; Hex #5A | ||
| 105 | Db 03Ch,030h,030h,030h,030h,030h,03Ch,000h ; Hex #5B | ||
| 106 | Db 0C0h,060h,030h,018h,00Ch,006h,002h,000h ; Hex #5C | ||
| 107 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #61 | ||
| 112 | Db 0E0h,060h,07Ch,066h,066h,066h,0DCh,000h ; Hex #62 | ||
| 113 | Db 000h,000h,07Ch,0C6h,0C0h,0C6h,07Ch,000h ; Hex #63 | ||
| 114 | Db 01Ch,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #65 | ||
| 116 | Db 03Ch,066h,060h,0F8h,060h,060h,0F0h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,0F8h ; Hex #67 | ||
| 118 | Db 0E0h,060h,06Ch,076h,066h,066h,0E6h,000h ; Hex #68 | ||
| 119 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 120 | Db 006h,000h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 0E0h,060h,066h,06Ch,078h,06Ch,0E6h,000h ; Hex #6B | ||
| 122 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 123 | Db 000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,0DCh,066h,066h,066h,066h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #6F | ||
| 126 | Db 000h,000h,0DCh,066h,066h,07Ch,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,0DCh,076h,060h,060h,0F0h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,07Eh,0C0h,07Ch,006h,0FCh,000h ; Hex #73 | ||
| 130 | Db 030h,030h,0FCh,030h,030h,036h,01Ch,000h ; Hex #74 | ||
| 131 | Db 000h,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #77 | ||
| 134 | Db 000h,000h,0C6h,06Ch,038h,06Ch,0C6h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #79 | ||
| 136 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 137 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 138 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 139 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 140 | Db 076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h ; Hex #7F | ||
| 142 | Db 07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 0CCh,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #81 | ||
| 144 | Db 00Ch,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #82 | ||
| 145 | Db 07Ch,082h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #83 | ||
| 146 | Db 0C6h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #84 | ||
| 147 | Db 030h,018h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #85 | ||
| 148 | Db 030h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,07Eh,0C0h,0C0h,07Eh,00Ch,038h ; Hex #87 | ||
| 150 | Db 07Ch,082h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #88 | ||
| 151 | Db 0C6h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #89 | ||
| 152 | Db 030h,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #8A | ||
| 153 | Db 066h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 154 | Db 07Ch,082h,038h,018h,018h,018h,03Ch,000h ; Hex #8C | ||
| 155 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 156 | Db 0C6h,038h,06Ch,0C6h,0FEh,0C6h,0C6h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,07Ch,0C6h,0FEh,0C6h,0C6h,000h ; Hex #8F | ||
| 158 | Db 018h,030h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #90 | ||
| 159 | Db 000h,000h,07Eh,018h,07Eh,0D8h,07Eh,000h ; Hex #91 | ||
| 160 | Db 03Eh,06Ch,0CCh,0FEh,0CCh,0CCh,0CEh,000h ; Hex #92 | ||
| 161 | Db 07Ch,082h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #93 | ||
| 162 | Db 0C6h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #94 | ||
| 163 | Db 030h,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #95 | ||
| 164 | Db 078h,084h,000h,0CCh,0CCh,0CCh,076h,000h ; Hex #96 | ||
| 165 | Db 060h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #97 | ||
| 166 | Db 0C6h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #98 | ||
| 167 | Db 0C6h,038h,06Ch,0C6h,0C6h,06Ch,038h,000h ; Hex #99 | ||
| 168 | Db 0C6h,000h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9A | ||
| 169 | Db 018h,018h,07Eh,0C0h,0C0h,07Eh,018h,018h ; Hex #9B | ||
| 170 | Db 038h,06Ch,064h,0F0h,060h,066h,0FCh,000h ; Hex #9C | ||
| 171 | Db 066h,066h,03Ch,07Eh,018h,07Eh,018h,018h ; Hex #9D | ||
| 172 | Db 0F8h,0CCh,0CCh,0FAh,0C6h,0CFh,0C6h,0C7h ; Hex #9E | ||
| 173 | Db 00Eh,01Bh,018h,03Ch,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 018h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #A0 | ||
| 175 | Db 00Ch,018h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 176 | Db 00Ch,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #A2 | ||
| 177 | Db 018h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #A3 | ||
| 178 | Db 076h,0DCh,000h,0DCh,066h,066h,066h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0E6h,0F6h,0DEh,0CEh,000h ; Hex #A5 | ||
| 180 | Db 03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h ; Hex #A6 | ||
| 181 | Db 038h,06Ch,06Ch,038h,000h,07Ch,000h,000h ; Hex #A7 | ||
| 182 | Db 018h,000h,018h,018h,030h,063h,03Eh,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,0FEh,0C0h,0C0h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,0FEh,006h,006h,000h,000h ; Hex #AA | ||
| 185 | Db 063h,0E6h,06Ch,07Eh,033h,066h,0CCh,00Fh ; Hex #AB | ||
| 186 | Db 063h,0E6h,06Ch,07Ah,036h,06Ah,0DFh,006h ; Hex #AC | ||
| 187 | Db 018h,000h,018h,018h,03Ch,03Ch,018h,000h ; Hex #AD | ||
| 188 | Db 000h,033h,066h,0CCh,066h,033h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,0CCh,066h,033h,066h,0CCh,000h,000h ; Hex #AF | ||
| 190 | Db 022h,088h,022h,088h,022h,088h,022h,088h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,0F6h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,0FEh,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,0F6h,006h,0F6h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,0FEh,006h,0F6h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,0F6h,006h,0FEh,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,0FEh,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,0F8h,018h,0F8h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,0F8h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,01Fh,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,0FFh,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,0FFh,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,01Fh,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,0FFh,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,0FFh,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,01Fh,018h,01Fh,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,037h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,037h,030h,03Fh,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,03Fh,030h,037h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,0F7h,000h,0FFh,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,0FFh,000h,0F7h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,037h,030h,037h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,0F7h,000h,0F7h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,0FFh,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,0FFh,000h,0FFh,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,0FFh,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,03Fh,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,01Fh,018h,01Fh,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,01Fh,018h,01Fh,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,03Fh,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,0FFh,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,0FFh,018h,0FFh,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,01Fh,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,076h,0DCh,0C8h,0DCh,076h,000h ; Hex #E0 | ||
| 239 | Db 078h,0CCh,0CCh,0D8h,0CCh,0C6h,0CCh,000h ; Hex #E1 | ||
| 240 | Db 0FEh,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,000h ; Hex #E3 | ||
| 242 | Db 0FEh,0C6h,060h,030h,060h,0C6h,0FEh,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,07Eh,0D8h,0D8h,0D8h,070h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,066h,066h,066h,066h,07Ch,0C0h ; Hex #E6 | ||
| 245 | Db 000h,076h,0DCh,018h,018h,018h,018h,000h ; Hex #E7 | ||
| 246 | Db 07Eh,018h,03Ch,066h,066h,03Ch,018h,07Eh ; Hex #E8 | ||
| 247 | Db 038h,06Ch,0C6h,0FEh,0C6h,06Ch,038h,000h ; Hex #E9 | ||
| 248 | Db 038h,06Ch,0C6h,0C6h,06Ch,06Ch,0EEh,000h ; Hex #EA | ||
| 249 | Db 00Eh,018h,00Ch,03Eh,066h,066h,03Ch,000h ; Hex #EB | ||
| 250 | Db 000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h ; Hex #EC | ||
| 251 | Db 006h,00Ch,07Eh,0DBh,0DBh,07Eh,060h,0C0h ; Hex #ED | ||
| 252 | Db 01Eh,030h,060h,07Eh,060h,030h,01Eh,000h ; Hex #EE | ||
| 253 | Db 000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,000h ; Hex #EF | ||
| 254 | Db 000h,0FEh,000h,0FEh,000h,0FEh,000h,000h ; Hex #F0 | ||
| 255 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 256 | Db 030h,018h,00Ch,018h,030h,000h,07Eh,000h ; Hex #F2 | ||
| 257 | Db 00Ch,018h,030h,018h,00Ch,000h,07Eh,000h ; Hex #F3 | ||
| 258 | Db 00Eh,01Bh,01Bh,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,0D8h,0D8h,070h ; Hex #F5 | ||
| 260 | Db 000h,018h,000h,07Eh,000h,018h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,076h,0DCh,000h,076h,0DCh,000h,000h ; Hex #F7 | ||
| 262 | Db 038h,06Ch,06Ch,038h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,018h,018h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 00Fh,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch ; Hex #FB | ||
| 266 | Db 06Ch,036h,036h,036h,036h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 078h,00Ch,018h,030h,07Ch,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/437-CPI.ASM b/v4.0/src/DEV/DISPLAY/EGA/437-CPI.ASM new file mode 100644 index 0000000..6a44e43 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/437-CPI.ASM | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 437 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA437: DW LEN_437 ; SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA437,0 ; POINTER TO NEXT HEADER | ||
| 14 | DW 1 ; DEVICE TYPE | ||
| 15 | DB "EGA " ; DEVICE SUBTYPE ID | ||
| 16 | DW 437 ; CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ; RESERVED | ||
| 18 | DW OFFSET DATA437,0 ; POINTER TO FONTS | ||
| 19 | LEN_437 EQU ($-EGA437) ; | ||
| 20 | ; | ||
| 21 | DATA437:DW 1 ; CART/NON-CART | ||
| 22 | DW 3 ; # OF FONTS | ||
| 23 | DW LEN_D437 ; LENGTH OF DATA | ||
| 24 | D437: ; | ||
| 25 | DB 16,8 ; CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ; NUMBER OF CHARACTERS | ||
| 28 | ; | ||
| 29 | INCLUDE 437-8X16.ASM ; | ||
| 30 | ; | ||
| 31 | DB 14,8 ; CHARACTER BOX SIZE | ||
| 32 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 33 | DW 256 ; NUMBER OF CHARACTERS | ||
| 34 | ; | ||
| 35 | INCLUDE 437-8X14.ASM ; | ||
| 36 | ; | ||
| 37 | DB 8,8 ; CHARACTER BOX SIZE | ||
| 38 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 39 | DW 256 ; NUMBER OF CHARACTERS | ||
| 40 | ; | ||
| 41 | INCLUDE 437-8X8.ASM ; | ||
| 42 | ; | ||
| 43 | LEN_D437 EQU ($-D437) ; | ||
| 44 | ; | ||
| 45 | POST_EGA437 EQU $ ; | ||
| 46 | ; | ||
| 47 | CODE ENDS ; | ||
| 48 | END ; | ||
| 49 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/850-8X14.ASM b/v4.0/src/DEV/DISPLAY/EGA/850-8X14.ASM new file mode 100644 index 0000000..10d6568 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/850-8X14.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 850 | ||
| 6 | ; FONT RESOLUTION: 8 x 14 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,07Eh,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,07Eh,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,078h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,000h,03Ch,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,000h,03Fh,033h,03Fh,030h,030h,030h,070h,0F0h,0E0h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,000h,07Fh,063h,07Fh,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h ; Hex #F | ||
| 30 | Db 000h,000h,000h,080h,0C0h,0E0h,0F8h,0FEh,0F8h,0E0h,0C0h,080h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,000h,000h,002h,006h,00Eh,03Eh,0FEh,03Eh,00Eh,006h,002h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,000h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #14 | ||
| 35 | Db 000h,000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h ; Hex #17 | ||
| 38 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h ; Hex #23 | ||
| 50 | Db 000h,018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,086h,0C6h,07Ch,018h,018h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,066h,0C6h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,076h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,018h,018h,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,000h,00Ch,018h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,07Eh,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,0C6h,07Ch,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,01Eh,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,0C6h,07Ch,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,000h,0FEh,0C6h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,00Ch,078h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,00Ch,018h,030h,060h,0C0h,060h,030h,018h,00Ch,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,0FCh,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,0F0h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,066h,03Ah,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,000h,0E6h,066h,06Ch,06Ch,078h,06Ch,06Ch,066h,0E6h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,000h,0F0h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,000h,0C6h,0EEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,0F0h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Eh,000h ; Hex #51 | ||
| 96 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,0E6h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,0C6h,0C6h,07Ch,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,06Ch,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,000h,0C6h,0C6h,0C6h,07Ch,038h,07Ch,0C6h,0C6h,0C6h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,000h,0FEh,0C6h,08Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,07Ch,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,000h,01Ch,036h,032h,030h,07Ch,030h,030h,030h,078h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h ; Hex #67 | ||
| 118 | Db 000h,000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,0E6h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 000h,000h,000h,0E0h,060h,060h,066h,06Ch,078h,06Ch,066h,0E6h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,07Ch,060h,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,0F0h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,070h,01Ch,0C6h,07Ch,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,000h,010h,030h,030h,0FCh,030h,030h,030h,036h,01Ch,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,066h,0FEh,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,00Eh,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,070h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 000h,000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #82 | ||
| 145 | Db 000h,000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,000h,0C6h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,000h,038h,06Ch,038h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #87 | ||
| 150 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #89 | ||
| 152 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8B | ||
| 154 | Db 000h,000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8C | ||
| 155 | Db 000h,000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8D | ||
| 156 | Db 000h,0C6h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,038h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #90 | ||
| 159 | Db 000h,000h,000h,000h,000h,000h,0ECh,036h,076h,0DCh,0D8h,06Eh,000h,000h ; Hex #91 | ||
| 160 | Db 000h,000h,000h,03Eh,06Ch,0CCh,0CCh,0FEh,0CCh,0CCh,0CCh,0CEh,000h,000h ; Hex #92 | ||
| 161 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #94 | ||
| 163 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #95 | ||
| 164 | Db 000h,000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,000h,0C6h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #98 | ||
| 167 | Db 000h,0C6h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,000h,000h,000h,000h,07Ch,0CEh,0DEh,0F6h,0E6h,07Ch,000h,000h ; Hex #9B | ||
| 170 | Db 000h,000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,0E6h,0FCh,000h,000h ; Hex #9C | ||
| 171 | Db 000h,000h,004h,07Ch,0CEh,0CEh,0D6h,0D6h,0D6h,0E6h,0E6h,07Ch,040h,000h ; Hex #9D | ||
| 172 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 000h,000h,00Ch,018h,030h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,000h,00Ch,018h,030h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,000h,030h,030h,000h,030h,030h,060h,0C6h,0C6h,07Ch,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,038h,044h,0BAh,0AAh,0B2h,0AAh,0AAh,044h,038h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,018h,030h,06Eh,0C3h,006h,00Ch,01Fh ; Hex #AB | ||
| 186 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,01Ah,036h,06Eh,0DAh,03Fh,006h,006h ; Hex #AC | ||
| 187 | Db 000h,000h,000h,018h,018h,000h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 030h,060h,0C0h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #B5 | ||
| 196 | Db 038h,06Ch,0C6h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #B6 | ||
| 197 | Db 018h,00Ch,006h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,038h,044h,09Ah,0A2h,0A2h,0A2h,09Ah,044h,038h,000h,000h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 000h,000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h ; Hex #BD | ||
| 204 | Db 000h,000h,000h,066h,066h,03Ch,018h,07Eh,018h,07Eh,018h,018h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 000h,000h,000h,076h,0DCh,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #C6 | ||
| 213 | Db 076h,0DCh,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 000h,000h,000h,000h,000h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,000h,000h ; Hex #CF | ||
| 222 | Db 000h,000h,000h,034h,018h,02Ch,006h,03Eh,066h,066h,066h,03Ch,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,0F8h,06Ch,066h,066h,0F6h,066h,066h,06Ch,0F8h,000h,000h ; Hex #D1 | ||
| 224 | Db 038h,06Ch,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #D2 | ||
| 225 | Db 000h,0C6h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #D3 | ||
| 226 | Db 030h,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #D5 | ||
| 228 | Db 00Ch,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #D6 | ||
| 229 | Db 03Ch,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #D7 | ||
| 230 | Db 000h,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 000h,000h,018h,018h,018h,018h,000h,000h,000h,018h,018h,018h,018h,000h ; Hex #DD | ||
| 236 | Db 030h,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0CCh,000h,000h ; Hex #E1 | ||
| 240 | Db 038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #E2 | ||
| 241 | Db 030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,000h,076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #E4 | ||
| 243 | Db 076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,07Ch,060h,0C0h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,0E0h,060h,060h,07Ch,066h,066h,066h,066h,07Ch,060h,0F0h ; Hex #E7 | ||
| 246 | Db 000h,000h,000h,0F0h,060h,07Ch,066h,066h,066h,07Ch,060h,0F0h,000h,000h ; Hex #E8 | ||
| 247 | Db 018h,030h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #E9 | ||
| 248 | Db 038h,06Ch,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #EA | ||
| 249 | Db 030h,018h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,00Ch,018h,030h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h ; Hex #EC | ||
| 251 | Db 00Ch,018h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h ; Hex #ED | ||
| 252 | Db 000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 000h,00Ch,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,0FFh ; Hex #F2 | ||
| 257 | Db 000h,0E0h,030h,063h,036h,0ECh,018h,036h,06Eh,0DAh,03Fh,006h,006h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #F4 | ||
| 259 | Db 000h,000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,00Ch,078h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,018h,038h,018h,018h,018h,03Ch,000h,000h,000h,000h,000h,000h,000h ; Hex #FB | ||
| 266 | Db 000h,078h,00Ch,038h,00Ch,00Ch,078h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/850-8X16.ASM b/v4.0/src/DEV/DISPLAY/EGA/850-8X16.ASM new file mode 100644 index 0000000..e5155ab --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/850-8X16.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 850 | ||
| 6 | ; FONT RESOLUTION: 8 x 16 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,081h,07Eh,000h,000h,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,0FFh,07Eh,000h,000h,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,03Fh,033h,03Fh,030h,030h,030h,030h,070h,0F0h,0E0h,000h,000h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,07Fh,063h,07Fh,063h,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h,000h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h,000h,000h ; Hex #F | ||
| 30 | Db 000h,080h,0C0h,0E0h,0F0h,0F8h,0FEh,0F8h,0F0h,0E0h,0C0h,080h,000h,000h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,002h,006h,00Eh,01Eh,03Eh,0FEh,03Eh,01Eh,00Eh,006h,002h,000h,000h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,066h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #14 | ||
| 35 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,0FEh,000h,000h,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #17 | ||
| 38 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h,000h,000h ; Hex #23 | ||
| 50 | Db 018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,006h,086h,0C6h,07Ch,018h,018h,000h,000h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,060h,0C6h,086h,000h,000h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,030h,030h,030h,060h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,00Ch,018h,030h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h,000h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,018h,07Eh,000h,000h,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C0h,0C6h,0FEh,000h,000h,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,00Ch,01Eh,000h,000h,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,0FEh,0C6h,006h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,006h,00Ch,078h,000h,000h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,006h,00Ch,018h,030h,060h,030h,018h,00Ch,006h,000h,000h,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,066h,0FCh,000h,000h,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,0C6h,066h,03Ah,000h,000h,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,0E6h,066h,066h,06Ch,078h,078h,06Ch,066h,066h,0E6h,000h,000h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,0F0h,060h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Ch,00Eh,000h,000h ; Hex #51 | ||
| 96 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,006h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,0EEh,06Ch,000h,000h,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h,07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,0FEh,0C6h,086h,00Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,066h,07Ch,000h,000h,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,01Ch,036h,032h,030h,078h,030h,030h,030h,030h,078h,000h,000h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h,000h ; Hex #67 | ||
| 118 | Db 000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,006h,006h,066h,066h,03Ch,000h ; Hex #6A | ||
| 121 | Db 000h,000h,0E0h,060h,060h,066h,06Ch,078h,078h,06Ch,066h,0E6h,000h,000h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,0C6h,000h,000h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh,000h ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,060h,038h,00Ch,0C6h,07Ch,000h,000h,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,010h,030h,030h,0FCh,030h,030h,030h,030h,036h,01Ch,000h,000h,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,06Ch,000h,000h,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h,000h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,018h,00Eh,000h,000h,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,018h,070h,000h,000h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0C6h,0FEh,000h,000h,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,018h,070h,000h,000h ; Hex #80 | ||
| 143 | Db 000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #82 | ||
| 145 | Db 000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,0CCh,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,038h,06Ch,038h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,070h,000h,000h ; Hex #87 | ||
| 150 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #89 | ||
| 152 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8B | ||
| 154 | Db 000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8C | ||
| 155 | Db 000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8D | ||
| 156 | Db 000h,0C6h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,038h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #90 | ||
| 159 | Db 000h,000h,000h,000h,000h,0ECh,036h,036h,07Eh,0D8h,0D8h,06Eh,000h,000h,000h,000h ; Hex #91 | ||
| 160 | Db 000h,000h,03Eh,06Ch,0CCh,0CCh,0FEh,0CCh,0CCh,0CCh,0CCh,0CEh,000h,000h,000h,000h ; Hex #92 | ||
| 161 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #94 | ||
| 163 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #95 | ||
| 164 | Db 000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,0C6h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #98 | ||
| 167 | Db 000h,0C6h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,000h,000h,000h,07Ch,0CEh,0DEh,0F6h,0E6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,060h,0E6h,0FCh,000h,000h,000h,000h ; Hex #9C | ||
| 171 | Db 000h,004h,07Ch,0CEh,0CEh,0D6h,0D6h,0D6h,0D6h,0E6h,0E6h,07Ch,040h,000h,000h,000h ; Hex #9D | ||
| 172 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h,000h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h,000h,000h,000h ; Hex #9F | ||
| 174 | Db 000h,018h,030h,060h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,018h,030h,060h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,018h,030h,060h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,030h,030h,000h,030h,030h,060h,0C0h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,07Ch,082h,0B2h,0AAh,0B2h,0AAh,0AAh,082h,07Ch,000h,000h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,006h,000h,000h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,060h,0DCh,086h,00Ch,018h,03Eh,000h,000h ; Hex #AB | ||
| 186 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #AC | ||
| 187 | Db 000h,000h,018h,018h,000h,018h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 060h,0C0h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #B5 | ||
| 196 | Db 07Ch,0C6h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #B6 | ||
| 197 | Db 00Ch,006h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #B7 | ||
| 198 | Db 000h,000h,07Ch,082h,09Ah,0A2h,0A2h,0A2h,09Ah,082h,07Ch,000h,000h,000h,000h,000h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 000h,000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 000h,000h,000h,066h,066h,03Ch,018h,07Eh,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 000h,000h,076h,0DCh,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #C6 | ||
| 213 | Db 076h,0DCh,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 000h,000h,000h,000h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,0C6h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 000h,000h,034h,018h,02Ch,006h,03Eh,066h,066h,066h,066h,03Ch,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,0F8h,06Ch,066h,066h,0F6h,066h,066h,066h,06Ch,0F8h,000h,000h,000h,000h ; Hex #D1 | ||
| 224 | Db 038h,06Ch,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #D2 | ||
| 225 | Db 000h,0C6h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 030h,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #D5 | ||
| 228 | Db 00Ch,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #D6 | ||
| 229 | Db 03Ch,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #D7 | ||
| 230 | Db 000h,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 000h,018h,018h,018h,018h,018h,000h,000h,018h,018h,018h,018h,018h,000h,000h,000h ; Hex #DD | ||
| 236 | Db 030h,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0C6h,0CCh,000h,000h,000h,000h ; Hex #E1 | ||
| 240 | Db 038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #E2 | ||
| 241 | Db 030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #E4 | ||
| 243 | Db 076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,066h,07Ch,060h,060h,0C0h,000h ; Hex #E6 | ||
| 245 | Db 000h,000h,0E0h,060h,060h,07Ch,066h,066h,066h,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,0F0h,060h,07Ch,066h,066h,066h,066h,07Ch,060h,0F0h,000h,000h,000h,000h ; Hex #E8 | ||
| 247 | Db 018h,030h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #E9 | ||
| 248 | Db 038h,06Ch,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #EA | ||
| 249 | Db 030h,018h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #EB | ||
| 250 | Db 000h,00Ch,018h,030h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h,000h ; Hex #EC | ||
| 251 | Db 00Ch,018h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 000h,00Ch,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h ; Hex #F2 | ||
| 257 | Db 000h,0E0h,030h,062h,036h,0ECh,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #F4 | ||
| 259 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,00Ch,078h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,018h,038h,018h,018h,018h,03Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FB | ||
| 266 | Db 000h,07Ch,006h,03Ch,006h,006h,07Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/850-8X8.ASM b/v4.0/src/DEV/DISPLAY/EGA/850-8X8.ASM new file mode 100644 index 0000000..3470021 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/850-8X8.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 850 | ||
| 6 | ; FONT RESOLUTION: 8 x 8 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 07Eh,081h,0A5h,081h,0BDh,099h,081h,07Eh ; Hex #1 | ||
| 16 | Db 07Eh,0FFh,0DBh,0FFh,0C3h,0E7h,0FFh,07Eh ; Hex #2 | ||
| 17 | Db 06Ch,0FEh,0FEh,0FEh,07Ch,038h,010h,000h ; Hex #3 | ||
| 18 | Db 010h,038h,07Ch,0FEh,07Ch,038h,010h,000h ; Hex #4 | ||
| 19 | Db 038h,07Ch,038h,0FEh,0FEh,0D6h,010h,038h ; Hex #5 | ||
| 20 | Db 010h,038h,07Ch,0FEh,0FEh,07Ch,010h,038h ; Hex #6 | ||
| 21 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,03Ch,066h,042h,042h,066h,03Ch,000h ; Hex #9 | ||
| 24 | Db 0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh ; Hex #A | ||
| 25 | Db 00Fh,007h,00Fh,07Dh,0CCh,0CCh,0CCh,078h ; Hex #B | ||
| 26 | Db 03Ch,066h,066h,066h,03Ch,018h,07Eh,018h ; Hex #C | ||
| 27 | Db 03Fh,033h,03Fh,030h,030h,070h,0F0h,0E0h ; Hex #D | ||
| 28 | Db 07Fh,063h,07Fh,063h,063h,067h,0E6h,0C0h ; Hex #E | ||
| 29 | Db 018h,0DBh,03Ch,0E7h,0E7h,03Ch,0DBh,018h ; Hex #F | ||
| 30 | Db 080h,0E0h,0F8h,0FEh,0F8h,0E0h,080h,000h ; Hex #10 | ||
| 31 | Db 002h,00Eh,03Eh,0FEh,03Eh,00Eh,002h,000h ; Hex #11 | ||
| 32 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 33 | Db 066h,066h,066h,066h,066h,000h,066h,000h ; Hex #13 | ||
| 34 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #14 | ||
| 35 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,000h ; Hex #16 | ||
| 37 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 38 | Db 018h,03Ch,07Eh,018h,018h,018h,018h,000h ; Hex #18 | ||
| 39 | Db 018h,018h,018h,018h,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 40 | Db 000h,018h,00Ch,0FEh,00Ch,018h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,030h,060h,0FEh,060h,030h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h ; Hex #1C | ||
| 43 | Db 000h,024h,066h,0FFh,066h,024h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,018h,03Ch,07Eh,0FFh,0FFh,000h,000h ; Hex #1E | ||
| 45 | Db 000h,0FFh,0FFh,07Eh,03Ch,018h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 018h,03Ch,03Ch,018h,018h,000h,018h,000h ; Hex #21 | ||
| 48 | Db 066h,066h,024h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 06Ch,06Ch,0FEh,06Ch,0FEh,06Ch,06Ch,000h ; Hex #23 | ||
| 50 | Db 018h,03Eh,060h,03Ch,006h,07Ch,018h,000h ; Hex #24 | ||
| 51 | Db 000h,0C6h,0CCh,018h,030h,066h,0C6h,000h ; Hex #25 | ||
| 52 | Db 038h,06Ch,038h,076h,0DCh,0CCh,076h,000h ; Hex #26 | ||
| 53 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 00Ch,018h,030h,030h,030h,018h,00Ch,000h ; Hex #28 | ||
| 55 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 56 | Db 000h,066h,03Ch,0FFh,03Ch,066h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 61 | Db 006h,00Ch,018h,030h,060h,0C0h,080h,000h ; Hex #2F | ||
| 62 | Db 038h,06Ch,0C6h,0D6h,0C6h,06Ch,038h,000h ; Hex #30 | ||
| 63 | Db 018h,038h,018h,018h,018h,018h,07Eh,000h ; Hex #31 | ||
| 64 | Db 07Ch,0C6h,006h,01Ch,030h,066h,0FEh,000h ; Hex #32 | ||
| 65 | Db 07Ch,0C6h,006h,03Ch,006h,0C6h,07Ch,000h ; Hex #33 | ||
| 66 | Db 01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,01Eh,000h ; Hex #34 | ||
| 67 | Db 0FEh,0C0h,0C0h,0FCh,006h,0C6h,07Ch,000h ; Hex #35 | ||
| 68 | Db 038h,060h,0C0h,0FCh,0C6h,0C6h,07Ch,000h ; Hex #36 | ||
| 69 | Db 0FEh,0C6h,00Ch,018h,030h,030h,030h,000h ; Hex #37 | ||
| 70 | Db 07Ch,0C6h,0C6h,07Ch,0C6h,0C6h,07Ch,000h ; Hex #38 | ||
| 71 | Db 07Ch,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #39 | ||
| 72 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 73 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 74 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,07Eh,000h,000h,07Eh,000h,000h ; Hex #3D | ||
| 76 | Db 060h,030h,018h,00Ch,018h,030h,060h,000h ; Hex #3E | ||
| 77 | Db 07Ch,0C6h,00Ch,018h,018h,000h,018h,000h ; Hex #3F | ||
| 78 | Db 07Ch,0C6h,0DEh,0DEh,0DEh,0C0h,078h,000h ; Hex #40 | ||
| 79 | Db 038h,06Ch,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #41 | ||
| 80 | Db 0FCh,066h,066h,07Ch,066h,066h,0FCh,000h ; Hex #42 | ||
| 81 | Db 03Ch,066h,0C0h,0C0h,0C0h,066h,03Ch,000h ; Hex #43 | ||
| 82 | Db 0F8h,06Ch,066h,066h,066h,06Ch,0F8h,000h ; Hex #44 | ||
| 83 | Db 0FEh,062h,068h,078h,068h,062h,0FEh,000h ; Hex #45 | ||
| 84 | Db 0FEh,062h,068h,078h,068h,060h,0F0h,000h ; Hex #46 | ||
| 85 | Db 03Ch,066h,0C0h,0C0h,0CEh,066h,03Ah,000h ; Hex #47 | ||
| 86 | Db 0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #48 | ||
| 87 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 88 | Db 01Eh,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h ; Hex #4A | ||
| 89 | Db 0E6h,066h,06Ch,078h,06Ch,066h,0E6h,000h ; Hex #4B | ||
| 90 | Db 0F0h,060h,060h,060h,062h,066h,0FEh,000h ; Hex #4C | ||
| 91 | Db 0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h ; Hex #4D | ||
| 92 | Db 0C6h,0E6h,0F6h,0DEh,0CEh,0C6h,0C6h,000h ; Hex #4E | ||
| 93 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #4F | ||
| 94 | Db 0FCh,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #50 | ||
| 95 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0CEh,07Ch,00Eh ; Hex #51 | ||
| 96 | Db 0FCh,066h,066h,07Ch,06Ch,066h,0E6h,000h ; Hex #52 | ||
| 97 | Db 03Ch,066h,030h,018h,00Ch,066h,03Ch,000h ; Hex #53 | ||
| 98 | Db 07Eh,07Eh,05Ah,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 99 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #55 | ||
| 100 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #56 | ||
| 101 | Db 0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #57 | ||
| 102 | Db 0C6h,0C6h,06Ch,038h,06Ch,0C6h,0C6h,000h ; Hex #58 | ||
| 103 | Db 066h,066h,066h,03Ch,018h,018h,03Ch,000h ; Hex #59 | ||
| 104 | Db 0FEh,0C6h,08Ch,018h,032h,066h,0FEh,000h ; Hex #5A | ||
| 105 | Db 03Ch,030h,030h,030h,030h,030h,03Ch,000h ; Hex #5B | ||
| 106 | Db 0C0h,060h,030h,018h,00Ch,006h,002h,000h ; Hex #5C | ||
| 107 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #61 | ||
| 112 | Db 0E0h,060h,07Ch,066h,066h,066h,0DCh,000h ; Hex #62 | ||
| 113 | Db 000h,000h,07Ch,0C6h,0C0h,0C6h,07Ch,000h ; Hex #63 | ||
| 114 | Db 01Ch,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #65 | ||
| 116 | Db 03Ch,066h,060h,0F8h,060h,060h,0F0h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,0F8h ; Hex #67 | ||
| 118 | Db 0E0h,060h,06Ch,076h,066h,066h,0E6h,000h ; Hex #68 | ||
| 119 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 120 | Db 006h,000h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 0E0h,060h,066h,06Ch,078h,06Ch,0E6h,000h ; Hex #6B | ||
| 122 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 123 | Db 000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,0DCh,066h,066h,066h,066h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #6F | ||
| 126 | Db 000h,000h,0DCh,066h,066h,07Ch,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,0DCh,076h,060h,060h,0F0h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,07Eh,0C0h,07Ch,006h,0FCh,000h ; Hex #73 | ||
| 130 | Db 030h,030h,0FCh,030h,030h,036h,01Ch,000h ; Hex #74 | ||
| 131 | Db 000h,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #77 | ||
| 134 | Db 000h,000h,0C6h,06Ch,038h,06Ch,0C6h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #79 | ||
| 136 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 137 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 138 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 139 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 140 | Db 076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h ; Hex #7F | ||
| 142 | Db 07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 0CCh,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #81 | ||
| 144 | Db 00Ch,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #82 | ||
| 145 | Db 07Ch,082h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #83 | ||
| 146 | Db 0C6h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #84 | ||
| 147 | Db 030h,018h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #85 | ||
| 148 | Db 030h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,07Eh,0C0h,0C0h,07Eh,00Ch,038h ; Hex #87 | ||
| 150 | Db 07Ch,082h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #88 | ||
| 151 | Db 0C6h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #89 | ||
| 152 | Db 030h,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #8A | ||
| 153 | Db 066h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 154 | Db 07Ch,082h,038h,018h,018h,018h,03Ch,000h ; Hex #8C | ||
| 155 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 156 | Db 0C6h,038h,06Ch,0C6h,0FEh,0C6h,0C6h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,07Ch,0C6h,0FEh,0C6h,0C6h,000h ; Hex #8F | ||
| 158 | Db 018h,030h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #90 | ||
| 159 | Db 000h,000h,07Eh,012h,0fEh,090h,0fEh,000h ; Hex #91 | ||
| 160 | Db 03Eh,06Ch,0CCh,0FEh,0CCh,0CCh,0CEh,000h ; Hex #92 | ||
| 161 | Db 07Ch,082h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #93 | ||
| 162 | Db 0C6h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #94 | ||
| 163 | Db 030h,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #95 | ||
| 164 | Db 078h,084h,000h,0CCh,0CCh,0CCh,076h,000h ; Hex #96 | ||
| 165 | Db 060h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #97 | ||
| 166 | Db 0C6h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #98 | ||
| 167 | Db 0C6h,038h,06Ch,0C6h,0C6h,06Ch,038h,000h ; Hex #99 | ||
| 168 | Db 0C6h,000h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9A | ||
| 169 | Db 000h,002h,07Ch,0CEh,0D6h,0E6h,07Ch,080h ; Hex #9B | ||
| 170 | Db 038h,06Ch,064h,0F0h,060h,066h,0FCh,000h ; Hex #9C | ||
| 171 | Db 03Ah,06Ch,0CEh,0D6h,0E6h,06Ch,0B8h,000h ; Hex #9D | ||
| 172 | Db 000h,0C6h,06Ch,038h,06Ch,0C6h,000h,000h ; Hex #9E | ||
| 173 | Db 00Eh,01Bh,018h,03Ch,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 018h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #A0 | ||
| 175 | Db 00Ch,018h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 176 | Db 00Ch,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #A2 | ||
| 177 | Db 018h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #A3 | ||
| 178 | Db 076h,0DCh,000h,0DCh,066h,066h,066h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0E6h,0F6h,0DEh,0CEh,000h ; Hex #A5 | ||
| 180 | Db 03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h ; Hex #A6 | ||
| 181 | Db 038h,06Ch,06Ch,038h,000h,07Ch,000h,000h ; Hex #A7 | ||
| 182 | Db 018h,000h,018h,018h,030h,063h,03Eh,000h ; Hex #A8 | ||
| 183 | Db 07Eh,081h,0B9h,0A5h,0B9h,0A5h,081h,07Eh ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,0FEh,006h,006h,000h,000h ; Hex #AA | ||
| 185 | Db 063h,0E6h,06Ch,07Eh,033h,066h,0CCh,00Fh ; Hex #AB | ||
| 186 | Db 063h,0E6h,06Ch,07Ah,036h,06Ah,0DFh,006h ; Hex #AC | ||
| 187 | Db 018h,000h,018h,018h,03Ch,03Ch,018h,000h ; Hex #AD | ||
| 188 | Db 000h,033h,066h,0CCh,066h,033h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,0CCh,066h,033h,066h,0CCh,000h,000h ; Hex #AF | ||
| 190 | Db 022h,088h,022h,088h,022h,088h,022h,088h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 030h,060h,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #B5 | ||
| 196 | Db 07Ch,082h,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #B6 | ||
| 197 | Db 018h,00Ch,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #B7 | ||
| 198 | Db 07Eh,081h,09Dh,0A1h,0A1h,09Dh,081h,07Eh ; Hex #B8 | ||
| 199 | Db 036h,036h,0F6h,006h,0F6h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,0FEh,006h,0F6h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,0F6h,006h,0FEh,000h,000h,000h ; Hex #BC | ||
| 203 | Db 018h,018h,07Eh,0C0h,0C0h,07Eh,018h,018h ; Hex #BD | ||
| 204 | Db 066h,066h,03Ch,07Eh,018h,07Eh,018h,018h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,0F8h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,01Fh,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,0FFh,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,0FFh,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,01Fh,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,0FFh,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,0FFh,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 076h,0DCh,07Ch,006h,07Eh,0C6h,07Eh,000h ; Hex #C6 | ||
| 213 | Db 076h,0DCh,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #C7 | ||
| 214 | Db 036h,036h,037h,030h,03Fh,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,03Fh,030h,037h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,0F7h,000h,0FFh,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,0FFh,000h,0F7h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,037h,030h,037h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,0F7h,000h,0F7h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 000h,0C6h,07Ch,0C6h,0C6h,07Ch,0C6h,000h ; Hex #CF | ||
| 222 | Db 030h,07Eh,00Ch,07Ch,0CCh,0CCh,078h,000h ; Hex #D0 | ||
| 223 | Db 0F8h,06Ch,066h,0F6h,066h,06Ch,0F8h,000h ; Hex #D1 | ||
| 224 | Db 07Ch,082h,0FEh,0C0h,0FCh,0C0h,0FEh,000h ; Hex #D2 | ||
| 225 | Db 0C6h,000h,0FEh,0C0h,0FCh,0C0h,0FEh,000h ; Hex #D3 | ||
| 226 | Db 030h,018h,0FEh,0C0h,0FCh,0C0h,0FEh,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #D5 | ||
| 228 | Db 00Ch,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #D6 | ||
| 229 | Db 03Ch,042h,03Ch,018h,018h,018h,03Ch,000h ; Hex #D7 | ||
| 230 | Db 066h,000h,03Ch,018h,018h,018h,03Ch,000h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,01Fh,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 018h,018h,018h,000h,000h,018h,018h,018h ; Hex #DD | ||
| 236 | Db 030h,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 030h,060h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #E0 | ||
| 239 | Db 078h,0CCh,0CCh,0D8h,0CCh,0C6h,0CCh,000h ; Hex #E1 | ||
| 240 | Db 07Ch,082h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #E2 | ||
| 241 | Db 00Ch,006h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #E3 | ||
| 242 | Db 076h,0DCh,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #E4 | ||
| 243 | Db 076h,0DCh,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,066h,066h,066h,066h,07Ch,0C0h ; Hex #E6 | ||
| 245 | Db 0E0h,060h,07Ch,066h,066h,07Ch,060h,0F0h ; Hex #E7 | ||
| 246 | Db 0F0h,060h,07Ch,066h,07Ch,060h,0F0h,000h ; Hex #E8 | ||
| 247 | Db 018h,030h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #E9 | ||
| 248 | Db 07Ch,082h,000h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #EA | ||
| 249 | Db 060h,030h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #EB | ||
| 250 | Db 018h,030h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #EC | ||
| 251 | Db 00Ch,018h,066h,066h,03Ch,018h,03Ch,000h ; Hex #ED | ||
| 252 | Db 0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 00Ch,018h,030h,000h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh ; Hex #F2 | ||
| 257 | Db 0E1h,032h,0E4h,03Ah,0F6h,02Ah,05Fh,086h ; Hex #F3 | ||
| 258 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #F4 | ||
| 259 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #F5 | ||
| 260 | Db 000h,018h,000h,07Eh,000h,018h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,018h,00Ch,038h ; Hex #F7 | ||
| 262 | Db 038h,06Ch,06Ch,038h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,0C6h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 018h,038h,018h,018h,03Ch,000h,000h,000h ; Hex #FB | ||
| 266 | Db 078h,00Ch,038h,00Ch,078h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 078h,00Ch,018h,030h,07Ch,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/850-CPI.ASM b/v4.0/src/DEV/DISPLAY/EGA/850-CPI.ASM new file mode 100644 index 0000000..d40a36c --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/850-CPI.ASM | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 850 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA850: DW LEN_850 ; SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA850,0 ; POINTER TO NEXT HEADER | ||
| 14 | DW 1 ; DEVICE TYPE | ||
| 15 | DB "EGA " ; DEVICE SUBTYPE ID | ||
| 16 | DW 850 ; CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ; RESERVED | ||
| 18 | DW OFFSET DATA850,0 ; POINTER TO FONTS | ||
| 19 | LEN_850 EQU ($-EGA850) ; | ||
| 20 | ; | ||
| 21 | DATA850:DW 1 ; CART/NON-CART | ||
| 22 | DW 3 ; # OF FONTS | ||
| 23 | DW LEN_D850 ; LENGTH OF DATA | ||
| 24 | D850: ; | ||
| 25 | DB 16,8 ; CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ; NUMBER OF CHARACTERS | ||
| 28 | ; | ||
| 29 | INCLUDE 850-8X16.ASM ; | ||
| 30 | ; | ||
| 31 | DB 14,8 ; CHARACTER BOX SIZE | ||
| 32 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 33 | DW 256 ; NUMBER OF CHARACTERS | ||
| 34 | ; | ||
| 35 | INCLUDE 850-8X14.ASM ; | ||
| 36 | ; | ||
| 37 | DB 8,8 ; CHARACTER BOX SIZE | ||
| 38 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 39 | DW 256 ; NUMBER OF CHARACTERS | ||
| 40 | ; | ||
| 41 | INCLUDE 850-8X8.ASM ; | ||
| 42 | ; | ||
| 43 | LEN_D850 EQU ($-D850) ; | ||
| 44 | ; | ||
| 45 | POST_EGA850 EQU $ ; | ||
| 46 | ; | ||
| 47 | CODE ENDS ; | ||
| 48 | END ; | ||
| 49 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/860-8X14.ASM b/v4.0/src/DEV/DISPLAY/EGA/860-8X14.ASM new file mode 100644 index 0000000..082874c --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/860-8X14.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 860 | ||
| 6 | ; FONT RESOLUTION: 8 x 14 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,07Eh,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,07Eh,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,078h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,000h,03Ch,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,000h,03Fh,033h,03Fh,030h,030h,030h,070h,0F0h,0E0h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,000h,07Fh,063h,07Fh,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h ; Hex #F | ||
| 30 | Db 000h,000h,000h,080h,0C0h,0E0h,0F8h,0FEh,0F8h,0E0h,0C0h,080h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,000h,000h,002h,006h,00Eh,03Eh,0FEh,03Eh,00Eh,006h,002h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,000h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #14 | ||
| 35 | Db 000h,000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h ; Hex #17 | ||
| 38 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h ; Hex #23 | ||
| 50 | Db 000h,018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,086h,0C6h,07Ch,018h,018h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,066h,0C6h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,076h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,018h,018h,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,000h,00Ch,018h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,07Eh,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,0C6h,07Ch,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,01Eh,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,0C6h,07Ch,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,000h,0FEh,0C6h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,00Ch,078h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,00Ch,018h,030h,060h,0C0h,060h,030h,018h,00Ch,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,0FCh,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,0F0h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,066h,03Ah,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,000h,0E6h,066h,06Ch,06Ch,078h,06Ch,06Ch,066h,0E6h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,000h,0F0h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,000h,0C6h,0EEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,0F0h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Eh,000h ; Hex #51 | ||
| 96 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,0E6h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,0C6h,0C6h,07Ch,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,06Ch,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,000h,0C6h,0C6h,0C6h,07Ch,038h,07Ch,0C6h,0C6h,0C6h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,000h,0FEh,0C6h,08Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,07Ch,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,000h,01Ch,036h,032h,030h,07Ch,030h,030h,030h,078h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h ; Hex #67 | ||
| 118 | Db 000h,000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,0E6h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 000h,000h,000h,0E0h,060h,060h,066h,06Ch,078h,06Ch,066h,0E6h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,07Ch,060h,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,0F0h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,070h,01Ch,0C6h,07Ch,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,000h,010h,030h,030h,0FCh,030h,030h,030h,036h,01Ch,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,066h,0FEh,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,00Eh,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,070h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 000h,000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #82 | ||
| 145 | Db 000h,000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,000h,076h,0DCh,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #85 | ||
| 148 | Db 030h,060h,0C0h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #87 | ||
| 150 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #88 | ||
| 151 | Db 038h,06Ch,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #89 | ||
| 152 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #8A | ||
| 153 | Db 00Ch,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8B | ||
| 154 | Db 038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #8C | ||
| 155 | Db 000h,000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8D | ||
| 156 | Db 076h,0DCh,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,0C6h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #90 | ||
| 159 | Db 018h,00Ch,006h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #91 | ||
| 160 | Db 030h,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #92 | ||
| 161 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,000h,076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #94 | ||
| 163 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #95 | ||
| 164 | Db 018h,030h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #96 | ||
| 165 | Db 000h,000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #97 | ||
| 166 | Db 030h,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #98 | ||
| 167 | Db 076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,0E6h,0FCh,000h,000h ; Hex #9C | ||
| 171 | Db 030h,018h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9D | ||
| 172 | Db 000h,000h,0FCh,066h,066h,07Ch,062h,066h,06Fh,066h,066h,0F3h,000h,000h ; Hex #9E | ||
| 173 | Db 00Ch,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9F | ||
| 174 | Db 000h,000h,00Ch,018h,030h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,000h,00Ch,018h,030h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,000h,030h,030h,000h,030h,030h,060h,0C6h,0C6h,07Ch,000h,000h ; Hex #A8 | ||
| 183 | Db 030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,018h,030h,06Eh,0C3h,006h,00Ch,01Fh ; Hex #AB | ||
| 186 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,01Ah,036h,06Eh,0DAh,03Fh,006h,006h ; Hex #AC | ||
| 187 | Db 000h,000h,000h,018h,018h,000h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0DCh,076h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0CCh,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,000h,0FEh,0C6h,060h,030h,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,070h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,07Ch,060h,0C0h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,000h,07Eh,018h,03Ch,066h,066h,066h,03Ch,018h,07Eh,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,0EEh,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,03Ch,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,000h,01Eh,030h,060h,060h,07Eh,060h,060h,030h,01Eh,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/860-8X16.ASM b/v4.0/src/DEV/DISPLAY/EGA/860-8X16.ASM new file mode 100644 index 0000000..e14176c --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/860-8X16.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 860 | ||
| 6 | ; FONT RESOLUTION: 8 x 16 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,081h,07Eh,000h,000h,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,0FFh,07Eh,000h,000h,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,03Fh,033h,03Fh,030h,030h,030h,030h,070h,0F0h,0E0h,000h,000h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,07Fh,063h,07Fh,063h,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h,000h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h,000h,000h ; Hex #F | ||
| 30 | Db 000h,080h,0C0h,0E0h,0F0h,0F8h,0FEh,0F8h,0F0h,0E0h,0C0h,080h,000h,000h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,002h,006h,00Eh,01Eh,03Eh,0FEh,03Eh,01Eh,00Eh,006h,002h,000h,000h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,066h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #14 | ||
| 35 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,0FEh,000h,000h,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #17 | ||
| 38 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h,000h,000h ; Hex #23 | ||
| 50 | Db 018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,006h,086h,0C6h,07Ch,018h,018h,000h,000h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,060h,0C6h,086h,000h,000h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,030h,030h,030h,060h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,00Ch,018h,030h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h,000h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,018h,07Eh,000h,000h,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C0h,0C6h,0FEh,000h,000h,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,00Ch,01Eh,000h,000h,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,0FEh,0C6h,006h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,006h,00Ch,078h,000h,000h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,006h,00Ch,018h,030h,060h,030h,018h,00Ch,006h,000h,000h,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,066h,0FCh,000h,000h,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,0C6h,066h,03Ah,000h,000h,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,0E6h,066h,066h,06Ch,078h,078h,06Ch,066h,066h,0E6h,000h,000h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,0F0h,060h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Ch,00Eh,000h,000h ; Hex #51 | ||
| 96 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,006h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,0EEh,06Ch,000h,000h,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h,07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,0FEh,0C6h,086h,00Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,066h,07Ch,000h,000h,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,01Ch,036h,032h,030h,078h,030h,030h,030h,030h,078h,000h,000h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h,000h ; Hex #67 | ||
| 118 | Db 000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,006h,006h,066h,066h,03Ch,000h ; Hex #6A | ||
| 121 | Db 000h,000h,0E0h,060h,060h,066h,06Ch,078h,078h,06Ch,066h,0E6h,000h,000h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,0C6h,000h,000h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh,000h ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,060h,038h,00Ch,0C6h,07Ch,000h,000h,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,010h,030h,030h,0FCh,030h,030h,030h,030h,036h,01Ch,000h,000h,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,06Ch,000h,000h,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h,000h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,018h,00Eh,000h,000h,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,018h,070h,000h,000h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0C6h,0FEh,000h,000h,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,018h,070h,000h,000h ; Hex #80 | ||
| 143 | Db 000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #82 | ||
| 145 | Db 000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,076h,0DCh,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #85 | ||
| 148 | Db 060h,0C0h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,070h,000h,000h ; Hex #87 | ||
| 150 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #88 | ||
| 151 | Db 038h,06Ch,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #89 | ||
| 152 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #8A | ||
| 153 | Db 00Ch,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8B | ||
| 154 | Db 038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #8C | ||
| 155 | Db 000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8D | ||
| 156 | Db 076h,0DCh,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,0C6h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #90 | ||
| 159 | Db 00Ch,006h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #91 | ||
| 160 | Db 030h,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #92 | ||
| 161 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #94 | ||
| 163 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #95 | ||
| 164 | Db 018h,030h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #97 | ||
| 166 | Db 030h,018h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #98 | ||
| 167 | Db 076h,0DCh,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9A | ||
| 169 | Db 000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,060h,0E6h,0FCh,000h,000h,000h,000h ; Hex #9C | ||
| 171 | Db 030h,018h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9D | ||
| 172 | Db 000h,0F8h,0CCh,0CCh,0F8h,0C4h,0CCh,0DEh,0CCh,0CCh,0CCh,0C6h,000h,000h,000h,000h ; Hex #9E | ||
| 173 | Db 018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9F | ||
| 174 | Db 000h,018h,030h,060h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,018h,030h,060h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,018h,030h,060h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,030h,030h,000h,030h,030h,060h,0C0h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A8 | ||
| 183 | Db 030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,006h,000h,000h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,060h,0DCh,086h,00Ch,018h,03Eh,000h,000h ; Hex #AB | ||
| 186 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #AC | ||
| 187 | Db 000h,000h,018h,018h,000h,018h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0D8h,0DCh,076h,000h,000h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0C6h,0CCh,000h,000h,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,0FEh,0C6h,060h,030h,018h,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,0D8h,070h,000h,000h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,066h,07Ch,060h,060h,0C0h,000h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,07Eh,018h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,06Ch,0EEh,000h,000h,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,066h,03Ch,000h,000h,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,0DBh,07Eh,000h,000h,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,01Ch,030h,060h,060h,07Ch,060h,060h,060h,030h,01Ch,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,06Ch,03Ch,01Ch,000h,000h,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/860-8X8.ASM b/v4.0/src/DEV/DISPLAY/EGA/860-8X8.ASM new file mode 100644 index 0000000..c6e1b72 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/860-8X8.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 860 | ||
| 6 | ; FONT RESOLUTION: 8 x 8 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 07Eh,081h,0A5h,081h,0BDh,099h,081h,07Eh ; Hex #1 | ||
| 16 | Db 07Eh,0FFh,0DBh,0FFh,0C3h,0E7h,0FFh,07Eh ; Hex #2 | ||
| 17 | Db 06Ch,0FEh,0FEh,0FEh,07Ch,038h,010h,000h ; Hex #3 | ||
| 18 | Db 010h,038h,07Ch,0FEh,07Ch,038h,010h,000h ; Hex #4 | ||
| 19 | Db 038h,07Ch,038h,0FEh,0FEh,0D6h,010h,038h ; Hex #5 | ||
| 20 | Db 010h,038h,07Ch,0FEh,0FEh,07Ch,010h,038h ; Hex #6 | ||
| 21 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,03Ch,066h,042h,042h,066h,03Ch,000h ; Hex #9 | ||
| 24 | Db 0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh ; Hex #A | ||
| 25 | Db 00Fh,007h,00Fh,07Dh,0CCh,0CCh,0CCh,078h ; Hex #B | ||
| 26 | Db 03Ch,066h,066h,066h,03Ch,018h,07Eh,018h ; Hex #C | ||
| 27 | Db 03Fh,033h,03Fh,030h,030h,070h,0F0h,0E0h ; Hex #D | ||
| 28 | Db 07Fh,063h,07Fh,063h,063h,067h,0E6h,0C0h ; Hex #E | ||
| 29 | Db 018h,0DBh,03Ch,0E7h,0E7h,03Ch,0DBh,018h ; Hex #F | ||
| 30 | Db 080h,0E0h,0F8h,0FEh,0F8h,0E0h,080h,000h ; Hex #10 | ||
| 31 | Db 002h,00Eh,03Eh,0FEh,03Eh,00Eh,002h,000h ; Hex #11 | ||
| 32 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 33 | Db 066h,066h,066h,066h,066h,000h,066h,000h ; Hex #13 | ||
| 34 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #14 | ||
| 35 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,000h ; Hex #16 | ||
| 37 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 38 | Db 018h,03Ch,07Eh,018h,018h,018h,018h,000h ; Hex #18 | ||
| 39 | Db 018h,018h,018h,018h,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 40 | Db 000h,018h,00Ch,0FEh,00Ch,018h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,030h,060h,0FEh,060h,030h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h ; Hex #1C | ||
| 43 | Db 000h,024h,066h,0FFh,066h,024h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,018h,03Ch,07Eh,0FFh,0FFh,000h,000h ; Hex #1E | ||
| 45 | Db 000h,0FFh,0FFh,07Eh,03Ch,018h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 018h,03Ch,03Ch,018h,018h,000h,018h,000h ; Hex #21 | ||
| 48 | Db 066h,066h,024h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 06Ch,06Ch,0FEh,06Ch,0FEh,06Ch,06Ch,000h ; Hex #23 | ||
| 50 | Db 018h,03Eh,060h,03Ch,006h,07Ch,018h,000h ; Hex #24 | ||
| 51 | Db 000h,0C6h,0CCh,018h,030h,066h,0C6h,000h ; Hex #25 | ||
| 52 | Db 038h,06Ch,038h,076h,0DCh,0CCh,076h,000h ; Hex #26 | ||
| 53 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 00Ch,018h,030h,030h,030h,018h,00Ch,000h ; Hex #28 | ||
| 55 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 56 | Db 000h,066h,03Ch,0FFh,03Ch,066h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 61 | Db 006h,00Ch,018h,030h,060h,0C0h,080h,000h ; Hex #2F | ||
| 62 | Db 038h,06Ch,0C6h,0D6h,0C6h,06Ch,038h,000h ; Hex #30 | ||
| 63 | Db 018h,038h,018h,018h,018h,018h,07Eh,000h ; Hex #31 | ||
| 64 | Db 07Ch,0C6h,006h,01Ch,030h,066h,0FEh,000h ; Hex #32 | ||
| 65 | Db 07Ch,0C6h,006h,03Ch,006h,0C6h,07Ch,000h ; Hex #33 | ||
| 66 | Db 01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,01Eh,000h ; Hex #34 | ||
| 67 | Db 0FEh,0C0h,0C0h,0FCh,006h,0C6h,07Ch,000h ; Hex #35 | ||
| 68 | Db 038h,060h,0C0h,0FCh,0C6h,0C6h,07Ch,000h ; Hex #36 | ||
| 69 | Db 0FEh,0C6h,00Ch,018h,030h,030h,030h,000h ; Hex #37 | ||
| 70 | Db 07Ch,0C6h,0C6h,07Ch,0C6h,0C6h,07Ch,000h ; Hex #38 | ||
| 71 | Db 07Ch,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #39 | ||
| 72 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 73 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 74 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,07Eh,000h,000h,07Eh,000h,000h ; Hex #3D | ||
| 76 | Db 060h,030h,018h,00Ch,018h,030h,060h,000h ; Hex #3E | ||
| 77 | Db 07Ch,0C6h,00Ch,018h,018h,000h,018h,000h ; Hex #3F | ||
| 78 | Db 07Ch,0C6h,0DEh,0DEh,0DEh,0C0h,078h,000h ; Hex #40 | ||
| 79 | Db 038h,06Ch,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #41 | ||
| 80 | Db 0FCh,066h,066h,07Ch,066h,066h,0FCh,000h ; Hex #42 | ||
| 81 | Db 03Ch,066h,0C0h,0C0h,0C0h,066h,03Ch,000h ; Hex #43 | ||
| 82 | Db 0F8h,06Ch,066h,066h,066h,06Ch,0F8h,000h ; Hex #44 | ||
| 83 | Db 0FEh,062h,068h,078h,068h,062h,0FEh,000h ; Hex #45 | ||
| 84 | Db 0FEh,062h,068h,078h,068h,060h,0F0h,000h ; Hex #46 | ||
| 85 | Db 03Ch,066h,0C0h,0C0h,0CEh,066h,03Ah,000h ; Hex #47 | ||
| 86 | Db 0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #48 | ||
| 87 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 88 | Db 01Eh,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h ; Hex #4A | ||
| 89 | Db 0E6h,066h,06Ch,078h,06Ch,066h,0E6h,000h ; Hex #4B | ||
| 90 | Db 0F0h,060h,060h,060h,062h,066h,0FEh,000h ; Hex #4C | ||
| 91 | Db 0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h ; Hex #4D | ||
| 92 | Db 0C6h,0E6h,0F6h,0DEh,0CEh,0C6h,0C6h,000h ; Hex #4E | ||
| 93 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #4F | ||
| 94 | Db 0FCh,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #50 | ||
| 95 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0CEh,07Ch,00Eh ; Hex #51 | ||
| 96 | Db 0FCh,066h,066h,07Ch,06Ch,066h,0E6h,000h ; Hex #52 | ||
| 97 | Db 03Ch,066h,030h,018h,00Ch,066h,03Ch,000h ; Hex #53 | ||
| 98 | Db 07Eh,07Eh,05Ah,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 99 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #55 | ||
| 100 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #56 | ||
| 101 | Db 0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #57 | ||
| 102 | Db 0C6h,0C6h,06Ch,038h,06Ch,0C6h,0C6h,000h ; Hex #58 | ||
| 103 | Db 066h,066h,066h,03Ch,018h,018h,03Ch,000h ; Hex #59 | ||
| 104 | Db 0FEh,0C6h,08Ch,018h,032h,066h,0FEh,000h ; Hex #5A | ||
| 105 | Db 03Ch,030h,030h,030h,030h,030h,03Ch,000h ; Hex #5B | ||
| 106 | Db 0C0h,060h,030h,018h,00Ch,006h,002h,000h ; Hex #5C | ||
| 107 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #61 | ||
| 112 | Db 0E0h,060h,07Ch,066h,066h,066h,0DCh,000h ; Hex #62 | ||
| 113 | Db 000h,000h,07Ch,0C6h,0C0h,0C6h,07Ch,000h ; Hex #63 | ||
| 114 | Db 01Ch,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #65 | ||
| 116 | Db 03Ch,066h,060h,0F8h,060h,060h,0F0h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,0F8h ; Hex #67 | ||
| 118 | Db 0E0h,060h,06Ch,076h,066h,066h,0E6h,000h ; Hex #68 | ||
| 119 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 120 | Db 006h,000h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 0E0h,060h,066h,06Ch,078h,06Ch,0E6h,000h ; Hex #6B | ||
| 122 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 123 | Db 000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,0DCh,066h,066h,066h,066h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #6F | ||
| 126 | Db 000h,000h,0DCh,066h,066h,07Ch,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,0DCh,076h,060h,060h,0F0h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,07Eh,0C0h,07Ch,006h,0FCh,000h ; Hex #73 | ||
| 130 | Db 030h,030h,0FCh,030h,030h,036h,01Ch,000h ; Hex #74 | ||
| 131 | Db 000h,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #77 | ||
| 134 | Db 000h,000h,0C6h,06Ch,038h,06Ch,0C6h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #79 | ||
| 136 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 137 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 138 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 139 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 140 | Db 076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h ; Hex #7F | ||
| 142 | Db 07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 0CCh,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #81 | ||
| 144 | Db 00Ch,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #82 | ||
| 145 | Db 07Ch,082h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #83 | ||
| 146 | Db 076h,0DCh,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #84 | ||
| 147 | Db 030h,018h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #85 | ||
| 148 | Db 030h,060h,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,07Eh,0C0h,0C0h,07Eh,00Ch,038h ; Hex #87 | ||
| 150 | Db 07Ch,082h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #88 | ||
| 151 | Db 07Ch,082h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #89 | ||
| 152 | Db 030h,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #8A | ||
| 153 | Db 00Ch,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 154 | Db 07Ch,082h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #8C | ||
| 155 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 156 | Db 076h,0DCh,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #8E | ||
| 157 | Db 07Ch,082h,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #8F | ||
| 158 | Db 018h,030h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #90 | ||
| 159 | Db 060h,030h,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #91 | ||
| 160 | Db 030h,018h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #92 | ||
| 161 | Db 07Ch,082h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #93 | ||
| 162 | Db 076h,0DCh,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #94 | ||
| 163 | Db 030h,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #95 | ||
| 164 | Db 00Ch,018h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #96 | ||
| 165 | Db 060h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #97 | ||
| 166 | Db 030h,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #98 | ||
| 167 | Db 076h,0DCh,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #99 | ||
| 168 | Db 0C6h,000h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9A | ||
| 169 | Db 018h,018h,07Eh,0C0h,0C0h,07Eh,018h,018h ; Hex #9B | ||
| 170 | Db 038h,06Ch,064h,0F0h,060h,066h,0FCh,000h ; Hex #9C | ||
| 171 | Db 030h,018h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9D | ||
| 172 | Db 0F8h,0CCh,0CCh,0FAh,0C6h,0CFh,0C6h,0C7h ; Hex #9E | ||
| 173 | Db 00Ch,018h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #9F | ||
| 174 | Db 018h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #A0 | ||
| 175 | Db 00Ch,018h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 176 | Db 00Ch,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #A2 | ||
| 177 | Db 018h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #A3 | ||
| 178 | Db 076h,0DCh,000h,0DCh,066h,066h,066h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0E6h,0F6h,0DEh,0CEh,000h ; Hex #A5 | ||
| 180 | Db 03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h ; Hex #A6 | ||
| 181 | Db 038h,06Ch,06Ch,038h,000h,07Ch,000h,000h ; Hex #A7 | ||
| 182 | Db 018h,000h,018h,018h,030h,063h,03Eh,000h ; Hex #A8 | ||
| 183 | Db 030h,018h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,0FEh,006h,006h,000h,000h ; Hex #AA | ||
| 185 | Db 063h,0E6h,06Ch,07Eh,033h,066h,0CCh,00Fh ; Hex #AB | ||
| 186 | Db 063h,0E6h,06Ch,07Ah,036h,06Ah,0DFh,006h ; Hex #AC | ||
| 187 | Db 018h,000h,018h,018h,03Ch,03Ch,018h,000h ; Hex #AD | ||
| 188 | Db 000h,033h,066h,0CCh,066h,033h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,0CCh,066h,033h,066h,0CCh,000h,000h ; Hex #AF | ||
| 190 | Db 022h,088h,022h,088h,022h,088h,022h,088h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,0F6h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,0FEh,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,0F6h,006h,0F6h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,0FEh,006h,0F6h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,0F6h,006h,0FEh,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,0FEh,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,0F8h,018h,0F8h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,0F8h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,01Fh,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,0FFh,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,0FFh,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,01Fh,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,0FFh,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,0FFh,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,01Fh,018h,01Fh,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,037h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,037h,030h,03Fh,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,03Fh,030h,037h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,0F7h,000h,0FFh,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,0FFh,000h,0F7h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,037h,030h,037h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,0F7h,000h,0F7h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,0FFh,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,0FFh,000h,0FFh,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,0FFh,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,03Fh,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,01Fh,018h,01Fh,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,01Fh,018h,01Fh,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,03Fh,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,0FFh,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,0FFh,018h,0FFh,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,01Fh,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,076h,0DCh,0C8h,0DCh,076h,000h ; Hex #E0 | ||
| 239 | Db 078h,0CCh,0CCh,0D8h,0CCh,0C6h,0CCh,000h ; Hex #E1 | ||
| 240 | Db 0FEh,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,000h ; Hex #E3 | ||
| 242 | Db 0FEh,0C6h,060h,030h,060h,0C6h,0FEh,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,07Eh,0D8h,0D8h,0D8h,070h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,066h,066h,066h,066h,07Ch,0C0h ; Hex #E6 | ||
| 245 | Db 000h,076h,0DCh,018h,018h,018h,018h,000h ; Hex #E7 | ||
| 246 | Db 07Eh,018h,03Ch,066h,066h,03Ch,018h,07Eh ; Hex #E8 | ||
| 247 | Db 038h,06Ch,0C6h,0FEh,0C6h,06Ch,038h,000h ; Hex #E9 | ||
| 248 | Db 038h,06Ch,0C6h,0C6h,06Ch,06Ch,0EEh,000h ; Hex #EA | ||
| 249 | Db 00Eh,018h,00Ch,03Eh,066h,066h,03Ch,000h ; Hex #EB | ||
| 250 | Db 000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h ; Hex #EC | ||
| 251 | Db 006h,00Ch,07Eh,0DBh,0DBh,07Eh,060h,0C0h ; Hex #ED | ||
| 252 | Db 01Eh,030h,060h,07Eh,060h,030h,01Eh,000h ; Hex #EE | ||
| 253 | Db 000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,000h ; Hex #EF | ||
| 254 | Db 000h,0FEh,000h,0FEh,000h,0FEh,000h,000h ; Hex #F0 | ||
| 255 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 256 | Db 030h,018h,00Ch,018h,030h,000h,07Eh,000h ; Hex #F2 | ||
| 257 | Db 00Ch,018h,030h,018h,00Ch,000h,07Eh,000h ; Hex #F3 | ||
| 258 | Db 00Eh,01Bh,01Bh,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,0D8h,0D8h,070h ; Hex #F5 | ||
| 260 | Db 000h,018h,000h,07Eh,000h,018h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,076h,0DCh,000h,076h,0DCh,000h,000h ; Hex #F7 | ||
| 262 | Db 038h,06Ch,06Ch,038h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,018h,018h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 00Fh,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch ; Hex #FB | ||
| 266 | Db 06Ch,036h,036h,036h,036h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 078h,00Ch,018h,030h,07Ch,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/860-CPI.ASM b/v4.0/src/DEV/DISPLAY/EGA/860-CPI.ASM new file mode 100644 index 0000000..a77b658 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/860-CPI.ASM | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 860 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA860: DW LEN_860 ; SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA860,0 ; POINTER TO NEXT HEADER | ||
| 14 | DW 1 ; DEVICE TYPE | ||
| 15 | DB "EGA " ; DEVICE SUBTYPE ID | ||
| 16 | DW 860 ; CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ; RESERVED | ||
| 18 | DW OFFSET DATA860,0 ; POINTER TO FONTS | ||
| 19 | LEN_860 EQU ($-EGA860) ; | ||
| 20 | ; | ||
| 21 | DATA860:DW 1 ; CART/NON-CART | ||
| 22 | DW 3 ; # OF FONTS | ||
| 23 | DW LEN_D860 ; LENGTH OF DATA | ||
| 24 | D860: ; | ||
| 25 | DB 16,8 ; CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ; NUMBER OF CHARACTERS | ||
| 28 | ; | ||
| 29 | INCLUDE 860-8X16.ASM ; | ||
| 30 | ; | ||
| 31 | DB 14,8 ; CHARACTER BOX SIZE | ||
| 32 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 33 | DW 256 ; NUMBER OF CHARACTERS | ||
| 34 | ; | ||
| 35 | INCLUDE 860-8X14.ASM ; | ||
| 36 | ; | ||
| 37 | DB 8,8 ; CHARACTER BOX SIZE | ||
| 38 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 39 | DW 256 ; NUMBER OF CHARACTERS | ||
| 40 | ; | ||
| 41 | INCLUDE 860-8X8.ASM ; | ||
| 42 | ; | ||
| 43 | LEN_D860 EQU ($-D860) ; | ||
| 44 | ; | ||
| 45 | POST_EGA860 EQU $ ; | ||
| 46 | ; | ||
| 47 | CODE ENDS ; | ||
| 48 | END ; | ||
| 49 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/863-8X14.ASM b/v4.0/src/DEV/DISPLAY/EGA/863-8X14.ASM new file mode 100644 index 0000000..be639f7 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/863-8X14.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 863 | ||
| 6 | ; FONT RESOLUTION: 8 x 14 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,07Eh,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,07Eh,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,078h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,000h,03Ch,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,000h,03Fh,033h,03Fh,030h,030h,030h,070h,0F0h,0E0h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,000h,07Fh,063h,07Fh,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h ; Hex #F | ||
| 30 | Db 000h,000h,000h,080h,0C0h,0E0h,0F8h,0FEh,0F8h,0E0h,0C0h,080h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,000h,000h,002h,006h,00Eh,03Eh,0FEh,03Eh,00Eh,006h,002h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,000h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #14 | ||
| 35 | Db 000h,000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h ; Hex #17 | ||
| 38 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h ; Hex #23 | ||
| 50 | Db 000h,018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,086h,0C6h,07Ch,018h,018h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,066h,0C6h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,076h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,018h,018h,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,000h,00Ch,018h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,07Eh,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,0C6h,07Ch,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,01Eh,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,0C6h,07Ch,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,000h,0FEh,0C6h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,00Ch,078h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,00Ch,018h,030h,060h,0C0h,060h,030h,018h,00Ch,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,0FCh,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,0F0h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,066h,03Ah,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,000h,0E6h,066h,06Ch,06Ch,078h,06Ch,06Ch,066h,0E6h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,000h,0F0h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,000h,0C6h,0EEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,0F0h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Eh,000h ; Hex #51 | ||
| 96 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,0E6h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,0C6h,0C6h,07Ch,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,06Ch,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,000h,0C6h,0C6h,0C6h,07Ch,038h,07Ch,0C6h,0C6h,0C6h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,000h,0FEh,0C6h,08Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,07Ch,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,000h,01Ch,036h,032h,030h,07Ch,030h,030h,030h,078h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h ; Hex #67 | ||
| 118 | Db 000h,000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,0E6h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 000h,000h,000h,0E0h,060h,060h,066h,06Ch,078h,06Ch,066h,0E6h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,07Ch,060h,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,0F0h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,070h,01Ch,0C6h,07Ch,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,000h,010h,030h,030h,0FCh,030h,030h,030h,036h,01Ch,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,066h,0FEh,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,00Eh,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,070h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 000h,000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #82 | ||
| 145 | Db 000h,000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #83 | ||
| 146 | Db 038h,06Ch,0C6h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #87 | ||
| 150 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #89 | ||
| 152 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8B | ||
| 154 | Db 000h,000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8C | ||
| 155 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,0FFh ; Hex #8D | ||
| 156 | Db 018h,00Ch,006h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8E | ||
| 157 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #90 | ||
| 159 | Db 030h,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #91 | ||
| 160 | Db 038h,06Ch,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #92 | ||
| 161 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #93 | ||
| 162 | Db 000h,0C6h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #94 | ||
| 163 | Db 000h,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #95 | ||
| 164 | Db 000h,000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,000h,000h,000h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,000h,000h ; Hex #98 | ||
| 167 | Db 038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,0E6h,0FCh,000h,000h ; Hex #9C | ||
| 171 | Db 030h,018h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9D | ||
| 172 | Db 038h,06Ch,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9E | ||
| 173 | Db 000h,000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 000h,000h,018h,018h,018h,018h,000h,000h,000h,018h,018h,018h,018h,000h ; Hex #A0 | ||
| 175 | Db 000h,00Ch,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,000h,00Ch,018h,030h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,00Ch,078h ; Hex #A5 | ||
| 180 | Db 000h,078h,00Ch,038h,00Ch,00Ch,078h,000h,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 03Ch,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,0C0h,0C0h,0C0h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,018h,030h,06Eh,0C3h,006h,00Ch,01Fh ; Hex #AB | ||
| 186 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,01Ah,036h,06Eh,0DAh,03Fh,006h,006h ; Hex #AC | ||
| 187 | Db 000h,0E0h,030h,0E3h,036h,0ECh,018h,036h,06Eh,0DAh,03Fh,006h,006h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0DCh,076h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0CCh,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,000h,0FEh,0C6h,060h,030h,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,070h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,07Ch,060h,0C0h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,000h,07Eh,018h,03Ch,066h,066h,066h,03Ch,018h,07Eh,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,0EEh,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,03Ch,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,000h,01Eh,030h,060h,060h,07Eh,060h,060h,030h,01Eh,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/863-8X16.ASM b/v4.0/src/DEV/DISPLAY/EGA/863-8X16.ASM new file mode 100644 index 0000000..e421b92 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/863-8X16.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 863 | ||
| 6 | ; FONT RESOLUTION: 8 x 16 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,081h,07Eh,000h,000h,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,0FFh,07Eh,000h,000h,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,03Fh,033h,03Fh,030h,030h,030h,030h,070h,0F0h,0E0h,000h,000h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,07Fh,063h,07Fh,063h,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h,000h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h,000h,000h ; Hex #F | ||
| 30 | Db 000h,080h,0C0h,0E0h,0F0h,0F8h,0FEh,0F8h,0F0h,0E0h,0C0h,080h,000h,000h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,002h,006h,00Eh,01Eh,03Eh,0FEh,03Eh,01Eh,00Eh,006h,002h,000h,000h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,066h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #14 | ||
| 35 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,0FEh,000h,000h,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #17 | ||
| 38 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h,000h,000h ; Hex #23 | ||
| 50 | Db 018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,006h,086h,0C6h,07Ch,018h,018h,000h,000h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,060h,0C6h,086h,000h,000h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,030h,030h,030h,060h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,00Ch,018h,030h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h,000h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,018h,07Eh,000h,000h,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C0h,0C6h,0FEh,000h,000h,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,00Ch,01Eh,000h,000h,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,0FEh,0C6h,006h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,006h,00Ch,078h,000h,000h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,006h,00Ch,018h,030h,060h,030h,018h,00Ch,006h,000h,000h,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,066h,0FCh,000h,000h,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,0C6h,066h,03Ah,000h,000h,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,0E6h,066h,066h,06Ch,078h,078h,06Ch,066h,066h,0E6h,000h,000h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,0F0h,060h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Ch,00Eh,000h,000h ; Hex #51 | ||
| 96 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,006h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,0EEh,06Ch,000h,000h,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h,07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,0FEh,0C6h,086h,00Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,066h,07Ch,000h,000h,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,01Ch,036h,032h,030h,078h,030h,030h,030h,030h,078h,000h,000h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h,000h ; Hex #67 | ||
| 118 | Db 000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,006h,006h,066h,066h,03Ch,000h ; Hex #6A | ||
| 121 | Db 000h,000h,0E0h,060h,060h,066h,06Ch,078h,078h,06Ch,066h,0E6h,000h,000h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,0C6h,000h,000h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh,000h ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,060h,038h,00Ch,0C6h,07Ch,000h,000h,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,010h,030h,030h,0FCh,030h,030h,030h,030h,036h,01Ch,000h,000h,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,06Ch,000h,000h,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h,000h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,018h,00Eh,000h,000h,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,018h,070h,000h,000h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0C6h,0FEh,000h,000h,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,018h,070h,000h,000h ; Hex #80 | ||
| 143 | Db 000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #82 | ||
| 145 | Db 000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #83 | ||
| 146 | Db 038h,06Ch,0C6h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,070h,000h,000h ; Hex #87 | ||
| 150 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #89 | ||
| 152 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8B | ||
| 154 | Db 000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8C | ||
| 155 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h ; Hex #8D | ||
| 156 | Db 018h,00Ch,006h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8E | ||
| 157 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #90 | ||
| 159 | Db 030h,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #91 | ||
| 160 | Db 038h,06Ch,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #92 | ||
| 161 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #93 | ||
| 162 | Db 000h,0C6h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #94 | ||
| 163 | Db 000h,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #95 | ||
| 164 | Db 000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,000h,000h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,0C6h,000h,000h,000h,000h ; Hex #98 | ||
| 167 | Db 038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9A | ||
| 169 | Db 000h,018h,018h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,018h,000h,000h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,060h,0E6h,0FCh,000h,000h,000h,000h ; Hex #9C | ||
| 171 | Db 030h,018h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9D | ||
| 172 | Db 038h,06Ch,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h,000h,000h,000h ; Hex #9F | ||
| 174 | Db 000h,018h,018h,018h,018h,018h,000h,000h,018h,018h,018h,018h,018h,000h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,00Ch,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,018h,030h,060h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,018h,030h,060h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,00Ch,078h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,07Ch,006h,03Ch,006h,006h,07Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 03Ch,066h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,006h,000h,000h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,060h,0DCh,086h,00Ch,018h,03Eh,000h,000h ; Hex #AB | ||
| 186 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #AC | ||
| 187 | Db 000h,0E0h,030h,0E2h,036h,0ECh,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0D8h,06Ch,036h,06Ch,0D8h,000h,000h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0D8h,0DCh,076h,000h,000h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0C6h,0CCh,000h,000h,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,0FEh,0C6h,060h,030h,018h,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,0D8h,070h,000h,000h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,066h,07Ch,060h,060h,0C0h,000h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,07Eh,018h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,06Ch,0EEh,000h,000h,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,066h,03Ch,000h,000h,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,0DBh,07Eh,000h,000h,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,01Ch,030h,060h,060h,07Ch,060h,060h,060h,030h,01Ch,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,06Ch,03Ch,01Ch,000h,000h,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/863-8X8.ASM b/v4.0/src/DEV/DISPLAY/EGA/863-8X8.ASM new file mode 100644 index 0000000..d11925f --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/863-8X8.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 863 | ||
| 6 | ; FONT RESOLUTION: 8 x 8 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 07Eh,081h,0A5h,081h,0BDh,099h,081h,07Eh ; Hex #1 | ||
| 16 | Db 07Eh,0FFh,0DBh,0FFh,0C3h,0E7h,0FFh,07Eh ; Hex #2 | ||
| 17 | Db 06Ch,0FEh,0FEh,0FEh,07Ch,038h,010h,000h ; Hex #3 | ||
| 18 | Db 010h,038h,07Ch,0FEh,07Ch,038h,010h,000h ; Hex #4 | ||
| 19 | Db 038h,07Ch,038h,0FEh,0FEh,0D6h,010h,038h ; Hex #5 | ||
| 20 | Db 010h,038h,07Ch,0FEh,0FEh,07Ch,010h,038h ; Hex #6 | ||
| 21 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,03Ch,066h,042h,042h,066h,03Ch,000h ; Hex #9 | ||
| 24 | Db 0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh ; Hex #A | ||
| 25 | Db 00Fh,007h,00Fh,07Dh,0CCh,0CCh,0CCh,078h ; Hex #B | ||
| 26 | Db 03Ch,066h,066h,066h,03Ch,018h,07Eh,018h ; Hex #C | ||
| 27 | Db 03Fh,033h,03Fh,030h,030h,070h,0F0h,0E0h ; Hex #D | ||
| 28 | Db 07Fh,063h,07Fh,063h,063h,067h,0E6h,0C0h ; Hex #E | ||
| 29 | Db 018h,0DBh,03Ch,0E7h,0E7h,03Ch,0DBh,018h ; Hex #F | ||
| 30 | Db 080h,0E0h,0F8h,0FEh,0F8h,0E0h,080h,000h ; Hex #10 | ||
| 31 | Db 002h,00Eh,03Eh,0FEh,03Eh,00Eh,002h,000h ; Hex #11 | ||
| 32 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 33 | Db 066h,066h,066h,066h,066h,000h,066h,000h ; Hex #13 | ||
| 34 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #14 | ||
| 35 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,000h ; Hex #16 | ||
| 37 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 38 | Db 018h,03Ch,07Eh,018h,018h,018h,018h,000h ; Hex #18 | ||
| 39 | Db 018h,018h,018h,018h,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 40 | Db 000h,018h,00Ch,0FEh,00Ch,018h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,030h,060h,0FEh,060h,030h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h ; Hex #1C | ||
| 43 | Db 000h,024h,066h,0FFh,066h,024h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,018h,03Ch,07Eh,0FFh,0FFh,000h,000h ; Hex #1E | ||
| 45 | Db 000h,0FFh,0FFh,07Eh,03Ch,018h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 018h,03Ch,03Ch,018h,018h,000h,018h,000h ; Hex #21 | ||
| 48 | Db 066h,066h,024h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 06Ch,06Ch,0FEh,06Ch,0FEh,06Ch,06Ch,000h ; Hex #23 | ||
| 50 | Db 018h,03Eh,060h,03Ch,006h,07Ch,018h,000h ; Hex #24 | ||
| 51 | Db 000h,0C6h,0CCh,018h,030h,066h,0C6h,000h ; Hex #25 | ||
| 52 | Db 038h,06Ch,038h,076h,0DCh,0CCh,076h,000h ; Hex #26 | ||
| 53 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 00Ch,018h,030h,030h,030h,018h,00Ch,000h ; Hex #28 | ||
| 55 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 56 | Db 000h,066h,03Ch,0FFh,03Ch,066h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 61 | Db 006h,00Ch,018h,030h,060h,0C0h,080h,000h ; Hex #2F | ||
| 62 | Db 038h,06Ch,0C6h,0D6h,0C6h,06Ch,038h,000h ; Hex #30 | ||
| 63 | Db 018h,038h,018h,018h,018h,018h,07Eh,000h ; Hex #31 | ||
| 64 | Db 07Ch,0C6h,006h,01Ch,030h,066h,0FEh,000h ; Hex #32 | ||
| 65 | Db 07Ch,0C6h,006h,03Ch,006h,0C6h,07Ch,000h ; Hex #33 | ||
| 66 | Db 01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,01Eh,000h ; Hex #34 | ||
| 67 | Db 0FEh,0C0h,0C0h,0FCh,006h,0C6h,07Ch,000h ; Hex #35 | ||
| 68 | Db 038h,060h,0C0h,0FCh,0C6h,0C6h,07Ch,000h ; Hex #36 | ||
| 69 | Db 0FEh,0C6h,00Ch,018h,030h,030h,030h,000h ; Hex #37 | ||
| 70 | Db 07Ch,0C6h,0C6h,07Ch,0C6h,0C6h,07Ch,000h ; Hex #38 | ||
| 71 | Db 07Ch,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #39 | ||
| 72 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 73 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 74 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,07Eh,000h,000h,07Eh,000h,000h ; Hex #3D | ||
| 76 | Db 060h,030h,018h,00Ch,018h,030h,060h,000h ; Hex #3E | ||
| 77 | Db 07Ch,0C6h,00Ch,018h,018h,000h,018h,000h ; Hex #3F | ||
| 78 | Db 07Ch,0C6h,0DEh,0DEh,0DEh,0C0h,078h,000h ; Hex #40 | ||
| 79 | Db 038h,06Ch,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #41 | ||
| 80 | Db 0FCh,066h,066h,07Ch,066h,066h,0FCh,000h ; Hex #42 | ||
| 81 | Db 03Ch,066h,0C0h,0C0h,0C0h,066h,03Ch,000h ; Hex #43 | ||
| 82 | Db 0F8h,06Ch,066h,066h,066h,06Ch,0F8h,000h ; Hex #44 | ||
| 83 | Db 0FEh,062h,068h,078h,068h,062h,0FEh,000h ; Hex #45 | ||
| 84 | Db 0FEh,062h,068h,078h,068h,060h,0F0h,000h ; Hex #46 | ||
| 85 | Db 03Ch,066h,0C0h,0C0h,0CEh,066h,03Ah,000h ; Hex #47 | ||
| 86 | Db 0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #48 | ||
| 87 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 88 | Db 01Eh,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h ; Hex #4A | ||
| 89 | Db 0E6h,066h,06Ch,078h,06Ch,066h,0E6h,000h ; Hex #4B | ||
| 90 | Db 0F0h,060h,060h,060h,062h,066h,0FEh,000h ; Hex #4C | ||
| 91 | Db 0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h ; Hex #4D | ||
| 92 | Db 0C6h,0E6h,0F6h,0DEh,0CEh,0C6h,0C6h,000h ; Hex #4E | ||
| 93 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #4F | ||
| 94 | Db 0FCh,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #50 | ||
| 95 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0CEh,07Ch,00Eh ; Hex #51 | ||
| 96 | Db 0FCh,066h,066h,07Ch,06Ch,066h,0E6h,000h ; Hex #52 | ||
| 97 | Db 03Ch,066h,030h,018h,00Ch,066h,03Ch,000h ; Hex #53 | ||
| 98 | Db 07Eh,07Eh,05Ah,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 99 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #55 | ||
| 100 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #56 | ||
| 101 | Db 0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #57 | ||
| 102 | Db 0C6h,0C6h,06Ch,038h,06Ch,0C6h,0C6h,000h ; Hex #58 | ||
| 103 | Db 066h,066h,066h,03Ch,018h,018h,03Ch,000h ; Hex #59 | ||
| 104 | Db 0FEh,0C6h,08Ch,018h,032h,066h,0FEh,000h ; Hex #5A | ||
| 105 | Db 03Ch,030h,030h,030h,030h,030h,03Ch,000h ; Hex #5B | ||
| 106 | Db 0C0h,060h,030h,018h,00Ch,006h,002h,000h ; Hex #5C | ||
| 107 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #61 | ||
| 112 | Db 0E0h,060h,07Ch,066h,066h,066h,0DCh,000h ; Hex #62 | ||
| 113 | Db 000h,000h,07Ch,0C6h,0C0h,0C6h,07Ch,000h ; Hex #63 | ||
| 114 | Db 01Ch,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #65 | ||
| 116 | Db 03Ch,066h,060h,0F8h,060h,060h,0F0h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,0F8h ; Hex #67 | ||
| 118 | Db 0E0h,060h,06Ch,076h,066h,066h,0E6h,000h ; Hex #68 | ||
| 119 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 120 | Db 006h,000h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 0E0h,060h,066h,06Ch,078h,06Ch,0E6h,000h ; Hex #6B | ||
| 122 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 123 | Db 000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,0DCh,066h,066h,066h,066h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #6F | ||
| 126 | Db 000h,000h,0DCh,066h,066h,07Ch,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,0DCh,076h,060h,060h,0F0h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,07Eh,0C0h,07Ch,006h,0FCh,000h ; Hex #73 | ||
| 130 | Db 030h,030h,0FCh,030h,030h,036h,01Ch,000h ; Hex #74 | ||
| 131 | Db 000h,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #77 | ||
| 134 | Db 000h,000h,0C6h,06Ch,038h,06Ch,0C6h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #79 | ||
| 136 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 137 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 138 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 139 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 140 | Db 076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h ; Hex #7F | ||
| 142 | Db 07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 0CCh,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #81 | ||
| 144 | Db 00Ch,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #82 | ||
| 145 | Db 07Ch,082h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #83 | ||
| 146 | Db 07Ch,082h,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #84 | ||
| 147 | Db 030h,018h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #85 | ||
| 148 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #86 | ||
| 149 | Db 000h,000h,07Eh,0C0h,0C0h,07Eh,00Ch,038h ; Hex #87 | ||
| 150 | Db 07Ch,082h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #88 | ||
| 151 | Db 0C6h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #89 | ||
| 152 | Db 030h,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #8A | ||
| 153 | Db 066h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 154 | Db 07Ch,082h,038h,018h,018h,018h,03Ch,000h ; Hex #8C | ||
| 155 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh ; Hex #8D | ||
| 156 | Db 018h,00Ch,038h,06Ch,0C6h,0FEh,0C6h,000h ; Hex #8E | ||
| 157 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #8F | ||
| 158 | Db 018h,030h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #90 | ||
| 159 | Db 030h,018h,0FEh,0C0h,0FCh,0C0h,0FEh,000h ; Hex #91 | ||
| 160 | Db 038h,044h,0FEh,0C0h,0FCh,0C0h,0FEh,000h ; Hex #92 | ||
| 161 | Db 07Ch,082h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #93 | ||
| 162 | Db 0C6h,000h,0FEh,0C0h,0FCh,0C0h,0FEh,000h ; Hex #94 | ||
| 163 | Db 066h,000h,03Ch,018h,018h,018h,03Ch,000h ; Hex #95 | ||
| 164 | Db 078h,084h,000h,0CCh,0CCh,0CCh,076h,000h ; Hex #96 | ||
| 165 | Db 060h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #97 | ||
| 166 | Db 000h,0C6h,07Ch,0C6h,0C6h,07Ch,0C6h,000h ; Hex #98 | ||
| 167 | Db 07Ch,082h,038h,06Ch,0C6h,06Ch,038h,000h ; Hex #99 | ||
| 168 | Db 0C6h,000h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9A | ||
| 169 | Db 018h,018h,07Eh,0C0h,0C0h,07Eh,018h,018h ; Hex #9B | ||
| 170 | Db 038h,06Ch,064h,0F0h,060h,066h,0FCh,000h ; Hex #9C | ||
| 171 | Db 060h,030h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9D | ||
| 172 | Db 07Ch,082h,000h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9E | ||
| 173 | Db 00Eh,01Bh,018h,03Ch,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 018h,018h,018h,000h,000h,018h,018h,018h ; Hex #A0 | ||
| 175 | Db 00Ch,018h,030h,000h,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 00Ch,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #A2 | ||
| 177 | Db 018h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #A3 | ||
| 178 | Db 000h,0C6h,000h,000h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 000h,000h,000h,000h,000h,018h,00Ch,078h ; Hex #A5 | ||
| 180 | Db 078h,00Ch,038h,00Ch,078h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 07Eh,081h,03Ch,018h,018h,018h,03Ch,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,0FEh,0C0h,0C0h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,0FEh,006h,006h,000h,000h ; Hex #AA | ||
| 185 | Db 063h,0E6h,06Ch,07Eh,033h,066h,0CCh,00Fh ; Hex #AB | ||
| 186 | Db 063h,0E6h,06Ch,07Ah,036h,06Ah,0DFh,006h ; Hex #AC | ||
| 187 | Db 0E1h,032h,064h,03Ah,0F6h,02Ah,05Fh,082h ; Hex #AD | ||
| 188 | Db 000h,033h,066h,0CCh,066h,033h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,0CCh,066h,033h,066h,0CCh,000h,000h ; Hex #AF | ||
| 190 | Db 022h,088h,022h,088h,022h,088h,022h,088h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,0F6h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,0FEh,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,0F6h,006h,0F6h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,0FEh,006h,0F6h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,0F6h,006h,0FEh,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,0FEh,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,0F8h,018h,0F8h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,0F8h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,01Fh,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,0FFh,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,0FFh,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,01Fh,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,0FFh,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,0FFh,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,01Fh,018h,01Fh,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,037h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,037h,030h,03Fh,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,03Fh,030h,037h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,0F7h,000h,0FFh,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,0FFh,000h,0F7h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,037h,030h,037h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,0F7h,000h,0F7h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,0FFh,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,0FFh,000h,0FFh,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,0FFh,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,03Fh,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,01Fh,018h,01Fh,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,01Fh,018h,01Fh,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,03Fh,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,0FFh,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,0FFh,018h,0FFh,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,01Fh,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,076h,0DCh,0C8h,0DCh,076h,000h ; Hex #E0 | ||
| 239 | Db 078h,0CCh,0CCh,0D8h,0CCh,0C6h,0CCh,000h ; Hex #E1 | ||
| 240 | Db 0FEh,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,000h ; Hex #E3 | ||
| 242 | Db 0FEh,0C6h,060h,030h,060h,0C6h,0FEh,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,07Eh,0D8h,0D8h,0D8h,070h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,066h,066h,066h,066h,07Ch,0C0h ; Hex #E6 | ||
| 245 | Db 000h,076h,0DCh,018h,018h,018h,018h,000h ; Hex #E7 | ||
| 246 | Db 07Eh,018h,03Ch,066h,066h,03Ch,018h,07Eh ; Hex #E8 | ||
| 247 | Db 038h,06Ch,0C6h,0FEh,0C6h,06Ch,038h,000h ; Hex #E9 | ||
| 248 | Db 038h,06Ch,0C6h,0C6h,06Ch,06Ch,0EEh,000h ; Hex #EA | ||
| 249 | Db 00Eh,018h,00Ch,03Eh,066h,066h,03Ch,000h ; Hex #EB | ||
| 250 | Db 000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h ; Hex #EC | ||
| 251 | Db 006h,00Ch,07Eh,0DBh,0DBh,07Eh,060h,0C0h ; Hex #ED | ||
| 252 | Db 01Eh,030h,060h,07Eh,060h,030h,01Eh,000h ; Hex #EE | ||
| 253 | Db 000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,000h ; Hex #EF | ||
| 254 | Db 000h,0FEh,000h,0FEh,000h,0FEh,000h,000h ; Hex #F0 | ||
| 255 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 256 | Db 030h,018h,00Ch,018h,030h,000h,07Eh,000h ; Hex #F2 | ||
| 257 | Db 00Ch,018h,030h,018h,00Ch,000h,07Eh,000h ; Hex #F3 | ||
| 258 | Db 00Eh,01Bh,01Bh,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,0D8h,0D8h,070h ; Hex #F5 | ||
| 260 | Db 000h,018h,000h,07Eh,000h,018h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,076h,0DCh,000h,076h,0DCh,000h,000h ; Hex #F7 | ||
| 262 | Db 038h,06Ch,06Ch,038h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,018h,018h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 00Fh,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch ; Hex #FB | ||
| 266 | Db 06Ch,036h,036h,036h,036h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 078h,00Ch,018h,030h,07Ch,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/863-CPI.ASM b/v4.0/src/DEV/DISPLAY/EGA/863-CPI.ASM new file mode 100644 index 0000000..62622ff --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/863-CPI.ASM | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 863 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA863: DW LEN_863 ; SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA863,0 ; POINTER TO NEXT HEADER | ||
| 14 | DW 1 ; DEVICE TYPE | ||
| 15 | DB "EGA " ; DEVICE SUBTYPE ID | ||
| 16 | DW 863 ; CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ; RESERVED | ||
| 18 | DW OFFSET DATA863,0 ; POINTER TO FONTS | ||
| 19 | LEN_863 EQU ($-EGA863) ; | ||
| 20 | ; | ||
| 21 | DATA863:DW 1 ; CART/NON-CART | ||
| 22 | DW 3 ; # OF FONTS | ||
| 23 | DW LEN_D863 ; LENGTH OF DATA | ||
| 24 | D863: ; | ||
| 25 | DB 16,8 ; CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ; NUMBER OF CHARACTERS | ||
| 28 | ; | ||
| 29 | INCLUDE 863-8X16.ASM ; | ||
| 30 | ; | ||
| 31 | DB 14,8 ; CHARACTER BOX SIZE | ||
| 32 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 33 | DW 256 ; NUMBER OF CHARACTERS | ||
| 34 | ; | ||
| 35 | INCLUDE 863-8X14.ASM ; | ||
| 36 | ; | ||
| 37 | DB 8,8 ; CHARACTER BOX SIZE | ||
| 38 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 39 | DW 256 ; NUMBER OF CHARACTERS | ||
| 40 | ; | ||
| 41 | INCLUDE 863-8X8.ASM ; | ||
| 42 | ; | ||
| 43 | LEN_D863 EQU ($-D863) ; | ||
| 44 | ; | ||
| 45 | POST_EGA863 EQU $ ; | ||
| 46 | ; | ||
| 47 | CODE ENDS ; | ||
| 48 | END ; | ||
| 49 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/865-8X14.ASM b/v4.0/src/DEV/DISPLAY/EGA/865-8X14.ASM new file mode 100644 index 0000000..e7171f1 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/865-8X14.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 865 | ||
| 6 | ; FONT RESOLUTION: 8 x 14 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,07Eh,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,07Eh,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,078h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,000h,03Ch,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,000h,03Fh,033h,03Fh,030h,030h,030h,070h,0F0h,0E0h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,000h,07Fh,063h,07Fh,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h ; Hex #F | ||
| 30 | Db 000h,000h,000h,080h,0C0h,0E0h,0F8h,0FEh,0F8h,0E0h,0C0h,080h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,000h,000h,002h,006h,00Eh,03Eh,0FEh,03Eh,00Eh,006h,002h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,000h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,000h,000h ; Hex #14 | ||
| 35 | Db 000h,000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h ; Hex #17 | ||
| 38 | Db 000h,000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h ; Hex #23 | ||
| 50 | Db 000h,018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,086h,0C6h,07Ch,018h,018h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,066h,0C6h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,076h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,018h,018h,018h,030h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,000h,00Ch,018h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,07Eh,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,0C6h,07Ch,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,01Eh,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,0C6h,07Ch,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,000h,0FEh,0C6h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,00Ch,078h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,00Ch,018h,030h,060h,0C0h,060h,030h,018h,00Ch,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,000h,018h,018h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,0FCh,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,0F0h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,066h,03Ah,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,000h,0E6h,066h,06Ch,06Ch,078h,06Ch,06Ch,066h,0E6h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,000h,0F0h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,000h,0C6h,0EEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,0F0h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Eh,000h ; Hex #51 | ||
| 96 | Db 000h,000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,0E6h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,0C6h,0C6h,07Ch,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,06Ch,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,000h,0C6h,0C6h,0C6h,07Ch,038h,07Ch,0C6h,0C6h,0C6h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,03Ch,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,000h,0FEh,0C6h,08Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,07Ch,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,000h,01Ch,036h,032h,030h,07Ch,030h,030h,030h,078h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h ; Hex #67 | ||
| 118 | Db 000h,000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,0E6h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 000h,000h,000h,0E0h,060h,060h,066h,06Ch,078h,06Ch,066h,0E6h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,000h,0DCh,066h,066h,066h,07Ch,060h,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,0F0h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,070h,01Ch,0C6h,07Ch,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,000h,010h,030h,030h,0FCh,030h,030h,030h,036h,01Ch,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,06Ch,0C6h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,066h,0FEh,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,00Eh,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,070h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 000h,000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #82 | ||
| 145 | Db 000h,000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,000h,0C6h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,000h,038h,06Ch,038h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #87 | ||
| 150 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #89 | ||
| 152 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C6h,07Ch,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8B | ||
| 154 | Db 000h,000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8C | ||
| 155 | Db 000h,000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #8D | ||
| 156 | Db 000h,0C6h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,038h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h ; Hex #90 | ||
| 159 | Db 000h,000h,000h,000h,000h,000h,0ECh,036h,076h,0DCh,0D8h,06Eh,000h,000h ; Hex #91 | ||
| 160 | Db 000h,000h,000h,03Eh,06Ch,0CCh,0CCh,0FEh,0CCh,0CCh,0CCh,0CEh,000h,000h ; Hex #92 | ||
| 161 | Db 000h,000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,000h,0C6h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #94 | ||
| 163 | Db 000h,000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #95 | ||
| 164 | Db 000h,000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,000h,0C6h,000h,000h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h ; Hex #98 | ||
| 167 | Db 000h,0C6h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,000h,000h,000h,000h,07Ch,0CEh,0DEh,0F6h,0E6h,07Ch,000h,000h ; Hex #9B | ||
| 170 | Db 000h,000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,0E6h,0FCh,000h,000h ; Hex #9C | ||
| 171 | Db 000h,000h,004h,07Ch,0CEh,0CEh,0D6h,0D6h,0D6h,0E6h,0E6h,07Ch,040h,000h ; Hex #9D | ||
| 172 | Db 000h,000h,0FCh,066h,066h,07Ch,062h,066h,06Fh,066h,066h,0F3h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 000h,000h,00Ch,018h,030h,000h,078h,00Ch,07Ch,0CCh,0CCh,076h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,03Ch,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,000h,00Ch,018h,030h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,000h,00Ch,018h,030h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,000h,030h,030h,000h,030h,030h,060h,0C6h,0C6h,07Ch,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,0C0h,0C0h,0C0h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,018h,030h,06Eh,0C3h,006h,00Ch,01Fh ; Hex #AB | ||
| 186 | Db 000h,000h,060h,0E0h,063h,066h,06Ch,01Ah,036h,06Eh,0DAh,03Fh,006h,006h ; Hex #AC | ||
| 187 | Db 000h,000h,000h,018h,018h,000h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,000h,0C6h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0DCh,076h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0CCh,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,000h,0FEh,0C6h,060h,030h,018h,030h,060h,0C6h,0FEh,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,070h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,07Ch,060h,0C0h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,000h,07Eh,018h,03Ch,066h,066h,066h,03Ch,018h,07Eh,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,06Ch,038h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,0EEh,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,03Ch,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,000h,01Eh,030h,060h,060h,07Eh,060h,060h,030h,01Eh,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/865-8X16.ASM b/v4.0/src/DEV/DISPLAY/EGA/865-8X16.ASM new file mode 100644 index 0000000..33b26f5 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/865-8X16.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 865 | ||
| 6 | ; FONT RESOLUTION: 8 x 16 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 000h,000h,07Eh,081h,0A5h,081h,081h,0BDh,099h,081h,081h,07Eh,000h,000h,000h,000h ; Hex #1 | ||
| 16 | Db 000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h,0E7h,0FFh,0FFh,07Eh,000h,000h,000h,000h ; Hex #2 | ||
| 17 | Db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh,07Ch,038h,010h,000h,000h,000h,000h ; Hex #3 | ||
| 18 | Db 000h,000h,000h,000h,010h,038h,07Ch,0FEh,07Ch,038h,010h,000h,000h,000h,000h,000h ; Hex #4 | ||
| 19 | Db 000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #5 | ||
| 20 | Db 000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6 | ||
| 21 | Db 000h,000h,000h,000h,000h,000h,018h,03Ch,03Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,000h,000h,000h,000h,03Ch,066h,042h,042h,066h,03Ch,000h,000h,000h,000h,000h ; Hex #9 | ||
| 24 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #A | ||
| 25 | Db 000h,000h,01Eh,00Eh,01Ah,032h,078h,0CCh,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #B | ||
| 26 | Db 000h,000h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,018h,018h,000h,000h,000h,000h ; Hex #C | ||
| 27 | Db 000h,000h,03Fh,033h,03Fh,030h,030h,030h,030h,070h,0F0h,0E0h,000h,000h,000h,000h ; Hex #D | ||
| 28 | Db 000h,000h,07Fh,063h,07Fh,063h,063h,063h,063h,067h,0E7h,0E6h,0C0h,000h,000h,000h ; Hex #E | ||
| 29 | Db 000h,000h,000h,018h,018h,0DBh,03Ch,0E7h,03Ch,0DBh,018h,018h,000h,000h,000h,000h ; Hex #F | ||
| 30 | Db 000h,080h,0C0h,0E0h,0F0h,0F8h,0FEh,0F8h,0F0h,0E0h,0C0h,080h,000h,000h,000h,000h ; Hex #10 | ||
| 31 | Db 000h,002h,006h,00Eh,01Eh,03Eh,0FEh,03Eh,01Eh,00Eh,006h,002h,000h,000h,000h,000h ; Hex #11 | ||
| 32 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h,000h ; Hex #12 | ||
| 33 | Db 000h,000h,066h,066h,066h,066h,066h,066h,066h,000h,066h,066h,000h,000h,000h,000h ; Hex #13 | ||
| 34 | Db 000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h ; Hex #14 | ||
| 35 | Db 000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h,06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,000h,000h,000h,000h,0FEh,0FEh,0FEh,0FEh,000h,000h,000h,000h ; Hex #16 | ||
| 37 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,07Eh,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #17 | ||
| 38 | Db 000h,000h,018h,03Ch,07Eh,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #18 | ||
| 39 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,07Eh,03Ch,018h,000h,000h,000h,000h ; Hex #19 | ||
| 40 | Db 000h,000h,000h,000h,000h,018h,00Ch,0FEh,00Ch,018h,000h,000h,000h,000h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,000h,000h,000h,000h,030h,060h,0FEh,060h,030h,000h,000h,000h,000h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,000h,000h,000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h,000h,000h,000h,000h ; Hex #1C | ||
| 43 | Db 000h,000h,000h,000h,000h,028h,06Ch,0FEh,06Ch,028h,000h,000h,000h,000h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,000h,000h,000h,010h,038h,038h,07Ch,07Ch,0FEh,0FEh,000h,000h,000h,000h,000h ; Hex #1E | ||
| 45 | Db 000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch,038h,038h,010h,000h,000h,000h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 000h,000h,018h,03Ch,03Ch,03Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #21 | ||
| 48 | Db 000h,066h,066h,066h,024h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch,06Ch,0FEh,06Ch,06Ch,000h,000h,000h,000h ; Hex #23 | ||
| 50 | Db 018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h,006h,086h,0C6h,07Ch,018h,018h,000h,000h ; Hex #24 | ||
| 51 | Db 000h,000h,000h,000h,0C2h,0C6h,00Ch,018h,030h,060h,0C6h,086h,000h,000h,000h,000h ; Hex #25 | ||
| 52 | Db 000h,000h,038h,06Ch,06Ch,038h,076h,0DCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #26 | ||
| 53 | Db 000h,030h,030h,030h,060h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 000h,000h,00Ch,018h,030h,030h,030h,030h,030h,030h,018h,00Ch,000h,000h,000h,000h ; Hex #28 | ||
| 55 | Db 000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,018h,030h,000h,000h,000h,000h ; Hex #29 | ||
| 56 | Db 000h,000h,000h,000h,000h,066h,03Ch,0FFh,03Ch,066h,000h,000h,000h,000h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,000h,000h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,018h,030h,000h,000h,000h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h ; Hex #2E | ||
| 61 | Db 000h,000h,000h,000h,002h,006h,00Ch,018h,030h,060h,0C0h,080h,000h,000h,000h,000h ; Hex #2F | ||
| 62 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0D6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #30 | ||
| 63 | Db 000h,000h,018h,038h,078h,018h,018h,018h,018h,018h,018h,07Eh,000h,000h,000h,000h ; Hex #31 | ||
| 64 | Db 000h,000h,07Ch,0C6h,006h,00Ch,018h,030h,060h,0C0h,0C6h,0FEh,000h,000h,000h,000h ; Hex #32 | ||
| 65 | Db 000h,000h,07Ch,0C6h,006h,006h,03Ch,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #33 | ||
| 66 | Db 000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,00Ch,00Ch,01Eh,000h,000h,000h,000h ; Hex #34 | ||
| 67 | Db 000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h,006h,006h,0C6h,07Ch,000h,000h,000h,000h ; Hex #35 | ||
| 68 | Db 000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #36 | ||
| 69 | Db 000h,000h,0FEh,0C6h,006h,006h,00Ch,018h,030h,030h,030h,030h,000h,000h,000h,000h ; Hex #37 | ||
| 70 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #38 | ||
| 71 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h,006h,006h,00Ch,078h,000h,000h,000h,000h ; Hex #39 | ||
| 72 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h ; Hex #3A | ||
| 73 | Db 000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,030h,000h,000h,000h,000h ; Hex #3B | ||
| 74 | Db 000h,000h,000h,006h,00Ch,018h,030h,060h,030h,018h,00Ch,006h,000h,000h,000h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,000h,000h,000h,07Eh,000h,000h,07Eh,000h,000h,000h,000h,000h,000h,000h ; Hex #3D | ||
| 76 | Db 000h,000h,000h,060h,030h,018h,00Ch,006h,00Ch,018h,030h,060h,000h,000h,000h,000h ; Hex #3E | ||
| 77 | Db 000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h,018h,000h,018h,018h,000h,000h,000h,000h ; Hex #3F | ||
| 78 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh,0DEh,0DCh,0C0h,07Ch,000h,000h,000h,000h ; Hex #40 | ||
| 79 | Db 000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #41 | ||
| 80 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,066h,066h,066h,066h,0FCh,000h,000h,000h,000h ; Hex #42 | ||
| 81 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,000h,000h,000h,000h ; Hex #43 | ||
| 82 | Db 000h,000h,0F8h,06Ch,066h,066h,066h,066h,066h,066h,06Ch,0F8h,000h,000h,000h,000h ; Hex #44 | ||
| 83 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #45 | ||
| 84 | Db 000h,000h,0FEh,066h,062h,068h,078h,068h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #46 | ||
| 85 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh,0C6h,0C6h,066h,03Ah,000h,000h,000h,000h ; Hex #47 | ||
| 86 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #48 | ||
| 87 | Db 000h,000h,03Ch,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #49 | ||
| 88 | Db 000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch,0CCh,0CCh,0CCh,078h,000h,000h,000h,000h ; Hex #4A | ||
| 89 | Db 000h,000h,0E6h,066h,066h,06Ch,078h,078h,06Ch,066h,066h,0E6h,000h,000h,000h,000h ; Hex #4B | ||
| 90 | Db 000h,000h,0F0h,060h,060h,060h,060h,060h,060h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #4C | ||
| 91 | Db 000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4D | ||
| 92 | Db 000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #4E | ||
| 93 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #4F | ||
| 94 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,060h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #50 | ||
| 95 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0D6h,0DEh,07Ch,00Ch,00Eh,000h,000h ; Hex #51 | ||
| 96 | Db 000h,000h,0FCh,066h,066h,066h,07Ch,06Ch,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #52 | ||
| 97 | Db 000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch,006h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #53 | ||
| 98 | Db 000h,000h,07Eh,07Eh,05Ah,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #54 | ||
| 99 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #55 | ||
| 100 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,010h,000h,000h,000h,000h ; Hex #56 | ||
| 101 | Db 000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,0EEh,06Ch,000h,000h,000h,000h ; Hex #57 | ||
| 102 | Db 000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h,07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h ; Hex #58 | ||
| 103 | Db 000h,000h,066h,066h,066h,066h,03Ch,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #59 | ||
| 104 | Db 000h,000h,0FEh,0C6h,086h,00Ch,018h,030h,060h,0C2h,0C6h,0FEh,000h,000h,000h,000h ; Hex #5A | ||
| 105 | Db 000h,000h,03Ch,030h,030h,030h,030h,030h,030h,030h,030h,03Ch,000h,000h,000h,000h ; Hex #5B | ||
| 106 | Db 000h,000h,000h,080h,0C0h,0E0h,070h,038h,01Ch,00Eh,006h,002h,000h,000h,000h,000h ; Hex #5C | ||
| 107 | Db 000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h,000h,000h,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h ; Hex #5F | ||
| 110 | Db 000h,030h,018h,00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,000h,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #61 | ||
| 112 | Db 000h,000h,0E0h,060h,060h,078h,06Ch,066h,066h,066h,066h,07Ch,000h,000h,000h,000h ; Hex #62 | ||
| 113 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #63 | ||
| 114 | Db 000h,000h,01Ch,00Ch,00Ch,03Ch,06Ch,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #65 | ||
| 116 | Db 000h,000h,01Ch,036h,032h,030h,078h,030h,030h,030h,030h,078h,000h,000h,000h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h,000h ; Hex #67 | ||
| 118 | Db 000h,000h,0E0h,060h,060h,06Ch,076h,066h,066h,066h,066h,0E6h,000h,000h,000h,000h ; Hex #68 | ||
| 119 | Db 000h,000h,018h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #69 | ||
| 120 | Db 000h,000h,006h,006h,000h,00Eh,006h,006h,006h,006h,006h,006h,066h,066h,03Ch,000h ; Hex #6A | ||
| 121 | Db 000h,000h,0E0h,060h,060h,066h,06Ch,078h,078h,06Ch,066h,0E6h,000h,000h,000h,000h ; Hex #6B | ||
| 122 | Db 000h,000h,038h,018h,018h,018h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #6C | ||
| 123 | Db 000h,000h,000h,000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,0D6h,0C6h,000h,000h,000h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #6F | ||
| 126 | Db 000h,000h,000h,000h,000h,0DCh,066h,066h,066h,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #70 | ||
| 127 | Db 000h,000h,000h,000h,000h,076h,0CCh,0CCh,0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,01Eh,000h ; Hex #71 | ||
| 128 | Db 000h,000h,000h,000h,000h,0DCh,076h,066h,060h,060h,060h,0F0h,000h,000h,000h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,060h,038h,00Ch,0C6h,07Ch,000h,000h,000h,000h ; Hex #73 | ||
| 130 | Db 000h,000h,010h,030h,030h,0FCh,030h,030h,030h,030h,036h,01Ch,000h,000h,000h,000h ; Hex #74 | ||
| 131 | Db 000h,000h,000h,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0D6h,0D6h,0D6h,0FEh,06Ch,000h,000h,000h,000h ; Hex #77 | ||
| 134 | Db 000h,000h,000h,000h,000h,0C6h,06Ch,038h,038h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,000h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,0F8h,000h ; Hex #79 | ||
| 136 | Db 000h,000h,000h,000h,000h,0FEh,0CCh,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #7A | ||
| 137 | Db 000h,000h,00Eh,018h,018h,018h,070h,018h,018h,018h,018h,00Eh,000h,000h,000h,000h ; Hex #7B | ||
| 138 | Db 000h,000h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #7C | ||
| 139 | Db 000h,000h,070h,018h,018h,018h,00Eh,018h,018h,018h,018h,070h,000h,000h,000h,000h ; Hex #7D | ||
| 140 | Db 000h,076h,0DCh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,000h,000h,000h,010h,038h,06Ch,0C6h,0C6h,0C6h,0FEh,000h,000h,000h,000h,000h ; Hex #7F | ||
| 142 | Db 000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h,0C0h,0C2h,066h,03Ch,018h,070h,000h,000h ; Hex #80 | ||
| 143 | Db 000h,000h,0CCh,000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #81 | ||
| 144 | Db 000h,00Ch,018h,030h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #82 | ||
| 145 | Db 000h,010h,038h,06Ch,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #83 | ||
| 146 | Db 000h,000h,0CCh,000h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #84 | ||
| 147 | Db 000h,060h,030h,018h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #85 | ||
| 148 | Db 000h,038h,06Ch,038h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0C0h,0C0h,0C0h,0C6h,07Ch,018h,070h,000h,000h ; Hex #87 | ||
| 150 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #88 | ||
| 151 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #89 | ||
| 152 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0FEh,0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h ; Hex #8A | ||
| 153 | Db 000h,000h,066h,000h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8B | ||
| 154 | Db 000h,018h,03Ch,066h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8C | ||
| 155 | Db 000h,060h,030h,018h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #8D | ||
| 156 | Db 000h,0C6h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,038h,010h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #8F | ||
| 158 | Db 00Ch,018h,000h,0FEh,066h,062h,068h,078h,068h,062h,066h,0FEh,000h,000h,000h,000h ; Hex #90 | ||
| 159 | Db 000h,000h,000h,000h,000h,0ECh,036h,036h,07Eh,0D8h,0D8h,06Eh,000h,000h,000h,000h ; Hex #91 | ||
| 160 | Db 000h,000h,03Eh,06Ch,0CCh,0CCh,0FEh,0CCh,0CCh,0CCh,0CCh,0CEh,000h,000h,000h,000h ; Hex #92 | ||
| 161 | Db 000h,010h,038h,06Ch,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #93 | ||
| 162 | Db 000h,000h,0C6h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #94 | ||
| 163 | Db 000h,060h,030h,018h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #95 | ||
| 164 | Db 000h,030h,078h,0CCh,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #96 | ||
| 165 | Db 000h,060h,030h,018h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #97 | ||
| 166 | Db 000h,000h,0C6h,000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #98 | ||
| 167 | Db 000h,0C6h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #99 | ||
| 168 | Db 000h,0C6h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9A | ||
| 169 | Db 000h,000h,000h,000h,000h,07Ch,0C6h,0CEh,0D6h,0E6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #9B | ||
| 170 | Db 000h,038h,06Ch,064h,060h,0F0h,060h,060h,060h,060h,0E6h,0FCh,000h,000h,000h,000h ; Hex #9C | ||
| 171 | Db 000h,004h,07Ch,0CEh,0CEh,0D6h,0D6h,0D6h,0D6h,0E6h,0E6h,07Ch,040h,000h,000h,000h ; Hex #9D | ||
| 172 | Db 000h,0F8h,0CCh,0CCh,0F8h,0C4h,0CCh,0DEh,0CCh,0CCh,0CCh,0C6h,000h,000h,000h,000h ; Hex #9E | ||
| 173 | Db 000h,00Eh,01Bh,018h,018h,018h,07Eh,018h,018h,018h,0D8h,070h,000h,000h,000h,000h ; Hex #9F | ||
| 174 | Db 000h,018h,030h,060h,000h,078h,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A0 | ||
| 175 | Db 000h,00Ch,018h,030h,000h,038h,018h,018h,018h,018h,018h,03Ch,000h,000h,000h,000h ; Hex #A1 | ||
| 176 | Db 000h,018h,030h,060h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A2 | ||
| 177 | Db 000h,018h,030h,060h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,076h,000h,000h,000h,000h ; Hex #A3 | ||
| 178 | Db 000h,000h,076h,0DCh,000h,0DCh,066h,066h,066h,066h,066h,066h,000h,000h,000h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #A5 | ||
| 180 | Db 000h,000h,03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A6 | ||
| 181 | Db 000h,000h,038h,06Ch,06Ch,038h,000h,07Ch,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 182 | Db 000h,000h,030h,030h,000h,030h,030h,060h,0C0h,0C6h,0C6h,07Ch,000h,000h,000h,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,000h,000h,000h,0FEh,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,000h,000h,000h,0FEh,006h,006h,006h,006h,000h,000h,000h,000h,000h ; Hex #AA | ||
| 185 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,060h,0DCh,086h,00Ch,018h,03Eh,000h,000h ; Hex #AB | ||
| 186 | Db 000h,060h,0E0h,062h,066h,06Ch,018h,030h,066h,0CEh,09Ah,03Fh,006h,006h,000h,000h ; Hex #AC | ||
| 187 | Db 000h,000h,018h,018h,000h,018h,018h,018h,03Ch,03Ch,03Ch,018h,000h,000h,000h,000h ; Hex #AD | ||
| 188 | Db 000h,000h,000h,000h,000h,036h,06Ch,0D8h,06Ch,036h,000h,000h,000h,000h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,000h,000h,000h,0C6h,07Ch,0C6h,0C6h,0C6h,0C6h,07Ch,0C6h,000h,000h,000h,000h ; Hex #AF | ||
| 190 | Db 011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,036h,036h,036h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,000h,000h,000h,0FEh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,000h,000h,000h,0F8h,018h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,036h,036h,036h,0F6h,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,000h,000h,000h,0FEh,006h,0F6h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,036h,036h,036h,0F6h,006h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,036h,036h,036h,0FEh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,018h,018h,018h,0F8h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,000h,000h,000h,0F8h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,018h,018h,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,018h,018h,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,036h,036h,036h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,036h,036h,036h,037h,030h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,000h,000h,000h,03Fh,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,036h,036h,036h,0F7h,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,000h,000h,000h,0FFh,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,036h,036h,036h,037h,030h,037h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,036h,036h,036h,0F7h,000h,0F7h,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,018h,018h,018h,0FFh,000h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,036h,036h,036h,03Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,018h,018h,018h,01Fh,018h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,000h,000h,000h,01Fh,018h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,000h,000h,000h,03Fh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,036h,036h,036h,0FFh,036h,036h,036h,036h,036h,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,018h,018h,018h,0FFh,018h,0FFh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,018h,018h,018h,0F8h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,000h,000h,000h,01Fh,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,000h,000h,000h,076h,0DCh,0D8h,0D8h,0D8h,0DCh,076h,000h,000h,000h,000h ; Hex #E0 | ||
| 239 | Db 000h,000h,078h,0CCh,0CCh,0CCh,0D8h,0CCh,0C6h,0C6h,0C6h,0CCh,000h,000h,000h,000h ; Hex #E1 | ||
| 240 | Db 000h,000h,0FEh,0C6h,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,0C0h,000h,000h,000h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,000h,000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,06Ch,06Ch,000h,000h,000h,000h ; Hex #E3 | ||
| 242 | Db 000h,000h,0FEh,0C6h,060h,030h,018h,018h,030h,060h,0C6h,0FEh,000h,000h,000h,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,000h,000h,000h,07Eh,0D8h,0D8h,0D8h,0D8h,0D8h,070h,000h,000h,000h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,000h,000h,000h,066h,066h,066h,066h,066h,066h,07Ch,060h,060h,0C0h,000h ; Hex #E6 | ||
| 245 | Db 000h,000h,000h,000h,076h,0DCh,018h,018h,018h,018h,018h,018h,000h,000h,000h,000h ; Hex #E7 | ||
| 246 | Db 000h,000h,07Eh,018h,03Ch,066h,066h,066h,066h,03Ch,018h,07Eh,000h,000h,000h,000h ; Hex #E8 | ||
| 247 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,06Ch,038h,000h,000h,000h,000h ; Hex #E9 | ||
| 248 | Db 000h,000h,038h,06Ch,0C6h,0C6h,0C6h,06Ch,06Ch,06Ch,06Ch,0EEh,000h,000h,000h,000h ; Hex #EA | ||
| 249 | Db 000h,000h,01Eh,030h,018h,00Ch,03Eh,066h,066h,066h,066h,03Ch,000h,000h,000h,000h ; Hex #EB | ||
| 250 | Db 000h,000h,000h,000h,000h,07Eh,0DBh,0DBh,0DBh,07Eh,000h,000h,000h,000h,000h,000h ; Hex #EC | ||
| 251 | Db 000h,000h,000h,003h,006h,07Eh,0DBh,0DBh,0F3h,07Eh,060h,0C0h,000h,000h,000h,000h ; Hex #ED | ||
| 252 | Db 000h,000h,01Ch,030h,060h,060h,07Ch,060h,060h,060h,030h,01Ch,000h,000h,000h,000h ; Hex #EE | ||
| 253 | Db 000h,000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h ; Hex #EF | ||
| 254 | Db 000h,000h,000h,000h,0FEh,000h,000h,0FEh,000h,000h,0FEh,000h,000h,000h,000h,000h ; Hex #F0 | ||
| 255 | Db 000h,000h,000h,000h,018h,018h,07Eh,018h,018h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F1 | ||
| 256 | Db 000h,000h,000h,030h,018h,00Ch,006h,00Ch,018h,030h,000h,07Eh,000h,000h,000h,000h ; Hex #F2 | ||
| 257 | Db 000h,000h,000h,00Ch,018h,030h,060h,030h,018h,00Ch,000h,07Eh,000h,000h,000h,000h ; Hex #F3 | ||
| 258 | Db 000h,000h,00Eh,01Bh,01Bh,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,018h,018h,018h,018h,0D8h,0D8h,0D8h,070h,000h,000h,000h ; Hex #F5 | ||
| 260 | Db 000h,000h,000h,000h,000h,018h,000h,07Eh,000h,018h,000h,000h,000h,000h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,000h,000h,000h,000h,076h,0DCh,000h,076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #F7 | ||
| 262 | Db 000h,038h,06Ch,06Ch,038h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,000h,000h,000h,000h,018h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 000h,00Fh,00Ch,00Ch,00Ch,00Ch,00Ch,0ECh,06Ch,06Ch,03Ch,01Ch,000h,000h,000h,000h ; Hex #FB | ||
| 266 | Db 000h,06Ch,036h,036h,036h,036h,036h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 000h,03Ch,066h,00Ch,018h,032h,07Eh,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,07Eh,000h,000h,000h,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/865-8X8.ASM b/v4.0/src/DEV/DISPLAY/EGA/865-8X8.ASM new file mode 100644 index 0000000..3aad184 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/865-8X8.ASM | |||
| @@ -0,0 +1,270 @@ | |||
| 1 | ;*************************************************** | ||
| 2 | ; CHARACTER FONT FILE | ||
| 3 | ; Source Assembler File | ||
| 4 | ; | ||
| 5 | ; CODE PAGE: 865 | ||
| 6 | ; FONT RESOLUTION: 8 x 8 | ||
| 7 | ; | ||
| 8 | ; DATE CREATED:05-28-1987 | ||
| 9 | ; | ||
| 10 | ; | ||
| 11 | ; Output file from: MULTIFON, Version 1A | ||
| 12 | ; | ||
| 13 | ;*************************************************** | ||
| 14 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 15 | Db 07Eh,081h,0A5h,081h,0BDh,099h,081h,07Eh ; Hex #1 | ||
| 16 | Db 07Eh,0FFh,0DBh,0FFh,0C3h,0E7h,0FFh,07Eh ; Hex #2 | ||
| 17 | Db 06Ch,0FEh,0FEh,0FEh,07Ch,038h,010h,000h ; Hex #3 | ||
| 18 | Db 010h,038h,07Ch,0FEh,07Ch,038h,010h,000h ; Hex #4 | ||
| 19 | Db 038h,07Ch,038h,0FEh,0FEh,0D6h,010h,038h ; Hex #5 | ||
| 20 | Db 010h,038h,07Ch,0FEh,0FEh,07Ch,010h,038h ; Hex #6 | ||
| 21 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 22 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 23 | Db 000h,03Ch,066h,042h,042h,066h,03Ch,000h ; Hex #9 | ||
| 24 | Db 0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh ; Hex #A | ||
| 25 | Db 00Fh,007h,00Fh,07Dh,0CCh,0CCh,0CCh,078h ; Hex #B | ||
| 26 | Db 03Ch,066h,066h,066h,03Ch,018h,07Eh,018h ; Hex #C | ||
| 27 | Db 03Fh,033h,03Fh,030h,030h,070h,0F0h,0E0h ; Hex #D | ||
| 28 | Db 07Fh,063h,07Fh,063h,063h,067h,0E6h,0C0h ; Hex #E | ||
| 29 | Db 018h,0DBh,03Ch,0E7h,0E7h,03Ch,0DBh,018h ; Hex #F | ||
| 30 | Db 080h,0E0h,0F8h,0FEh,0F8h,0E0h,080h,000h ; Hex #10 | ||
| 31 | Db 002h,00Eh,03Eh,0FEh,03Eh,00Eh,002h,000h ; Hex #11 | ||
| 32 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 33 | Db 066h,066h,066h,066h,066h,000h,066h,000h ; Hex #13 | ||
| 34 | Db 07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h ; Hex #14 | ||
| 35 | Db 03Eh,061h,03Ch,066h,066h,03Ch,086h,07Ch ; Hex #15 | ||
| 36 | Db 000h,000h,000h,000h,07Eh,07Eh,07Eh,000h ; Hex #16 | ||
| 37 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 38 | Db 018h,03Ch,07Eh,018h,018h,018h,018h,000h ; Hex #18 | ||
| 39 | Db 018h,018h,018h,018h,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 40 | Db 000h,018h,00Ch,0FEh,00Ch,018h,000h,000h ; Hex #1A | ||
| 41 | Db 000h,030h,060h,0FEh,060h,030h,000h,000h ; Hex #1B | ||
| 42 | Db 000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h ; Hex #1C | ||
| 43 | Db 000h,024h,066h,0FFh,066h,024h,000h,000h ; Hex #1D | ||
| 44 | Db 000h,018h,03Ch,07Eh,0FFh,0FFh,000h,000h ; Hex #1E | ||
| 45 | Db 000h,0FFh,0FFh,07Eh,03Ch,018h,000h,000h ; Hex #1F | ||
| 46 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 47 | Db 018h,03Ch,03Ch,018h,018h,000h,018h,000h ; Hex #21 | ||
| 48 | Db 066h,066h,024h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 49 | Db 06Ch,06Ch,0FEh,06Ch,0FEh,06Ch,06Ch,000h ; Hex #23 | ||
| 50 | Db 018h,03Eh,060h,03Ch,006h,07Ch,018h,000h ; Hex #24 | ||
| 51 | Db 000h,0C6h,0CCh,018h,030h,066h,0C6h,000h ; Hex #25 | ||
| 52 | Db 038h,06Ch,038h,076h,0DCh,0CCh,076h,000h ; Hex #26 | ||
| 53 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 54 | Db 00Ch,018h,030h,030h,030h,018h,00Ch,000h ; Hex #28 | ||
| 55 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 56 | Db 000h,066h,03Ch,0FFh,03Ch,066h,000h,000h ; Hex #2A | ||
| 57 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 58 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 59 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 60 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 61 | Db 006h,00Ch,018h,030h,060h,0C0h,080h,000h ; Hex #2F | ||
| 62 | Db 038h,06Ch,0C6h,0D6h,0C6h,06Ch,038h,000h ; Hex #30 | ||
| 63 | Db 018h,038h,018h,018h,018h,018h,07Eh,000h ; Hex #31 | ||
| 64 | Db 07Ch,0C6h,006h,01Ch,030h,066h,0FEh,000h ; Hex #32 | ||
| 65 | Db 07Ch,0C6h,006h,03Ch,006h,0C6h,07Ch,000h ; Hex #33 | ||
| 66 | Db 01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,01Eh,000h ; Hex #34 | ||
| 67 | Db 0FEh,0C0h,0C0h,0FCh,006h,0C6h,07Ch,000h ; Hex #35 | ||
| 68 | Db 038h,060h,0C0h,0FCh,0C6h,0C6h,07Ch,000h ; Hex #36 | ||
| 69 | Db 0FEh,0C6h,00Ch,018h,030h,030h,030h,000h ; Hex #37 | ||
| 70 | Db 07Ch,0C6h,0C6h,07Ch,0C6h,0C6h,07Ch,000h ; Hex #38 | ||
| 71 | Db 07Ch,0C6h,0C6h,07Eh,006h,00Ch,078h,000h ; Hex #39 | ||
| 72 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 73 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 74 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 75 | Db 000h,000h,07Eh,000h,000h,07Eh,000h,000h ; Hex #3D | ||
| 76 | Db 060h,030h,018h,00Ch,018h,030h,060h,000h ; Hex #3E | ||
| 77 | Db 07Ch,0C6h,00Ch,018h,018h,000h,018h,000h ; Hex #3F | ||
| 78 | Db 07Ch,0C6h,0DEh,0DEh,0DEh,0C0h,078h,000h ; Hex #40 | ||
| 79 | Db 038h,06Ch,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #41 | ||
| 80 | Db 0FCh,066h,066h,07Ch,066h,066h,0FCh,000h ; Hex #42 | ||
| 81 | Db 03Ch,066h,0C0h,0C0h,0C0h,066h,03Ch,000h ; Hex #43 | ||
| 82 | Db 0F8h,06Ch,066h,066h,066h,06Ch,0F8h,000h ; Hex #44 | ||
| 83 | Db 0FEh,062h,068h,078h,068h,062h,0FEh,000h ; Hex #45 | ||
| 84 | Db 0FEh,062h,068h,078h,068h,060h,0F0h,000h ; Hex #46 | ||
| 85 | Db 03Ch,066h,0C0h,0C0h,0CEh,066h,03Ah,000h ; Hex #47 | ||
| 86 | Db 0C6h,0C6h,0C6h,0FEh,0C6h,0C6h,0C6h,000h ; Hex #48 | ||
| 87 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 88 | Db 01Eh,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h ; Hex #4A | ||
| 89 | Db 0E6h,066h,06Ch,078h,06Ch,066h,0E6h,000h ; Hex #4B | ||
| 90 | Db 0F0h,060h,060h,060h,062h,066h,0FEh,000h ; Hex #4C | ||
| 91 | Db 0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h ; Hex #4D | ||
| 92 | Db 0C6h,0E6h,0F6h,0DEh,0CEh,0C6h,0C6h,000h ; Hex #4E | ||
| 93 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #4F | ||
| 94 | Db 0FCh,066h,066h,07Ch,060h,060h,0F0h,000h ; Hex #50 | ||
| 95 | Db 07Ch,0C6h,0C6h,0C6h,0C6h,0CEh,07Ch,00Eh ; Hex #51 | ||
| 96 | Db 0FCh,066h,066h,07Ch,06Ch,066h,0E6h,000h ; Hex #52 | ||
| 97 | Db 03Ch,066h,030h,018h,00Ch,066h,03Ch,000h ; Hex #53 | ||
| 98 | Db 07Eh,07Eh,05Ah,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 99 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #55 | ||
| 100 | Db 0C6h,0C6h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #56 | ||
| 101 | Db 0C6h,0C6h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #57 | ||
| 102 | Db 0C6h,0C6h,06Ch,038h,06Ch,0C6h,0C6h,000h ; Hex #58 | ||
| 103 | Db 066h,066h,066h,03Ch,018h,018h,03Ch,000h ; Hex #59 | ||
| 104 | Db 0FEh,0C6h,08Ch,018h,032h,066h,0FEh,000h ; Hex #5A | ||
| 105 | Db 03Ch,030h,030h,030h,030h,030h,03Ch,000h ; Hex #5B | ||
| 106 | Db 0C0h,060h,030h,018h,00Ch,006h,002h,000h ; Hex #5C | ||
| 107 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 108 | Db 010h,038h,06Ch,0C6h,000h,000h,000h,000h ; Hex #5E | ||
| 109 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 110 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 111 | Db 000h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #61 | ||
| 112 | Db 0E0h,060h,07Ch,066h,066h,066h,0DCh,000h ; Hex #62 | ||
| 113 | Db 000h,000h,07Ch,0C6h,0C0h,0C6h,07Ch,000h ; Hex #63 | ||
| 114 | Db 01Ch,00Ch,07Ch,0CCh,0CCh,0CCh,076h,000h ; Hex #64 | ||
| 115 | Db 000h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #65 | ||
| 116 | Db 03Ch,066h,060h,0F8h,060h,060h,0F0h,000h ; Hex #66 | ||
| 117 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,0F8h ; Hex #67 | ||
| 118 | Db 0E0h,060h,06Ch,076h,066h,066h,0E6h,000h ; Hex #68 | ||
| 119 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 120 | Db 006h,000h,006h,006h,006h,066h,066h,03Ch ; Hex #6A | ||
| 121 | Db 0E0h,060h,066h,06Ch,078h,06Ch,0E6h,000h ; Hex #6B | ||
| 122 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 123 | Db 000h,000h,0ECh,0FEh,0D6h,0D6h,0D6h,000h ; Hex #6D | ||
| 124 | Db 000h,000h,0DCh,066h,066h,066h,066h,000h ; Hex #6E | ||
| 125 | Db 000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #6F | ||
| 126 | Db 000h,000h,0DCh,066h,066h,07Ch,060h,0F0h ; Hex #70 | ||
| 127 | Db 000h,000h,076h,0CCh,0CCh,07Ch,00Ch,01Eh ; Hex #71 | ||
| 128 | Db 000h,000h,0DCh,076h,060h,060h,0F0h,000h ; Hex #72 | ||
| 129 | Db 000h,000h,07Eh,0C0h,07Ch,006h,0FCh,000h ; Hex #73 | ||
| 130 | Db 030h,030h,0FCh,030h,030h,036h,01Ch,000h ; Hex #74 | ||
| 131 | Db 000h,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #75 | ||
| 132 | Db 000h,000h,0C6h,0C6h,0C6h,06Ch,038h,000h ; Hex #76 | ||
| 133 | Db 000h,000h,0C6h,0D6h,0D6h,0FEh,06Ch,000h ; Hex #77 | ||
| 134 | Db 000h,000h,0C6h,06Ch,038h,06Ch,0C6h,000h ; Hex #78 | ||
| 135 | Db 000h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #79 | ||
| 136 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 137 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 138 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 139 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 140 | Db 076h,0DCh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 141 | Db 000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h ; Hex #7F | ||
| 142 | Db 07Ch,0C6h,0C0h,0C0h,0C6h,07Ch,00Ch,078h ; Hex #80 | ||
| 143 | Db 0CCh,000h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #81 | ||
| 144 | Db 00Ch,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #82 | ||
| 145 | Db 07Ch,082h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #83 | ||
| 146 | Db 0C6h,000h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #84 | ||
| 147 | Db 030h,018h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #85 | ||
| 148 | Db 030h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #86 | ||
| 149 | Db 000h,000h,07Eh,0C0h,0C0h,07Eh,00Ch,038h ; Hex #87 | ||
| 150 | Db 07Ch,082h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #88 | ||
| 151 | Db 0C6h,000h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #89 | ||
| 152 | Db 030h,018h,07Ch,0C6h,0FEh,0C0h,07Ch,000h ; Hex #8A | ||
| 153 | Db 066h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 154 | Db 07Ch,082h,038h,018h,018h,018h,03Ch,000h ; Hex #8C | ||
| 155 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 156 | Db 0C6h,038h,06Ch,0C6h,0FEh,0C6h,0C6h,000h ; Hex #8E | ||
| 157 | Db 038h,06Ch,07Ch,0C6h,0FEh,0C6h,0C6h,000h ; Hex #8F | ||
| 158 | Db 018h,030h,0FEh,0C0h,0F8h,0C0h,0FEh,000h ; Hex #90 | ||
| 159 | Db 000h,000h,07Eh,012h,0feh,090h,0fEh,000h ; Hex #91 | ||
| 160 | Db 03Eh,06Ch,0CCh,0FEh,0CCh,0CCh,0CEh,000h ; Hex #92 | ||
| 161 | Db 07Ch,082h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #93 | ||
| 162 | Db 0C6h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #94 | ||
| 163 | Db 030h,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #95 | ||
| 164 | Db 078h,084h,000h,0CCh,0CCh,0CCh,076h,000h ; Hex #96 | ||
| 165 | Db 060h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #97 | ||
| 166 | Db 0C6h,000h,0C6h,0C6h,0C6h,07Eh,006h,0FCh ; Hex #98 | ||
| 167 | Db 0C6h,038h,06Ch,0C6h,0C6h,06Ch,038h,000h ; Hex #99 | ||
| 168 | Db 0C6h,000h,0C6h,0C6h,0C6h,0C6h,07Ch,000h ; Hex #9A | ||
| 169 | Db 000h,002h,07Ch,0CEh,0D6h,0E6h,07Ch,080h ; Hex #9B | ||
| 170 | Db 038h,06Ch,064h,0F0h,060h,066h,0FCh,000h ; Hex #9C | ||
| 171 | Db 03Ah,06Ch,0CEh,0D6h,0E6h,06Ch,0B8h,000h ; Hex #9D | ||
| 172 | Db 0F8h,0CCh,0CCh,0FAh,0C6h,0CFh,0C6h,0C7h ; Hex #9E | ||
| 173 | Db 00Eh,01Bh,018h,03Ch,018h,0D8h,070h,000h ; Hex #9F | ||
| 174 | Db 018h,030h,078h,00Ch,07Ch,0CCh,076h,000h ; Hex #A0 | ||
| 175 | Db 00Ch,018h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 176 | Db 00Ch,018h,07Ch,0C6h,0C6h,0C6h,07Ch,000h ; Hex #A2 | ||
| 177 | Db 018h,030h,0CCh,0CCh,0CCh,0CCh,076h,000h ; Hex #A3 | ||
| 178 | Db 076h,0DCh,000h,0DCh,066h,066h,066h,000h ; Hex #A4 | ||
| 179 | Db 076h,0DCh,000h,0E6h,0F6h,0DEh,0CEh,000h ; Hex #A5 | ||
| 180 | Db 03Ch,06Ch,06Ch,03Eh,000h,07Eh,000h,000h ; Hex #A6 | ||
| 181 | Db 038h,06Ch,06Ch,038h,000h,07Ch,000h,000h ; Hex #A7 | ||
| 182 | Db 018h,000h,018h,018h,030h,063h,03Eh,000h ; Hex #A8 | ||
| 183 | Db 000h,000h,000h,0FEh,0C0h,0C0h,000h,000h ; Hex #A9 | ||
| 184 | Db 000h,000h,000h,0FEh,006h,006h,000h,000h ; Hex #AA | ||
| 185 | Db 063h,0E6h,06Ch,07Eh,033h,066h,0CCh,00Fh ; Hex #AB | ||
| 186 | Db 063h,0E6h,06Ch,07Ah,036h,06Ah,0DFh,006h ; Hex #AC | ||
| 187 | Db 018h,000h,018h,018h,03Ch,03Ch,018h,000h ; Hex #AD | ||
| 188 | Db 000h,033h,066h,0CCh,066h,033h,000h,000h ; Hex #AE | ||
| 189 | Db 000h,0C6h,07Ch,0C6h,0C6h,07Ch,0C6h,000h ; Hex #AF | ||
| 190 | Db 022h,088h,022h,088h,022h,088h,022h,088h ; Hex #B0 | ||
| 191 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 192 | Db 077h,0DDh,077h,0DDh,077h,0DDh,077h,0DDh ; Hex #B2 | ||
| 193 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 194 | Db 018h,018h,018h,018h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 195 | Db 018h,018h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B5 | ||
| 196 | Db 036h,036h,036h,036h,0F6h,036h,036h,036h ; Hex #B6 | ||
| 197 | Db 000h,000h,000h,000h,0FEh,036h,036h,036h ; Hex #B7 | ||
| 198 | Db 000h,000h,0F8h,018h,0F8h,018h,018h,018h ; Hex #B8 | ||
| 199 | Db 036h,036h,0F6h,006h,0F6h,036h,036h,036h ; Hex #B9 | ||
| 200 | Db 036h,036h,036h,036h,036h,036h,036h,036h ; Hex #BA | ||
| 201 | Db 000h,000h,0FEh,006h,0F6h,036h,036h,036h ; Hex #BB | ||
| 202 | Db 036h,036h,0F6h,006h,0FEh,000h,000h,000h ; Hex #BC | ||
| 203 | Db 036h,036h,036h,036h,0FEh,000h,000h,000h ; Hex #BD | ||
| 204 | Db 018h,018h,0F8h,018h,0F8h,000h,000h,000h ; Hex #BE | ||
| 205 | Db 000h,000h,000h,000h,0F8h,018h,018h,018h ; Hex #BF | ||
| 206 | Db 018h,018h,018h,018h,01Fh,000h,000h,000h ; Hex #C0 | ||
| 207 | Db 018h,018h,018h,018h,0FFh,000h,000h,000h ; Hex #C1 | ||
| 208 | Db 000h,000h,000h,000h,0FFh,018h,018h,018h ; Hex #C2 | ||
| 209 | Db 018h,018h,018h,018h,01Fh,018h,018h,018h ; Hex #C3 | ||
| 210 | Db 000h,000h,000h,000h,0FFh,000h,000h,000h ; Hex #C4 | ||
| 211 | Db 018h,018h,018h,018h,0FFh,018h,018h,018h ; Hex #C5 | ||
| 212 | Db 018h,018h,01Fh,018h,01Fh,018h,018h,018h ; Hex #C6 | ||
| 213 | Db 036h,036h,036h,036h,037h,036h,036h,036h ; Hex #C7 | ||
| 214 | Db 036h,036h,037h,030h,03Fh,000h,000h,000h ; Hex #C8 | ||
| 215 | Db 000h,000h,03Fh,030h,037h,036h,036h,036h ; Hex #C9 | ||
| 216 | Db 036h,036h,0F7h,000h,0FFh,000h,000h,000h ; Hex #CA | ||
| 217 | Db 000h,000h,0FFh,000h,0F7h,036h,036h,036h ; Hex #CB | ||
| 218 | Db 036h,036h,037h,030h,037h,036h,036h,036h ; Hex #CC | ||
| 219 | Db 000h,000h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CD | ||
| 220 | Db 036h,036h,0F7h,000h,0F7h,036h,036h,036h ; Hex #CE | ||
| 221 | Db 018h,018h,0FFh,000h,0FFh,000h,000h,000h ; Hex #CF | ||
| 222 | Db 036h,036h,036h,036h,0FFh,000h,000h,000h ; Hex #D0 | ||
| 223 | Db 000h,000h,0FFh,000h,0FFh,018h,018h,018h ; Hex #D1 | ||
| 224 | Db 000h,000h,000h,000h,0FFh,036h,036h,036h ; Hex #D2 | ||
| 225 | Db 036h,036h,036h,036h,03Fh,000h,000h,000h ; Hex #D3 | ||
| 226 | Db 018h,018h,01Fh,018h,01Fh,000h,000h,000h ; Hex #D4 | ||
| 227 | Db 000h,000h,01Fh,018h,01Fh,018h,018h,018h ; Hex #D5 | ||
| 228 | Db 000h,000h,000h,000h,03Fh,036h,036h,036h ; Hex #D6 | ||
| 229 | Db 036h,036h,036h,036h,0FFh,036h,036h,036h ; Hex #D7 | ||
| 230 | Db 018h,018h,0FFh,018h,0FFh,018h,018h,018h ; Hex #D8 | ||
| 231 | Db 018h,018h,018h,018h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 232 | Db 000h,000h,000h,000h,01Fh,018h,018h,018h ; Hex #DA | ||
| 233 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 234 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 235 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 236 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 237 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 238 | Db 000h,000h,076h,0DCh,0C8h,0DCh,076h,000h ; Hex #E0 | ||
| 239 | Db 078h,0CCh,0CCh,0D8h,0CCh,0C6h,0CCh,000h ; Hex #E1 | ||
| 240 | Db 0FEh,0C6h,0C0h,0C0h,0C0h,0C0h,0C0h,000h ; Hex #E2 | ||
| 241 | Db 000h,000h,0FEh,06Ch,06Ch,06Ch,06Ch,000h ; Hex #E3 | ||
| 242 | Db 0FEh,0C6h,060h,030h,060h,0C6h,0FEh,000h ; Hex #E4 | ||
| 243 | Db 000h,000h,07Eh,0D8h,0D8h,0D8h,070h,000h ; Hex #E5 | ||
| 244 | Db 000h,000h,066h,066h,066h,066h,07Ch,0C0h ; Hex #E6 | ||
| 245 | Db 000h,076h,0DCh,018h,018h,018h,018h,000h ; Hex #E7 | ||
| 246 | Db 07Eh,018h,03Ch,066h,066h,03Ch,018h,07Eh ; Hex #E8 | ||
| 247 | Db 038h,06Ch,0C6h,0FEh,0C6h,06Ch,038h,000h ; Hex #E9 | ||
| 248 | Db 038h,06Ch,0C6h,0C6h,06Ch,06Ch,0EEh,000h ; Hex #EA | ||
| 249 | Db 00Eh,018h,00Ch,03Eh,066h,066h,03Ch,000h ; Hex #EB | ||
| 250 | Db 000h,000h,07Eh,0DBh,0DBh,07Eh,000h,000h ; Hex #EC | ||
| 251 | Db 006h,00Ch,07Eh,0DBh,0DBh,07Eh,060h,0C0h ; Hex #ED | ||
| 252 | Db 01Eh,030h,060h,07Eh,060h,030h,01Eh,000h ; Hex #EE | ||
| 253 | Db 000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h,000h ; Hex #EF | ||
| 254 | Db 000h,0FEh,000h,0FEh,000h,0FEh,000h,000h ; Hex #F0 | ||
| 255 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 256 | Db 030h,018h,00Ch,018h,030h,000h,07Eh,000h ; Hex #F2 | ||
| 257 | Db 00Ch,018h,030h,018h,00Ch,000h,07Eh,000h ; Hex #F3 | ||
| 258 | Db 00Eh,01Bh,01Bh,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 259 | Db 018h,018h,018h,018h,018h,0D8h,0D8h,070h ; Hex #F5 | ||
| 260 | Db 000h,018h,000h,07Eh,000h,018h,000h,000h ; Hex #F6 | ||
| 261 | Db 000h,076h,0DCh,000h,076h,0DCh,000h,000h ; Hex #F7 | ||
| 262 | Db 038h,06Ch,06Ch,038h,000h,000h,000h,000h ; Hex #F8 | ||
| 263 | Db 000h,000h,000h,018h,018h,000h,000h,000h ; Hex #F9 | ||
| 264 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 265 | Db 00Fh,00Ch,00Ch,00Ch,0ECh,06Ch,03Ch,01Ch ; Hex #FB | ||
| 266 | Db 06Ch,036h,036h,036h,036h,000h,000h,000h ; Hex #FC | ||
| 267 | Db 078h,00Ch,018h,030h,07Ch,000h,000h,000h ; Hex #FD | ||
| 268 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 269 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 270 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/865-CPI.ASM b/v4.0/src/DEV/DISPLAY/EGA/865-CPI.ASM new file mode 100644 index 0000000..2d101fd --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/865-CPI.ASM | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 865 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA865: DW LEN_865 ; SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA865,0 ; POINTER TO NEXT HEADER | ||
| 14 | DW 1 ; DEVICE TYPE | ||
| 15 | DB "EGA " ; DEVICE SUBTYPE ID | ||
| 16 | DW 865 ; CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ; RESERVED | ||
| 18 | DW OFFSET DATA865,0 ; POINTER TO FONTS | ||
| 19 | LEN_865 EQU ($-EGA865) ; | ||
| 20 | ; | ||
| 21 | DATA865:DW 1 ; CART/NON-CART | ||
| 22 | DW 3 ; # OF FONTS | ||
| 23 | DW LEN_D865 ; LENGTH OF DATA | ||
| 24 | D865: ; | ||
| 25 | DB 16,8 ; CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ; NUMBER OF CHARACTERS | ||
| 28 | ; | ||
| 29 | INCLUDE 865-8X16.ASM ; | ||
| 30 | ; | ||
| 31 | DB 14,8 ; CHARACTER BOX SIZE | ||
| 32 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 33 | DW 256 ; NUMBER OF CHARACTERS | ||
| 34 | ; | ||
| 35 | INCLUDE 865-8X14.ASM ; | ||
| 36 | ; | ||
| 37 | DB 8,8 ; CHARACTER BOX SIZE | ||
| 38 | DB 0,0 ; ASPECT RATIO (UNUSED) | ||
| 39 | DW 256 ; NUMBER OF CHARACTERS | ||
| 40 | ; | ||
| 41 | INCLUDE 865-8X8.ASM ; | ||
| 42 | ; | ||
| 43 | LEN_D865 EQU ($-D865) ; | ||
| 44 | ; | ||
| 45 | POST_EGA865 EQU $ ; | ||
| 46 | ; | ||
| 47 | CODE ENDS ; | ||
| 48 | END ; | ||
| 49 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/COPYRIGH.ASM b/v4.0/src/DEV/DISPLAY/EGA/COPYRIGH.ASM new file mode 100644 index 0000000..9b83db0 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/COPYRIGH.ASM | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | DB 13,10 | ||
| 5 | DB "Microsoft MS-DOS (R) EGA Display Font File",13,10 | ||
| 6 | include copyrigh.inc | ||
| 7 | DB 1Ah | ||
| 8 | |||
| 9 | CODE ENDS | ||
| 10 | END | ||
| 11 | |||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/CPI-HEAD.ASM b/v4.0/src/DEV/DISPLAY/EGA/CPI-HEAD.ASM new file mode 100644 index 0000000..43626bf --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/CPI-HEAD.ASM | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | BEGIN: ORG 0 | ||
| 5 | |||
| 6 | FNTHEAD:DB 0FFH,"FONT " ;FILE TAG | ||
| 7 | DB 8 DUP(0) ;RESERVED | ||
| 8 | DW 1 ;CNT OF POINTERS IN HEADER | ||
| 9 | DB 1 ;TYPE FOR INFO POINTER | ||
| 10 | DW OFFSET INFO,0 ;POINTER TO INFO IN FILE | ||
| 11 | INFO: DW 5 ;COUNT OF ENTRIES | ||
| 12 | |||
| 13 | CODE ENDS | ||
| 14 | END | ||
| 15 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/EGA.LNK b/v4.0/src/DEV/DISPLAY/EGA/EGA.LNK new file mode 100644 index 0000000..45ea5ea --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/EGA.LNK | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | cpi-head+ | ||
| 2 | 437-CPI+ | ||
| 3 | 850-CPI+ | ||
| 4 | 860-CPI+ | ||
| 5 | 863-CPI+ | ||
| 6 | 865-CPI+ | ||
| 7 | COPYRIGH; | ||
| 8 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/EGA/MAKEFILE b/v4.0/src/DEV/DISPLAY/EGA/MAKEFILE new file mode 100644 index 0000000..89319c7 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/EGA/MAKEFILE | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | #*********************** Makefile for Display\EGA ************************ | ||
| 2 | |||
| 3 | inc =..\..\..\inc | ||
| 4 | dos =..\..\..\dos | ||
| 5 | msg =..\..\..\messages | ||
| 6 | hinc =..\..\..\h | ||
| 7 | |||
| 8 | # | ||
| 9 | ######################## Dependencies begin here ######################### | ||
| 10 | # | ||
| 11 | |||
| 12 | all: ega.cpi | ||
| 13 | |||
| 14 | cpi-head.obj: cpi-head.asm \ | ||
| 15 | makefile | ||
| 16 | |||
| 17 | 437-cpi.obj: 437-cpi.asm \ | ||
| 18 | 437-8x16.asm \ | ||
| 19 | 437-8x14.asm \ | ||
| 20 | makefile \ | ||
| 21 | 437-8x8.asm | ||
| 22 | |||
| 23 | 850-cpi.obj: 850-cpi.asm \ | ||
| 24 | 850-8x16.asm \ | ||
| 25 | 850-8x14.asm \ | ||
| 26 | makefile \ | ||
| 27 | 850-8x8.asm | ||
| 28 | |||
| 29 | 860-cpi.obj: 860-cpi.asm \ | ||
| 30 | 860-8x16.asm \ | ||
| 31 | 860-8x14.asm \ | ||
| 32 | makefile \ | ||
| 33 | 860-8x8.asm | ||
| 34 | |||
| 35 | 863-cpi.obj: 863-cpi.asm \ | ||
| 36 | 863-8x16.asm \ | ||
| 37 | 863-8x14.asm \ | ||
| 38 | makefile \ | ||
| 39 | 863-8x8.asm | ||
| 40 | |||
| 41 | 865-cpi.obj: 865-cpi.asm \ | ||
| 42 | 865-8x16.asm \ | ||
| 43 | 865-8x14.asm \ | ||
| 44 | makefile \ | ||
| 45 | 865-8x8.asm | ||
| 46 | |||
| 47 | copyrigh.obj: copyrigh.asm $(inc)\copyrigh.inc \ | ||
| 48 | makefile | ||
| 49 | |||
| 50 | ega.cpi: cpi-head.obj 437-cpi.obj 850-cpi.obj 860-cpi.obj \ | ||
| 51 | 863-cpi.obj 865-cpi.obj copyrigh.obj makefile ega.lnk \ | ||
| 52 | makefile | ||
| 53 | link @ega.lnk | ||
| 54 | exe2bin cpi-head.exe ega.cpi | ||
| 55 | del cpi-head.exe | ||
diff --git a/v4.0/src/DEV/DISPLAY/F-PARSER.INC b/v4.0/src/DEV/DISPLAY/F-PARSER.INC new file mode 100644 index 0000000..47c166b --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/F-PARSER.INC | |||
| @@ -0,0 +1,2040 @@ | |||
| 1 | |||
| 2 | PAGE ,132 | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT . ®F-PARSER.SRC¯ | ||
| 6 | ENDIF | ||
| 7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 8 | ;; | ||
| 9 | ;; FILENAME: CPS Device Driver -- Font Parser | ||
| 10 | ;; MODULE NAME: CPSFONT | ||
| 11 | ;; TYPE: Font Parser Module | ||
| 12 | ;; LINK PROCEDURE: Link CPSPMnn+CPSFONTn+PTRMSGn+CPSPInn into .EXE format. | ||
| 13 | ;; CPSPM must be first. CPSPInn must be last. Everything | ||
| 14 | ;; before CPSPInn will be resident. | ||
| 15 | ;; INCLUDE FILES: | ||
| 16 | ;; CPSPEQU.INC | ||
| 17 | ;; Remarks : | ||
| 18 | ;; | ||
| 19 | ;; changes are made in stages : PTRSELLO, PTRSELHI, PTRLENLO, PTRLENHI | ||
| 20 | ;; as for Display-type of DEVICE_ID, there will be no printer-type of | ||
| 21 | ;; of DEVICE_TYPE. And these four stages are for the DEVICE_TYPE with | ||
| 22 | ;; the value of printer-type. | ||
| 23 | ;; | ||
| 24 | ;; (most codes in the four stages are masked out as comments than real | ||
| 25 | ;; codes to save spaces. Also mask out lines that contain the | ||
| 26 | ;; following varaibles : | ||
| 27 | ;; -- PTR_SEL_WORD | ||
| 28 | ;; -- PTR_SELOB | ||
| 29 | ;; -- PTR_SEHIB | ||
| 30 | ;; -- PTR_LEN_WORD | ||
| 31 | ;; -- PTR_LNLOB | ||
| 32 | ;; -- PTR_LNHIB | ||
| 33 | ;; -- PRE_FONT_P0 | ||
| 34 | ;; -- PRE_FONT_P | ||
| 35 | ;; -- FTB_SELECT | ||
| 36 | ;; -- FTB_SELLEN | ||
| 37 | ;; | ||
| 38 | ;; | ||
| 39 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 40 | ;; | ||
| 41 | ;INCLUDE CPSPEQU.INC ;; | ||
| 42 | ;; | ||
| 43 | STAT_DELETE EQU 08000H ; previous degignate deleted (DST) | ||
| 44 | ; STAT_DELETE : only for FIFO | ||
| 45 | STAT_NOFIND EQU 08008H ; codepage,device not found (DST) | ||
| 46 | STAT_DEVERR EQU 0800AH ; Device error (DST, IVK, QIV, QLS) | ||
| 47 | STAT_BADATA EQU 0800CH ; bad font file (DST) | ||
| 48 | STAT_BADDEN EQU 0800CH ; no DST (DEN) | ||
| 49 | STAT_TOMANY EQU 0800CH ; too manay codepages (DST) | ||
| 50 | STAT_DUPLCP EQU 0800CH ; too manay codepages (DST) | ||
| 51 | STAT_NOCPIV EQU 08007H ; no codepage designated/invoked | ||
| 52 | STAT_NOCP EQU 08007H ; no codepage designated/invoked | ||
| 53 | ; (IVK, QIV, QLS) | ||
| 54 | TYPE_DISPLAY EQU 01H ;; display type device | ||
| 55 | FLAG_RESTART EQU 000001H ;; bit 1 = restart the parsing | ||
| 56 | |||
| 57 | FPKT EQU DS:[SI] ; | ||
| 58 | FTP EQU ES:[BX] ; | ||
| 59 | ; ( I=Input O=Output ) | ||
| 60 | FTBLK STRUC ; | ||
| 61 | FTB_LENGTH DW TYPE FTBLK ; (NOT TO BE CHANGED) | ||
| 62 | FTB_STATUS DW 0FFFFH ; (O) parsing compelte | ||
| 63 | FTB_TYPE DW 0 ; (O) | ||
| 64 | FTB_TID DB '........' ; (I) | ||
| 65 | FTB_CP DW 0FFFFH ; (I) | ||
| 66 | FTB_MOD DW 0 ; (O) | ||
| 67 | FTB_FONTS DW 0 ; (O) | ||
| 68 | FTB_ROWS DB 0 ;; (O) DISPLAY TYPE DEVICE | ||
| 69 | FTB_COLS DB 0 ;; (O) DISPLAY TYPE DEVICE | ||
| 70 | FTB_X DB 0 ;; (O) DISPLAY TYPE DEVICE | ||
| 71 | FTB_Y DB 0 ;; (O) DISPLAY TYPE DEVICE | ||
| 72 | FTB_COUNT DW 0 ;; (O) DISPLAY TYPE DEVICE | ||
| 73 | FTB_DLEFT DW 0 ; (O) =0, none to come | ||
| 74 | FTB_DLEN DW 0 ; (O) =0, not in this packet | ||
| 75 | FTB_DALO DW 0 ; (O) in the DOS "packet" buffer | ||
| 76 | FTB_DAHI DW 0 ; (O) " " " " " | ||
| 77 | TARGET_LO DW 0 ; internal registers | ||
| 78 | TARGET_HI DW 0 ; internal registers | ||
| 79 | FTBLK ENDS ; | ||
| 80 | ; | ||
| 81 | FBUFS STRUC ; | ||
| 82 | FLAG DW 0 ; | ||
| 83 | BUFFER_LEN DW 0 ; | ||
| 84 | BUFFER_ADDR DD 0 ; | ||
| 85 | NUM_FTBLK DW 0 ; no. of FTBKL entries | ||
| 86 | FBUFS ENDS ; | ||
| 87 | ; STATUS : (in FTB_STATUS) | ||
| 88 | FSTAT_COMPLETE EQU 0FFFFH ; parsing compeleted. (good status) | ||
| 89 | FSTAT_FONT EQU 0FFFEH ; font data is defined and returned | ||
| 90 | FSTAT_FOUND EQU 0FFFDH ; informations including font-length | ||
| 91 | FSTAT_MATCH EQU 0FFFCH ; font header matches FTBLK | ||
| 92 | FSTAT_SEARCH EQU 0FFFBH ; seraching for header & font | ||
| 93 | FSTAT_BOTTOM EQU 0FFF0H ; below this are the DOS_STATUS. | ||
| 94 | ; | ||
| 95 | ;; the FSTAT with value lower than 0FFF0H is to be returned to the DOS | ||
| 96 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 97 | ;; | ||
| 98 | PUBLIC FTABLE,FONT_PARSER ;; | ||
| 99 | ;; | ||
| 100 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 101 | ;; | ||
| 102 | ;; ************************************ | ||
| 103 | ;; ** ** | ||
| 104 | ;; ** Resident Code ** | ||
| 105 | ;; ** ** | ||
| 106 | ;; ************************************ | ||
| 107 | ;; | ||
| 108 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 109 | ;; | ||
| 110 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 111 | ;; | ||
| 112 | ;; FONT_PARSER data | ||
| 113 | ;; | ||
| 114 | ;; -- Interface table : FTABLE | ||
| 115 | ;; | ||
| 116 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 117 | FTABLE: FBUFS <0FFFFH,,,> ;; for temporary testing | ||
| 118 | FTB1 FTBLK <,,,,,,,,,,,,> ;; -- at most 12 entries | ||
| 119 | FTB2 FTBLK <,,,,,,,,,,,,> ;; | ||
| 120 | FTB3 FTBLK <,,,,,,,,,,,,> ;; | ||
| 121 | FTB4 FTBLK <,,,,,,,,,,,,> ;; | ||
| 122 | FTB5 FTBLK <,,,,,,,,,,,,> ;; | ||
| 123 | FTB6 FTBLK <,,,,,,,,,,,,> ;; | ||
| 124 | FTB7 FTBLK <,,,,,,,,,,,,> ;; | ||
| 125 | FTB8 FTBLK <,,,,,,,,,,,,> ;; | ||
| 126 | FTB9 FTBLK <,,,,,,,,,,,,> ;; | ||
| 127 | FTBa FTBLK <,,,,,,,,,,,,> ;; | ||
| 128 | FTBb FTBLK <,,,,,,,,,,,,> ;; | ||
| 129 | FTBc FTBLK <,,,,,,,,,,,,> ;; | ||
| 130 | ;; | ||
| 131 | FP_ERROR DW 0000H ;; internal error register | ||
| 132 | ;; | ||
| 133 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 134 | ;; the followings are bytes accumulated | ||
| 135 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 136 | FTAG_LEN EQU 8 ;; FILE TAGE in the font file header | ||
| 137 | FTAG_COUNT DW 0000H ;; | ||
| 138 | ;; | ||
| 139 | FTAG_PATTERN LABEL BYTE ;; | ||
| 140 | DB 0FFH ;; | ||
| 141 | DB 'FONT ' ;; | ||
| 142 | ;; | ||
| 143 | ;; | ||
| 144 | ;; POINTER in the font file header | ||
| 145 | fptr_LOW LABEL WORD ;; | ||
| 146 | fptr_LOL DB 00H ;; NEXT | ||
| 147 | fptr_LOH DB 00H ;; | ||
| 148 | fptr_HIGH LABEL WORD ;; | ||
| 149 | fptr_HIL DB 00H ;; | ||
| 150 | fptr_HIH DB 00H ;; | ||
| 151 | ;; | ||
| 152 | ;; | ||
| 153 | ;; | ||
| 154 | ENTRY_WORD LABEL WORD ;; | ||
| 155 | ENTRY_LOB DB 00H ;; ENTRY COUNT | ||
| 156 | ENTRY_HIB DB 00H ;; | ||
| 157 | NEXT_LOW LABEL WORD ;; | ||
| 158 | NEXT_LOL DB 00H ;; NEXT | ||
| 159 | NEXT_LOH DB 00H ;; | ||
| 160 | NEXT_HIGH LABEL WORD ;; | ||
| 161 | NEXT_HIL DB 00H ;; | ||
| 162 | NEXT_HIH DB 00H ;; | ||
| 163 | TYPE_WORD LABEL WORD ;; | ||
| 164 | TYPE_LOB DB 00H ;; TYPE | ||
| 165 | TYPE_HIB DB 00H ;; | ||
| 166 | TID_CNT DW 00000H ;; TYPEID COUNT(0 to 8) | ||
| 167 | TYPE_ID : DB ' ' ;; TYPEID | ||
| 168 | CPG_WORD LABEL WORD ;; | ||
| 169 | CPG_LOB DB 00H ;; CODE PAGE | ||
| 170 | CPG_HIB DB 00H ;; | ||
| 171 | FONT_LOW LABEL WORD ;; | ||
| 172 | FONT_LOL DB 00H ;; FONT ADDRESS | ||
| 173 | FONT_LOH DB 00H ;; | ||
| 174 | FONT_HIGH LABEL WORD ;; | ||
| 175 | FONT_HIL DB 00H ;; | ||
| 176 | FONT_HIH DB 00H ;; | ||
| 177 | ;; the followings are contained in the font-block in the exact order & length | ||
| 178 | MOD_WORD LABEL WORD ;; | ||
| 179 | MOD_LOB DB 00H ;; MODIFIER | ||
| 180 | MOD_HIB DB 00H ;; | ||
| 181 | FONTS_WORD LABEL WORD ;; | ||
| 182 | FONTS_LOB DB 00H ;; FONTS | ||
| 183 | FONTS_HIB DB 00H ;; | ||
| 184 | FDLEN_WORD LABEL WORD ;; | ||
| 185 | FDLEN_LOB DB 00H ;; FONT DATA LENGTH | ||
| 186 | FDLEN_HIB DB 00H ;; | ||
| 187 | PRE_FONT_ND EQU ($-MOD_WORD) ;; used to update target for font data | ||
| 188 | ;; to follow. -- for NON-DISPLAY | ||
| 189 | ;DISP_ROWS DB 00H ;; DISPLAY's parameters : | ||
| 190 | ;DISP_COLS DB 00H ;; BOX SIZE | ||
| 191 | ;DISP_X DB 00H ;; ASPECT RATIO | ||
| 192 | ;DISP_Y DB 00H ;; | ||
| 193 | ;COUNT_WORD LABEL WORD ;; NO. OF DISPLAY CHARACTERS | ||
| 194 | ;COUNT_LOB DB 00H ;; | ||
| 195 | ;COUNT_HIB DB 00H ;; | ||
| 196 | ;PRE_FONT_D EQU ($-MOD_WORD) ;; used to update target for font data | ||
| 197 | ;; to follow. -- for DISPLAY | ||
| 198 | ;; | ||
| 199 | ;PTR_SEL_WORD LABEL WORD ;; | ||
| 200 | ;PTR_SELOB DB 00H ;; | ||
| 201 | ;PTR_SEHIB DB 00H ;; | ||
| 202 | ;PRE_FONT_P0 EQU ($-PTR_SELOB+PRE_FONT_ND) ;; to update target for font data | ||
| 203 | ;; to follow -- for PRINTER with | ||
| 204 | ;; selection type = 0. | ||
| 205 | ;; | ||
| 206 | ;PTR_LEN_WORD LABEL WORD ;; | ||
| 207 | ;PTR_LNLOB DB 00H ;; | ||
| 208 | ;PTR_LNHIB DB 00H ;; | ||
| 209 | ;PRE_FONT_P EQU ($-PTR_SELOB+PRE_FONT_ND) ;; to update target for font data | ||
| 210 | ;; to follow -- for PRINTER with | ||
| 211 | ;; selection type <> 0. | ||
| 212 | ;; | ||
| 213 | ;; | ||
| 214 | ;; also update STAGE_CASES and indexing constants | ||
| 215 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 216 | ;; the stage the parsing is in : ;;;;; | ||
| 217 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 218 | ;; | ||
| 219 | STAGE_CASES LABEL WORD ;; the stage the parsing is in : | ||
| 220 | ;; | ||
| 221 | ;; *** INDEXED BY STAGE-INDEX | ||
| 222 | ;; | ||
| 223 | DW OFFSET ENTRYLO ;; 0 | ||
| 224 | DW OFFSET ENTRYHI ;; 1 | ||
| 225 | DW OFFSET NEXTLOL ;; 2 | ||
| 226 | DW OFFSET NEXTLOH ;; 3 | ||
| 227 | DW OFFSET NEXTHIL ;; 4 | ||
| 228 | DW OFFSET NEXTHIH ;; 5 | ||
| 229 | DW OFFSET TYPELO ;; 6 | ||
| 230 | DW OFFSET TYPEHI ;; 7 | ||
| 231 | DW OFFSET TYPEIDS ;; 8 | ||
| 232 | DW OFFSET CPGLO ;; 9 | ||
| 233 | DW OFFSET CPGHI ;; A | ||
| 234 | DW OFFSET FONTLOL ;; B | ||
| 235 | DW OFFSET FONTLOH ;; C | ||
| 236 | DW OFFSET FONTHIL ;; D | ||
| 237 | DW OFFSET FONTHIH ;; E | ||
| 238 | DW 00H ;; MATCH case -- end of SEARCH stages | ||
| 239 | DW 00H ;; SCAN case -- before PRE-FOUND stage | ||
| 240 | DW OFFSET MODLO ;; 11 | ||
| 241 | DW OFFSET MODHI ;; 12 | ||
| 242 | DW OFFSET FONTSLO ;; 13 | ||
| 243 | DW OFFSET FONTSHI ;; 14 | ||
| 244 | DW OFFSET FDLENLO ;; 15 | ||
| 245 | DW OFFSET FDLENHI ;; 16 -- lead to FONT case,NON- DISPLAY | ||
| 246 | DW OFFSET DSPROWS ;; 17 -- DISPLAY only | ||
| 247 | DW OFFSET DSPCOLS ;; 18 | ||
| 248 | DW OFFSET DSPX ;; 19 | ||
| 249 | DW OFFSET DSPY ;; 1A | ||
| 250 | DW OFFSET DSPCOUNTLO ;; 1B | ||
| 251 | DW OFFSET DSPCOUNTHI ;; 1C -- lead to FONT case, DISPLAY | ||
| 252 | DW OFFSET PTRSELLO ;; 1D -- PRINTER only | ||
| 253 | DW OFFSET PTRSELHI ;; 1E | ||
| 254 | DW OFFSET PTRLENLO ;; 1F | ||
| 255 | DW OFFSET PTRLENHI ;; 20 -- lead to FONT case, PRINTER | ||
| 256 | DW 00H ;; FOUND case | ||
| 257 | DW 00H ;; GET_FONT case | ||
| 258 | DW 00H ;; PASS special stage | ||
| 259 | DW OFFSET FILETAG ;; 24 | ||
| 260 | DW OFFSET fptrLOL ;; 25 | ||
| 261 | DW OFFSET fptrLOH ;; 26 | ||
| 262 | DW OFFSET fptrHIL ;; 27 | ||
| 263 | DW OFFSET fptrHIH ;; 28 | ||
| 264 | DW 00H ;; FPTR_SKIP_CASE | ||
| 265 | ;; | ||
| 266 | ;; The followings are individual stage | ||
| 267 | STAGE_MAX EQU ($-STAGE_CASES)/2 ;; number of stages | ||
| 268 | ;; | ||
| 269 | ;; STAGE-INDEX | ||
| 270 | ;; | ||
| 271 | ;; **** INDEX TO STAGE_CASES **** | ||
| 272 | ENTRY_LOX EQU 00H ;; | ||
| 273 | ENTRY_HIX EQU 01H ;; | ||
| 274 | NEXT_LOLX EQU 02H ;; NEXT | ||
| 275 | NEXT_LOHX EQU 03H ;; | ||
| 276 | NEXT_HILX EQU 04H ;; | ||
| 277 | NEXT_HIHX EQU 05H ;; | ||
| 278 | TYPE_LOBX EQU 06H ;; TYPE | ||
| 279 | TYPE_HIBX EQU 07H ;; | ||
| 280 | TYPE_IDX EQU 08H ;; TYPEID | ||
| 281 | CPG_LOBX EQU 09H ;; CODE PAGE | ||
| 282 | CPG_HIBX EQU 0AH ;; | ||
| 283 | FONT_LOLX EQU 0BH ;; FONT ADDRESS | ||
| 284 | FONT_LOHX EQU 0CH ;; | ||
| 285 | FONT_HILX EQU 0DH ;; | ||
| 286 | FONT_HIHX EQU 0EH ;; | ||
| 287 | ;; ------------------------------ | ||
| 288 | MATCHX EQU 0FH ;; MATCH is the end of SEARCH's stages | ||
| 289 | SCANX EQU 10H ;; SCANX is before the PRE-FOUND stages | ||
| 290 | ;; ------------------------------ | ||
| 291 | MOD_LOBX EQU 11H ;; MODIFIER | ||
| 292 | MOD_HIBX EQU 12H ;; | ||
| 293 | FONTS_LOBX EQU 13H ;; FONTS | ||
| 294 | FONTS_HIBX EQU 14H ;; | ||
| 295 | FDLEN_LOBX EQU 15H ;; FONT DATA LENGTH | ||
| 296 | FDLEN_HIBX EQU 16H ;; | ||
| 297 | DISP_ROWSX EQU 17H ;; DISPLAY -- CHAR. SIZE | ||
| 298 | DISP_COLSX EQU 18H ;; | ||
| 299 | DISP_XX EQU 19H ;; DISPLAY -- ASPECT RATIO | ||
| 300 | DISP_YX EQU 1AH ;; | ||
| 301 | COUNT_LOBX EQU 1BH ;; DISPLAY -- COUNT | ||
| 302 | COUNT_HIBX EQU 1CH ;; | ||
| 303 | PTRSELLOX EQU 1DH ;; | ||
| 304 | PTRSELHIX EQU 1EH ;; | ||
| 305 | PTRLENLOX EQU 1FH ;; | ||
| 306 | PTRLENHIX EQU 20H ;; | ||
| 307 | ;; | ||
| 308 | ;; ------------------------------ | ||
| 309 | FOUNDX EQU 21H ;; GET_FX is the end of PRE-FOUND stage | ||
| 310 | GET_FX EQU 22H ;; | ||
| 311 | ;; ------------------------------ | ||
| 312 | PASSX EQU 23H ;; see pass_brk table | ||
| 313 | ;; ------------------------------ | ||
| 314 | FTAGX EQU 24H ;; RESTART ==> FILE TAG | ||
| 315 | ;; | ||
| 316 | fptr_LOLX EQU 25H ;; POINTER in font file header | ||
| 317 | fptr_LOHX EQU 26H ;; | ||
| 318 | fptr_HILX EQU 27H ;; | ||
| 319 | fptr_HIHX EQU 28H ;; --------------------------------- | ||
| 320 | ;; | ||
| 321 | fptr_SKIPX EQU 29H ;; ==> ENTRY_LOX | ||
| 322 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 323 | ;; PASS -- to skip some bytes ;;;;;; | ||
| 324 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 325 | ;; the PASS mechanism is used to skip | ||
| 326 | ;; a number of bytes between two fields | ||
| 327 | ;; The numbers are tabulated in | ||
| 328 | ;; PASS_BRK table in the accumulative | ||
| 329 | ;; sum. The PASS_POSTX(and PASS_POSTXX) | ||
| 330 | ;; are used to tell what is the stage | ||
| 331 | ;; after all the bytes have skipped. | ||
| 332 | ;; | ||
| 333 | PASS_POSTX DW STAGE_MAX ;; the stage after pass-stage | ||
| 334 | ;; | ||
| 335 | FILE_OFFSET EQU 0BH ;; spaces to be skipped in font file : | ||
| 336 | ;; ( after TAG, before POINTER) | ||
| 337 | ;; | ||
| 338 | PASS_CNT DW 0 ;; | ||
| 339 | PASS_BRK LABEL WORD ;; | ||
| 340 | DW FILE_OFFSET ;; skip in the font file header | ||
| 341 | DW FILE_OFFSET+2 ;; pass header-length, needs to reset | ||
| 342 | ;; PASS_CNT for each of the font_header | ||
| 343 | DW FILE_OFFSET+8 ;; pass header-reserved bytes | ||
| 344 | PASS_INDX EQU ($-PASS_BRK)/2 ;; | ||
| 345 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 346 | ;; the control variables : ;;;;;;;; | ||
| 347 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 348 | STAGE DW STAGE_MAX ;; of the STAGE-INDEX | ||
| 349 | ;; | ||
| 350 | Pre_font_len DW 00000H ;; no. of bytes before the FONT DATA | ||
| 351 | ;; | ||
| 352 | ;; | ||
| 353 | COUNT_LO DW 00000H ;; no. of bytes parsed so far | ||
| 354 | COUNT_hI DW 00000H ;; | ||
| 355 | ;; | ||
| 356 | HIT_LO DW 00000H ;; the next byte that is addressed by : | ||
| 357 | HIT_HI DW 00000H ;; either NEXT or TARGET in FTBLK. | ||
| 358 | ;; | ||
| 359 | HIT_FLAG DW 00000H ;; IF ZERO, the NEXT is approaching | ||
| 360 | HIT_BX DW 00000H ;; where FTB is found for nearest hit | ||
| 361 | ;; | ||
| 362 | NUM_FTB DW 00000H ;; as defined in the FP_BUFFER | ||
| 363 | ;; | ||
| 364 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 365 | ;; | ||
| 366 | ;; FONT_PARSER routine | ||
| 367 | ;; | ||
| 368 | ;; -- to be called at every packet received to extract informations | ||
| 369 | ;; from Font File on byte basis. | ||
| 370 | ;; | ||
| 371 | ;; -- Interface though FTABLE | ||
| 372 | ;; | ||
| 373 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 374 | ;; | ||
| 375 | FONT_PARSER PROC ;; | ||
| 376 | PUSH DS ;; save all registers Revised | ||
| 377 | PUSH ES ;; | ||
| 378 | PUSH AX ;; | ||
| 379 | PUSH BX ;; | ||
| 380 | PUSH CX ;; | ||
| 381 | PUSH DX ;; | ||
| 382 | PUSH DI ;; | ||
| 383 | PUSH SI ;; | ||
| 384 | ;; BP isn't used, so it isn't saved | ||
| 385 | LEA BX,FTABLE ;; | ||
| 386 | PUSH CS ;; | ||
| 387 | POP ES ;; ES:[BX] | ||
| 388 | LDS SI,FTP.BUFFER_ADDR ;; DS:[SI] | ||
| 389 | MOV CX,FTP.BUFFER_LEN ;; CX = length of packet | ||
| 390 | MOV DX,FTP.NUM_FTBLK ;; DX = number of FTB | ||
| 391 | MOV cs:num_ftb,DX ;; | ||
| 392 | AND DX,DX ;; | ||
| 393 | JNZ VALID_BUFFER ;; | ||
| 394 | MOV cs:fp_error,0020H ;; ERROR 0020H | ||
| 395 | JMP FP_RET ;; | ||
| 396 | VALID_BUFFER : ;; | ||
| 397 | MOV AX,FTP.FLAG ;; | ||
| 398 | AND AX,FLAG_RESTART ;; | ||
| 399 | Jnz has_RESTART ;; | ||
| 400 | JMP NO_RESTART ;; | ||
| 401 | ;; | ||
| 402 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 403 | has_restart : ;; | ||
| 404 | PUSH BX ;; reset all the output fields | ||
| 405 | ADD BX,TYPE FBUFS ;; FTP = FONT BLOCK | ||
| 406 | XOR AX,AX ;; | ||
| 407 | ;; | ||
| 408 | MOV cs:ftag_count,AX ;; | ||
| 409 | MOV cs:fptr_low,AX ;; | ||
| 410 | MOV cs:fptr_high,AX ;; | ||
| 411 | MOV cs:pre_font_len,AX ;; | ||
| 412 | MOV cs:count_lo,AX ;; | ||
| 413 | MOV cs:count_hi,AX ;; | ||
| 414 | MOV cs:next_low,AX ;; | ||
| 415 | MOV cs:next_high,AX ;; | ||
| 416 | MOV cs:hit_lo,AX ;; | ||
| 417 | MOV cs:hit_hi,AX ;; | ||
| 418 | MOV cs:hit_flag,AX ;; | ||
| 419 | MOV cs:pass_cnt,AX ;; | ||
| 420 | MOV cs:pass_postx,STAGE_MAX ;; | ||
| 421 | ;; | ||
| 422 | MOV cs:stage,STAGE_MAX ;; | ||
| 423 | ;; | ||
| 424 | RESET_FTB : ;; | ||
| 425 | MOV FTP.FTB_STATUS,FSTAT_SEARCH | ||
| 426 | MOV FTP.FTB_TYPE,AX ;; | ||
| 427 | MOV FTP.FTB_MOD,AX ;; | ||
| 428 | MOV FTP.FTB_FONTS,AX ;; | ||
| 429 | MOV FTP.FTB_ROWS,AL ;; | ||
| 430 | MOV FTP.FTB_COLS,AL ;; | ||
| 431 | MOV FTP.FTB_X,AL ;; | ||
| 432 | MOV FTP.FTB_Y,AL ;; | ||
| 433 | MOV FTP.FTB_COUNT,AX ;; | ||
| 434 | MOV FTP.FTB_DLEFT,AX ;; | ||
| 435 | MOV FTP.FTB_DLEN,AX ;; | ||
| 436 | MOV FTP.FTB_DALO,AX ;; | ||
| 437 | MOV FTP.FTB_DAHI,AX ;; | ||
| 438 | MOV FTP.TARGET_LO,AX ;; | ||
| 439 | MOV FTP.TARGET_HI,AX ;; | ||
| 440 | ;; | ||
| 441 | ADD BX, TYPE FTBLK ;; | ||
| 442 | ;; | ||
| 443 | DEC DX ;; | ||
| 444 | AND DX,DX ;; | ||
| 445 | JNZ RESET_FTB ;; | ||
| 446 | ;; | ||
| 447 | POP BX ;; | ||
| 448 | NO_RESTART : ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 449 | ;; any FTBLKs have their data all | ||
| 450 | ;; returned ? if so set their status | ||
| 451 | ;; from FOUND to COMPLETE | ||
| 452 | PUSH BX ;; | ||
| 453 | ADD BX,TYPE FBUFS ;; FTP = FONT BLOCK | ||
| 454 | ;; | ||
| 455 | MOV DX,cs:num_ftb ;; | ||
| 456 | ;; | ||
| 457 | SET_COMPLETE : ;; | ||
| 458 | MOV AX,FTP.FTB_STATUS ;; | ||
| 459 | CMP AX,FSTAT_FONT ;; | ||
| 460 | JNE SET_NEXT ;; | ||
| 461 | ;; | ||
| 462 | MOV AX,FTP.FTB_DLEFT ;; | ||
| 463 | AND AX,AX ;; | ||
| 464 | JNZ SET_NEXT ;; | ||
| 465 | ;; | ||
| 466 | MOV FTP.FTB_STATUS,FSTAT_COMPLETE | ||
| 467 | ;; | ||
| 468 | SET_NEXT : ;; | ||
| 469 | ;; | ||
| 470 | ADD BX,TYPE FTBLK ;; | ||
| 471 | ;; | ||
| 472 | DEC DX ;; | ||
| 473 | AND DX,DX ;; | ||
| 474 | JNZ SET_COMPLETE ;; | ||
| 475 | ;; | ||
| 476 | POP BX ;; | ||
| 477 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 478 | ADD BX,TYPE FBUFS ;; FTP = FONT BLOCK | ||
| 479 | ;; | ||
| 480 | PUSH CX ;; STACK 1 = CX | ||
| 481 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 482 | ;; | ||
| 483 | ;; DO WHILE CX is not zero : | ||
| 484 | ;; | ||
| 485 | ;; -- on each loop, the CX, COUNTs are updated | ||
| 486 | ;; | ||
| 487 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 488 | ;; | ||
| 489 | ;; | ||
| 490 | FTB_LOOP : ;; | ||
| 491 | POP AX ;; STACK -1 | ||
| 492 | SUB AX,CX ;; | ||
| 493 | ADD cs:count_lo,AX ;; | ||
| 494 | JNC NO_CARRY ;; | ||
| 495 | ADD cs:count_hi,1000H ;; | ||
| 496 | NO_CARRY : ;; | ||
| 497 | PUSH CX ;; STACK 1 = CX | ||
| 498 | AND CX,CX ;; | ||
| 499 | JNZ FTB_CONT ;; | ||
| 500 | JMP FTB_LPEND ;; | ||
| 501 | ;; DO CASES : | ||
| 502 | FTB_CONT : ;; ========== | ||
| 503 | ;; | ||
| 504 | MOV AX,cs:stage ;; | ||
| 505 | ;; | ||
| 506 | CMP AX,STAGE_MAX ;; | ||
| 507 | JNE FTB_010 ;; | ||
| 508 | JMP START_CASE ;; ** RESTART ** | ||
| 509 | ;; | ||
| 510 | FTB_010 : ;; | ||
| 511 | CMP AX,MATCHX ;; | ||
| 512 | JAE FTB_020 ;; | ||
| 513 | JMP SEARCH_CASE ;; ** SEARCH ** | ||
| 514 | ;; | ||
| 515 | FTB_020 : ;; | ||
| 516 | CMP AX,MATCHX ;; | ||
| 517 | JNE FTB_030 ;; | ||
| 518 | JMP MATCH_CASE ;; ** MATCH ** | ||
| 519 | ;; | ||
| 520 | FTB_030 : ;; | ||
| 521 | CMP AX,SCANX ;; | ||
| 522 | JNE FTB_040 ;; | ||
| 523 | JMP SCAN_CASE ;; ** SCAN ** | ||
| 524 | ;; | ||
| 525 | FTB_040 : ;; | ||
| 526 | CMP AX,FOUNDX ;; | ||
| 527 | JAE FTB_050 ;; | ||
| 528 | JMP PRE_FOUND_CASE ;; ** PRE-FOUND ** | ||
| 529 | ;; | ||
| 530 | FTB_050 : ;; | ||
| 531 | CMP AX,FOUNDX ;; | ||
| 532 | JNE FTB_060 ;; | ||
| 533 | JMP FOUND_CASE ;; ** FOUND ** | ||
| 534 | ;; | ||
| 535 | FTB_060 : ;; | ||
| 536 | CMP AX,GET_FX ;; | ||
| 537 | JNE FTB_070 ;; | ||
| 538 | JMP GETFONT_CASE ;; ** GET_FONT ** | ||
| 539 | ;; | ||
| 540 | FTB_070 : ;; | ||
| 541 | CMP AX,PASSX ;; | ||
| 542 | JNE FTB_080 ;; | ||
| 543 | JMP PASS ;; ** PASS ** | ||
| 544 | ;; | ||
| 545 | FTB_080 : ;; | ||
| 546 | CMP AX,FPTR_SKIPX ;; | ||
| 547 | JAE FTB_090 ;; | ||
| 548 | JMP SEARCH_CASE ;; ** SEARCH ** | ||
| 549 | ;; | ||
| 550 | FTB_090 : ;; | ||
| 551 | CMP AX,FPTR_SKIPX ;; | ||
| 552 | JNE FTB_FFF ;; | ||
| 553 | JMP FPTR_SKIP_CASE ;; ** SEARCH ** | ||
| 554 | ;; | ||
| 555 | FTB_FFF : ;; | ||
| 556 | MOV FTP.FTB_STATUS,STAT_DEVERR | ||
| 557 | JMP FTB_LPEND ;; ** DEVICE ERROR ** | ||
| 558 | ;; | ||
| 559 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 560 | ;; | ||
| 561 | ;; at the entry of each STAGES /CASES | ||
| 562 | ;; | ||
| 563 | ;; -- DS:[SI] (FPKT) points to PACKET, of DOS's buffer | ||
| 564 | ;; -- CX remaining packet length | ||
| 565 | ;; -- ES:[BX] points to the first FTBLK | ||
| 566 | ;; -- COUNT_LO, COUNT_HI, upto but and including the address pointed by FPKT | ||
| 567 | ;; | ||
| 568 | ;; | ||
| 569 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 570 | ;; | ||
| 571 | ;============================================================================ | ||
| 572 | START_CASE : ;; pass the FILE leading bytes | ||
| 573 | ;; | ||
| 574 | MOV cs:ftag_count,0 ;; | ||
| 575 | MOV cs:stage,ftagx ;; | ||
| 576 | JMP FTB_LOOP ;; | ||
| 577 | ;; | ||
| 578 | ;============================================================================= | ||
| 579 | FPTR_SKIP_CASE : ;; skip until the ENTRY pointed by | ||
| 580 | ;; POINTER (in FPTR) is reached. | ||
| 581 | ;; | ||
| 582 | ;; ************** | ||
| 583 | MOV AX,cs:fptr_low ;; * HIT = FPTR * | ||
| 584 | MOV cs:hit_lo,AX ;; ************** | ||
| 585 | MOV DX,cs:fptr_high ;; | ||
| 586 | MOV cs:hit_hi,DX ;; | ||
| 587 | ;; | ||
| 588 | CMP AX,0FFFFH ;; | ||
| 589 | JNE FPTR_SKIP_VALID ;; | ||
| 590 | CMP DX,0FFFFH ;; | ||
| 591 | JNE FPTR_SKIP_VALID ;; | ||
| 592 | ;; | ||
| 593 | MOV FTP.FTB_STATUS,STAT_BADATA ;; returned at the first FTBLK | ||
| 594 | JMP FPTR_SKIP_MORE ;; | ||
| 595 | ;; | ||
| 596 | FPTR_SKIP_VALID : ;; | ||
| 597 | ;; normalised HIT_HI, HIT_LO | ||
| 598 | MOV AX,DX ;; | ||
| 599 | AND AX,00FFFH ;; | ||
| 600 | PUSH CX ;; | ||
| 601 | MOV CX,4 ;; | ||
| 602 | SHL AX,CL ;; | ||
| 603 | POP CX ;; | ||
| 604 | AND DX,0F000H ;; | ||
| 605 | ADD AX,cs:hit_lo ;; | ||
| 606 | JNC NO_CARRY10 ;; | ||
| 607 | ADD DX,01000H ;; | ||
| 608 | NO_CARRY10: ;; | ||
| 609 | MOV cs:hit_lo,AX ;; | ||
| 610 | MOV cs:hit_hi,DX ;; | ||
| 611 | ;; ************************** | ||
| 612 | ;; * compare FPTR and COUNT * | ||
| 613 | ;; ************************** | ||
| 614 | ;; DX:AX = HIT_HI:HIT_LO (normalised) | ||
| 615 | ;; | ||
| 616 | SUB AX,cs:count_lo ;; | ||
| 617 | Jnc more_fptrlo ;; | ||
| 618 | sub dx,01000h ;; | ||
| 619 | jc fptr_bad ;; | ||
| 620 | ;; | ||
| 621 | more_fptrlo : ;; | ||
| 622 | SUB DX,cs:count_hi ;; | ||
| 623 | JC fptr_BAD ;; | ||
| 624 | ;; | ||
| 625 | INC AX ;; COUNT can be at the HIT, then AX=0 | ||
| 626 | JNC NO_CARRY11 ;; INC AX to make AX comparable to CX | ||
| 627 | ADD DX,01000H ;; i.e. AX = offset + 1 | ||
| 628 | ;; | ||
| 629 | NO_CARRY11: ;; | ||
| 630 | CMP AX,CX ;; | ||
| 631 | JA fptr_skip_more ;; AX > CX, whole CX to be skipped | ||
| 632 | ;; | ||
| 633 | PUSH DX ;; normalise dx:ax | ||
| 634 | AND DX,00FFFH ;; | ||
| 635 | PUSH CX ;; | ||
| 636 | MOV CX,4 ;; | ||
| 637 | SHL DX,CL ;; | ||
| 638 | POP CX ;; | ||
| 639 | ADD AX,DX ;; | ||
| 640 | POP DX ;; | ||
| 641 | JNC NO_CARRY13 ;; | ||
| 642 | ADD DX,01000H ;; | ||
| 643 | NO_CARRY13: ;; | ||
| 644 | AND DX,0F000H ;; | ||
| 645 | ;; | ||
| 646 | PUSH AX ;; | ||
| 647 | PUSH DX ;; STACK +1 : normalosed DX:AX | ||
| 648 | SUB AX,CX ;; | ||
| 649 | JNC NO_BORROW11 ;; | ||
| 650 | SUB DX,1000H ;; | ||
| 651 | JC fptr_MORE_CXp ;; dx:ax < cx | ||
| 652 | NO_BORROW11: ;; | ||
| 653 | ;; dx:ax >= cx | ||
| 654 | AND AX,AX ;; | ||
| 655 | JNE fptr_skip_MOREP ;; | ||
| 656 | AND DX,DX ;; | ||
| 657 | JNE fptr_skip_MOREP ;; | ||
| 658 | ;; dx:ax = cx, or | ||
| 659 | ;; offset + 1 = CX | ||
| 660 | ;; | ||
| 661 | ;; ************************************ | ||
| 662 | ;; * POINTER is within the current CX * | ||
| 663 | ;; ************************************ | ||
| 664 | fptr_MORE_CXP : ;; | ||
| 665 | POP DX ;; | ||
| 666 | POP AX ;; STACK -1 | ||
| 667 | ;; | ||
| 668 | fptr_MORE_CX : ;; DX = 0,to have more CX than offset+1 | ||
| 669 | DEC AX ;; = offset : 0 and above | ||
| 670 | SUB CX,AX ;; | ||
| 671 | ADD SI,AX ;; where the first byte is | ||
| 672 | ;; | ||
| 673 | MOV cs:stage,entry_lox ;; ENTRIES in the font file | ||
| 674 | ;; | ||
| 675 | JMP FTB_LOOP ;; ****** RETURN ******* | ||
| 676 | ;; | ||
| 677 | ;; *********************************** | ||
| 678 | ;; * more to skip ==> FPTR_SKIP_CASE * | ||
| 679 | ;; *********************************** | ||
| 680 | fptr_skip_morep: ;; | ||
| 681 | POP DX ;; | ||
| 682 | POP AX ;; STACK -1 | ||
| 683 | ;; | ||
| 684 | fptr_skip_more : ;; | ||
| 685 | ADD SI,CX ;; | ||
| 686 | SUB CX,CX ;; | ||
| 687 | JMP FTB_LOOP ;; ****** RETURN ***** | ||
| 688 | ;; | ||
| 689 | ;; *********************************** | ||
| 690 | ;; * bad POINTER in font file header * | ||
| 691 | ;; *********************************** | ||
| 692 | ;; | ||
| 693 | fptr_bad : ;; | ||
| 694 | MOV cs:fptr_low,0FFFFH ;; | ||
| 695 | MOV cs:fptr_high,0FFFFH ;; | ||
| 696 | ;; | ||
| 697 | MOV FTP.FTB_STATUS,STAT_BADATA ;; returned at the first FTBLK | ||
| 698 | ;; | ||
| 699 | JMP FPTR_SKIP_MORE ;; | ||
| 700 | ;; | ||
| 701 | ;============================================================================= | ||
| 702 | SEARCH_CASE : ;; | ||
| 703 | ;; still looking for header to match | ||
| 704 | ;; the input : codepage and typeid | ||
| 705 | ;; | ||
| 706 | MOV DI,cs:stage ;; | ||
| 707 | ;; | ||
| 708 | ADD DI,DI ;; double to index to WORD-offset | ||
| 709 | ;; | ||
| 710 | JMP CS:STAGE_CASES[DI] ;; call routine to process the stage | ||
| 711 | ;; | ||
| 712 | ;; | ||
| 713 | ;=========================================================================== | ||
| 714 | MATCH_CASE : ;; | ||
| 715 | ;; | ||
| 716 | PUSH BX ;; | ||
| 717 | MOV DX,cs:num_ftb ;; | ||
| 718 | ;; | ||
| 719 | ;; | ||
| 720 | MATCH_LOOP : ;; | ||
| 721 | MOV AX,FTP.FTB_STATUS ;; | ||
| 722 | CMP AX,FSTAT_SEARCH ;; | ||
| 723 | JE MATCH_SEARCH ;; | ||
| 724 | JMP MATCH_NEXT ;; | ||
| 725 | ;; | ||
| 726 | MATCH_SEARCH : ;; | ||
| 727 | MOV AX,FTP.FTB_CP ;; check the FTB with SEARCH status | ||
| 728 | CMP AX,cs:cpg_word ;; | ||
| 729 | JNE MATCH_MORE ;; | ||
| 730 | PUSH DS ;; code page matched | ||
| 731 | PUSH SI ;; | ||
| 732 | PUSH CX ;; | ||
| 733 | ;; | ||
| 734 | PUSH CS ;; | ||
| 735 | POP DS ;; | ||
| 736 | MOV SI,OFFSET TYPE_ID ;; | ||
| 737 | LEA DI,[BX].FTB_TID ;; | ||
| 738 | MOV CX,8 ;; | ||
| 739 | REPE CMPSB ;; | ||
| 740 | ;; | ||
| 741 | POP CX ;; | ||
| 742 | POP SI ;; | ||
| 743 | POP DS ;; | ||
| 744 | ;; | ||
| 745 | JNE MATCH_MORE ;; | ||
| 746 | ;; MATCH !!!!! (type_id matched) | ||
| 747 | MOV FTP.FTB_STATUS,FSTAT_MATCH | ||
| 748 | MOV AX,cs:type_word ;; | ||
| 749 | MOV FTP.FTB_TYPE,AX ;; | ||
| 750 | MOV AX,cs:font_low ;; | ||
| 751 | MOV FTP.TARGET_LO,AX ;; | ||
| 752 | MOV AX,cs:font_high ;; | ||
| 753 | MOV FTP.TARGET_HI,AX ;; | ||
| 754 | ;; | ||
| 755 | JMP MATCH_NEXT ;; | ||
| 756 | ;; | ||
| 757 | MATCH_MORE : ;; if this is the last rounf ? | ||
| 758 | ;; | ||
| 759 | MOV AX,cs:next_low ;; NEXT = FFFF:FFFF means no more | ||
| 760 | CMP AX,-1 ;; header to come. | ||
| 761 | JNE MATCH_NEXT ;; | ||
| 762 | ;; | ||
| 763 | MOV AX,cs:next_high ;; | ||
| 764 | CMP AX,-1 ;; | ||
| 765 | JNE MATCH_NEXT ;; | ||
| 766 | ;; | ||
| 767 | MOV FTP.FTB_STATUS,STAT_NOFIND ;; ERROR : no match | ||
| 768 | ;; | ||
| 769 | MATCH_NEXT : ;; | ||
| 770 | ADD BX,FTP.FTB_LENGTH ;; | ||
| 771 | DEC DX ;; | ||
| 772 | AND DX,DX ;; | ||
| 773 | JZ MATCH_ALL ;; | ||
| 774 | JMP MATCH_LOOP ;; | ||
| 775 | ;; | ||
| 776 | MATCH_ALL : ;; | ||
| 777 | MOV cs:stage,SCANX ;; | ||
| 778 | ;; | ||
| 779 | MATCH_DONE : ;; | ||
| 780 | POP BX ;; | ||
| 781 | JMP FTB_LOOP ;; | ||
| 782 | ;; | ||
| 783 | ;=========================================================================== | ||
| 784 | SCAN_CASE : ;; | ||
| 785 | ;; ********************************** | ||
| 786 | ;; * determine whether it the font * | ||
| 787 | ;; * data(TARGET),or the next font * | ||
| 788 | ;; * header(NEXT) that is approaching | ||
| 789 | ;; ********************************** | ||
| 790 | ;; | ||
| 791 | MOV AX,cs:next_low ;; | ||
| 792 | MOV cs:hit_lo,AX ;; | ||
| 793 | MOV AX,cs:next_high ;; | ||
| 794 | MOV cs:hit_hi,AX ;; | ||
| 795 | XOR AX,AX ;; | ||
| 796 | MOV cs:hit_flag,AX ;; | ||
| 797 | ;; | ||
| 798 | MOV DI,cs:hit_hi ;; normalised HIT_HI, HIT_LO | ||
| 799 | MOV AX,DI ;; | ||
| 800 | AND AX,00FFFH ;; | ||
| 801 | PUSH CX ;; | ||
| 802 | MOV CX,4 ;; | ||
| 803 | SHL AX,CL ;; | ||
| 804 | POP CX ;; | ||
| 805 | AND DI,0F000H ;; | ||
| 806 | ADD AX,cs:hit_lo ;; | ||
| 807 | JNC NO_CARRY2 ;; | ||
| 808 | ADD DI,01000H ;; | ||
| 809 | NO_CARRY2 : ;; | ||
| 810 | MOV cs:hit_lo,AX ;; | ||
| 811 | MOV cs:hit_hi,DI ;; | ||
| 812 | ;; | ||
| 813 | MOV DX,cs:num_ftb ;; | ||
| 814 | ;; | ||
| 815 | PUSH BX ;; | ||
| 816 | SCAN_LOOP : ;; | ||
| 817 | MOV AX,FTP.FTB_STATUS ;; | ||
| 818 | CMP AX,FSTAT_MATCH ;; | ||
| 819 | JNE SCAN_NEXT ;; | ||
| 820 | ;; | ||
| 821 | ;; | ||
| 822 | MOV DI,FTP.TARGET_HI ;; NORMALISED TARGET | ||
| 823 | MOV AX,DI ;; | ||
| 824 | AND AX,00FFFH ;; | ||
| 825 | PUSH CX ;; | ||
| 826 | MOV CX,4 ;; | ||
| 827 | SHL AX,CL ;; | ||
| 828 | POP CX ;; | ||
| 829 | AND DI,0F000H ;; | ||
| 830 | ADD AX,FTP.TARGET_LO ;; | ||
| 831 | JNC NO_CARRY1 ;; | ||
| 832 | ADD DI,01000H ;; | ||
| 833 | NO_CARRY1 : ;; DI:AX = NORMALISED TARGET | ||
| 834 | ;; | ||
| 835 | ;; ** compare the TARGET and the NEXT | ||
| 836 | ;; | ||
| 837 | CMP DI,cs:hit_hi ;; | ||
| 838 | JA SCAN_NEXT ;; | ||
| 839 | ;; | ||
| 840 | JE SCAN_EQU ;; | ||
| 841 | JMP NEAR_FONT ;; | ||
| 842 | ;; | ||
| 843 | SCAN_EQU : ;; | ||
| 844 | CMP AX,cs:hit_lo ;; | ||
| 845 | JA SCAN_NEXT ;; | ||
| 846 | JE SCAN_ERROR_CHK ;; | ||
| 847 | ;; ********************************** | ||
| 848 | ;; * the font data is approaching * | ||
| 849 | ;; ********************************** | ||
| 850 | NEAR_FONT : ;; | ||
| 851 | MOV cs:hit_flag,-1 ;; | ||
| 852 | MOV cs:hit_lo,AX ;; | ||
| 853 | MOV cs:hit_hi,DI ;; | ||
| 854 | MOV cs:hit_bx,BX ;; used for BAD_BX and in FOUND_CASE | ||
| 855 | JMP SCAN_NEXT ;; | ||
| 856 | ;; | ||
| 857 | ;; ********************************** | ||
| 858 | ;; * the NEXT header is approaching * | ||
| 859 | ;; ********************************** | ||
| 860 | SCAN_ERROR_CHK : ;; | ||
| 861 | MOV AX,cs:hit_flag ;; | ||
| 862 | AND AX,AX ;; | ||
| 863 | JNZ SCAN_NEXT ;; | ||
| 864 | MOV FTP.FTB_STATUS,STAT_BADATA ;; next header and font cannot be the | ||
| 865 | ;; same | ||
| 866 | ;; | ||
| 867 | SCAN_NEXT : ;; | ||
| 868 | DEC DX ;; | ||
| 869 | AND DX,DX ;; | ||
| 870 | JZ SCAN_DONE ;; | ||
| 871 | ;; | ||
| 872 | ADD BX,FTP.FTB_LENGTH ;; | ||
| 873 | JMP SCAN_LOOP ;; ** is there any closer font data ? | ||
| 874 | ;; | ||
| 875 | ;; ************************************ | ||
| 876 | ;; * the HIT is either font data(TARGET | ||
| 877 | ;; * or the font block (NEXT). * | ||
| 878 | ;; ************************************ | ||
| 879 | SCAN_DONE : ;; | ||
| 880 | POP BX ;; | ||
| 881 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 882 | MOV DX,cs:hit_hi ;; HIT_FLAG, HIT_LO, HIT_HI defined | ||
| 883 | MOV AX,cs:hit_lo ;; | ||
| 884 | ;; | ||
| 885 | CMP AX,0FFFFH ;; | ||
| 886 | JNE NOT_FFFF_HIT ;; | ||
| 887 | CMP DX,0FFFFH ;; | ||
| 888 | JNE NOT_FFFF_HIT ;; | ||
| 889 | JMP SCAN_MORE ;; stage remained as SCAN, discard data | ||
| 890 | ;; | ||
| 891 | NOT_FFFF_HIT : ;; | ||
| 892 | ;; DX:AX = HIT_HI:HIT_LO (normalised) | ||
| 893 | SUB AX,cs:count_lo ;; | ||
| 894 | JNC NO_BORROW ;; | ||
| 895 | SUB DX,01000H ;; | ||
| 896 | JC SCAN_BAD ;; | ||
| 897 | NO_BORROW: ;; | ||
| 898 | SUB DX,cs:count_hi ;; | ||
| 899 | JC SCAN_BAD ;; | ||
| 900 | ;; | ||
| 901 | INC AX ;; COUNT can be at the HIT, then AX=0 | ||
| 902 | JNC NO_CARRYX ;; INC AX to make AX comparable to CX | ||
| 903 | ADD DX,01000H ;; i.e. AX = offset + 1 | ||
| 904 | ;; | ||
| 905 | NO_CARRYX : ;; | ||
| 906 | CMP AX,CX ;; | ||
| 907 | JA SCAN_MORE ;; | ||
| 908 | ;; | ||
| 909 | PUSH DX ;; | ||
| 910 | AND DX,00FFFH ;; | ||
| 911 | PUSH CX ;; | ||
| 912 | MOV CX,4 ;; | ||
| 913 | SHL DX,CL ;; | ||
| 914 | POP CX ;; | ||
| 915 | ADD AX,DX ;; | ||
| 916 | POP DX ;; | ||
| 917 | JNC NO_CARRY3 ;; | ||
| 918 | ADD DX,01000H ;; | ||
| 919 | NO_CARRY3 : ;; | ||
| 920 | AND DX,0F000H ;; | ||
| 921 | ;; | ||
| 922 | ;; | ||
| 923 | PUSH AX ;; | ||
| 924 | PUSH DX ;; | ||
| 925 | SUB AX,CX ;; | ||
| 926 | JNC NO_BORROW1 ;; | ||
| 927 | SUB DX,1000H ;; | ||
| 928 | JC MORE_CXp ;; | ||
| 929 | NO_BORROW1 : ;; | ||
| 930 | ;; dx:ax >= cx | ||
| 931 | AND AX,AX ;; | ||
| 932 | JNE SCAN_MOREP ;; | ||
| 933 | AND DX,DX ;; | ||
| 934 | JNE SCAN_MOREP ;; | ||
| 935 | ;; | ||
| 936 | ;; offset + 1 = CX | ||
| 937 | ;; | ||
| 938 | MORE_CXP : ;; | ||
| 939 | POP DX ;; | ||
| 940 | POP AX ;; | ||
| 941 | ;; | ||
| 942 | MORE_CX : ;; DX = 0,to have more CX than offset+1 | ||
| 943 | DEC AX ;; = offset : 0 and above | ||
| 944 | SUB CX,AX ;; | ||
| 945 | ADD SI,AX ;; where the first byte is | ||
| 946 | MOV AX,cs:hit_flag ;; | ||
| 947 | AND AX,AX ;; | ||
| 948 | JE NEXT_REACHED ;; | ||
| 949 | ;; | ||
| 950 | MOV cs:stage,MOD_LOBX ;; font-data reached, | ||
| 951 | ;; | ||
| 952 | JMP FTB_LOOP ;; ****** RETURN ******* | ||
| 953 | ;; | ||
| 954 | NEXT_REACHED : ;; | ||
| 955 | MOV cs:stage,PASSX ;; | ||
| 956 | MOV cs:pass_postx,next_lolX ;; | ||
| 957 | MOV cs:pass_cnt,FILE_OFFSET ;; | ||
| 958 | ;; | ||
| 959 | ;; | ||
| 960 | JMP FTB_LOOP ;; ****** RETURN ******* | ||
| 961 | ;; | ||
| 962 | ;; *********************************** | ||
| 963 | SCAN_MOREP : ;; * scan more FTBLK for the nearest * | ||
| 964 | ;; * font data * | ||
| 965 | ;; *********************************** | ||
| 966 | POP DX ;; | ||
| 967 | POP AX ;; | ||
| 968 | ;; | ||
| 969 | SCAN_MORE : ;; | ||
| 970 | ADD SI,CX ;; | ||
| 971 | SUB CX,CX ;; | ||
| 972 | JMP FTB_LOOP ;; more SCAN stage | ||
| 973 | ;; | ||
| 974 | SCAN_BAD: ;; ************************* | ||
| 975 | MOV AX,cs:hit_flag ;; * scan is bad * | ||
| 976 | AND AX,AX ;; ************************* | ||
| 977 | JNZ BAD_BX ;; | ||
| 978 | MOV AX,-1 ;; NEXT is pointing backwards | ||
| 979 | MOV cs:next_low,AX ;; | ||
| 980 | MOV cs:next_high,AX ;; no more NEXT | ||
| 981 | MOV FTP.FTB_STATUS,STAT_BADATA ;; returned at the first FTBLK | ||
| 982 | JMP FTB_LOOP ;; | ||
| 983 | ;; | ||
| 984 | BAD_BX : ;; | ||
| 985 | PUSH BX ;; FONT is pointing backwards | ||
| 986 | MOV BX,cs:hit_bx ;; | ||
| 987 | MOV FTP.FTB_STATUS,STAT_BADATA | ||
| 988 | POP BX ;; | ||
| 989 | JMP FTB_LOOP ;; | ||
| 990 | ;; | ||
| 991 | ;=========================================================================== | ||
| 992 | PRE_FOUND_CASE : ;; | ||
| 993 | ;; extract informations from the font | ||
| 994 | ;; block until font_length is defined | ||
| 995 | ;; | ||
| 996 | MOV DI,cs:stage ;; | ||
| 997 | ;; | ||
| 998 | ADD DI,DI ;; double to index to WORD-offset | ||
| 999 | ;; | ||
| 1000 | JMP CS:STAGE_CASES[DI] ;; call routine to process the stage | ||
| 1001 | ;; | ||
| 1002 | ;=========================================================================== | ||
| 1003 | FOUND_CASE : ;; | ||
| 1004 | MOV DI,OFFSET FTB_LOOP ;; as FOUND has two places to return to | ||
| 1005 | PUSH DI ;; | ||
| 1006 | ;=========================================================================== | ||
| 1007 | FOUND_DO : ;; | ||
| 1008 | ;; define informations into FTBLK of | ||
| 1009 | ;; HIT_BX defined in the SCAN case | ||
| 1010 | PUSH BX ;; | ||
| 1011 | MOV BX,cs:hit_bx ;; | ||
| 1012 | ;; FTBLK : | ||
| 1013 | MOV AX,cs:mod_word ;; | ||
| 1014 | MOV FTP.FTB_MOD,AX ;; | ||
| 1015 | MOV AX,cs:fonts_word ;; | ||
| 1016 | MOV FTP.FTB_FONTS,AX ;; | ||
| 1017 | ;; | ||
| 1018 | MOV AX,cs:fdlen_word ;; | ||
| 1019 | MOV FTP.FTB_DLEFT,AX ;; | ||
| 1020 | MOV FTP.FTB_DLEN,0 ;; | ||
| 1021 | MOV FTP.FTB_DALO,0 ;; | ||
| 1022 | MOV FTP.FTB_DAHI,0 ;; | ||
| 1023 | ;; | ||
| 1024 | MOV FTP.FTB_STATUS,FSTAT_FOUND | ||
| 1025 | ;; | ||
| 1026 | ; CMP FTP.FTB_TYPE,TYPE_DISPLAY; | ||
| 1027 | ; JNE CHECK_PTR_TYPE ;; | ||
| 1028 | ; CMP cs:pre_font_len,PRE_FONT_D ;; | ||
| 1029 | ; JNE DISPLAY_BAD ;; | ||
| 1030 | ; JMP DISPLAY_DONE ;; | ||
| 1031 | ; ;; | ||
| 1032 | ;CHECK_PTR_TYPE : ;; | ||
| 1033 | ; CMP FTP.FTB_TYPE,TYPE_PRINTER; | ||
| 1034 | ; JNE SET_STAGE ;; | ||
| 1035 | ; CMP cs:ptr_sel_word,0 ;; | ||
| 1036 | ; JNE PRINTER_HAS_SEL ;; | ||
| 1037 | ; CMP cs:pre_font_len,PRE_FONT_P0;; | ||
| 1038 | ; JNE PRINTER_BAD ;; | ||
| 1039 | ; JMP PRINTER_DONE ;; | ||
| 1040 | ; ;; | ||
| 1041 | ;PRINTER_HAS_SEL : ;; | ||
| 1042 | ; CMP cs:pre_font_len,PRE_FONT_P ;; | ||
| 1043 | ; JNE PRINTER_BAD ;; | ||
| 1044 | ; JMP PRINTER_DONE ;; | ||
| 1045 | ; ;; | ||
| 1046 | ;DISPLAY_BAD : ;; | ||
| 1047 | ; ;; | ||
| 1048 | ; MOV FTP.FTB_STATUS,STAT_BADATA ;the FDLEN_WORD should be 0. | ||
| 1049 | ; ;; | ||
| 1050 | ;DISPLAY_DONE : ;; | ||
| 1051 | ; MOV AL,cs:disp_rows ;; | ||
| 1052 | ; MOV FTP.FTB_ROWS,AL ;; | ||
| 1053 | ; MOV AL,cs:disp_cols ;; | ||
| 1054 | ; MOV FTP.FTB_COLS,AL ;; | ||
| 1055 | ; MOV AL,cs:disp_x ;; | ||
| 1056 | ; MOV FTP.FTB_X,AL ;; | ||
| 1057 | ; MOV AL,cs:disp_y ;; | ||
| 1058 | ; MOV FTP.FTB_Y,AL ;; | ||
| 1059 | ; MOV AX,cs:count_word ;; | ||
| 1060 | ; MOV FTP.FTB_COUNT,AX ;; | ||
| 1061 | ; JMP SET_STAGE ;; | ||
| 1062 | ;; | ||
| 1063 | ;PRINTER_BAD : ;; | ||
| 1064 | ; ;; | ||
| 1065 | ; MOV FTP.FTB_STATUS,STAT_BADATA ;the FDLEN_WORD should be 0. | ||
| 1066 | ; ;; | ||
| 1067 | ;PRINTER_DONE : ;; | ||
| 1068 | ; MOV AX,cs:ptr_sel_word ;; | ||
| 1069 | ; MOV FTP.FTB_SELECT,AX ;; | ||
| 1070 | ; MOV AX,cs:ptr_len_word ;; | ||
| 1071 | ; MOV FTP.FTB_SELLEN,AX ;; | ||
| 1072 | ; ;; | ||
| 1073 | ;SET_STAGE : ;; STAGE : | ||
| 1074 | MOV AX,cs:fdlen_word ;; if no font data to follow | ||
| 1075 | AND AX,AX ;; | ||
| 1076 | JNZ GET_FDATA ;; | ||
| 1077 | MOV cs:stage,SCANX ;; then scan for next header or font | ||
| 1078 | JMP FONT_RET ;; | ||
| 1079 | ;; | ||
| 1080 | GET_FDATA : ;; update the moving target | ||
| 1081 | MOV cs:stage,GET_FX ;; | ||
| 1082 | MOV AX,cs:pre_font_len ;; | ||
| 1083 | ADD FTP.TARGET_LO,AX ;; | ||
| 1084 | JNC FONT_RET ;; | ||
| 1085 | ADD FTP.TARGET_HI,01000H ;; | ||
| 1086 | ;; | ||
| 1087 | FONT_RET : ;; | ||
| 1088 | POP BX ;; | ||
| 1089 | RET ;; | ||
| 1090 | ;; | ||
| 1091 | ;=========================================================================== | ||
| 1092 | GETFONT_CASE : ;; as ES:[SI], at COUNT, there is font | ||
| 1093 | ;; data | ||
| 1094 | MOV DX,cs:num_ftb ;; | ||
| 1095 | PUSH BX ;; | ||
| 1096 | ;; | ||
| 1097 | MOV cs:hit_hi,0 ;; temp. register | ||
| 1098 | MOV cs:hit_flag,0 ;; assumed can be changed to SCAN stage | ||
| 1099 | ;; | ||
| 1100 | MOV DI,cs:count_hi ;; normalised COUNT_HI,COUNT_LO | ||
| 1101 | MOV AX,DI ;; | ||
| 1102 | AND AX,00FFFH ;; | ||
| 1103 | PUSH CX ;; | ||
| 1104 | MOV CX,4 ;; | ||
| 1105 | SHL AX,CL ;; | ||
| 1106 | POP CX ;; | ||
| 1107 | AND DI,0F000H ;; | ||
| 1108 | ADD AX,cs:count_lo ;; | ||
| 1109 | JNC NO_CARRY4 ;; | ||
| 1110 | ADD DI,01000H ;; | ||
| 1111 | NO_CARRY4 : ;; | ||
| 1112 | MOV cs:count_lo,AX ;; | ||
| 1113 | MOV cs:count_hi,DI ;; | ||
| 1114 | ;; | ||
| 1115 | ;; | ||
| 1116 | GETFONT_LOOP : ;; | ||
| 1117 | MOV AX,FTP.FTB_STATUS ;; | ||
| 1118 | CMP AX,FSTAT_FONT ;; | ||
| 1119 | JE GETFONT_CONT ;; | ||
| 1120 | ;; | ||
| 1121 | CMP AX,FSTAT_FOUND ;; | ||
| 1122 | JE GETFONT_FOUND ;; | ||
| 1123 | ;; | ||
| 1124 | JMP NEXT_GETFONT ;; | ||
| 1125 | ;; | ||
| 1126 | GETFONT_FOUND : ;; | ||
| 1127 | MOV AX,FTP.FTB_DLEFT ;; | ||
| 1128 | AND AX,AX ;; | ||
| 1129 | JZ NEXT_GF ;; | ||
| 1130 | MOV FTP.FTB_STATUS,FSTAT_FONT; | ||
| 1131 | JMP GETFONT_CONT1 ;; | ||
| 1132 | ;; | ||
| 1133 | ;; | ||
| 1134 | GETFONT_CONT : ;; | ||
| 1135 | MOV AX,FTP.FTB_DLEFT ;; | ||
| 1136 | AND AX,AX ;; | ||
| 1137 | JNZ GETFONT_CONT1 ;; | ||
| 1138 | NEXT_GF : ;; | ||
| 1139 | JMP NEXT_GETFONT ;; | ||
| 1140 | ;; only on FOUND and DLEFT <> 0 | ||
| 1141 | GETFONT_CONT1: ;; | ||
| 1142 | MOV DI,FTP.TARGET_HI ;; normalised TARGET | ||
| 1143 | MOV AX,DI ;; | ||
| 1144 | AND AX,00FFFH ;; | ||
| 1145 | PUSH CX ;; | ||
| 1146 | MOV CX,4 ;; | ||
| 1147 | SHL AX,CL ;; | ||
| 1148 | POP CX ;; | ||
| 1149 | AND DI,0F000H ;; | ||
| 1150 | ADD AX,FTP.TARGET_LO ;; | ||
| 1151 | JNC NO_CARRY5 ;; | ||
| 1152 | ADD DI,01000H ;; | ||
| 1153 | NO_CARRY5 : ;; DI:AX = TARGET (normalised) | ||
| 1154 | ;; | ||
| 1155 | CMP DI,cs:count_hi ;; | ||
| 1156 | JB GETFONT_BAD ;; | ||
| 1157 | JNE NEXT_GETFONT ;; | ||
| 1158 | CMP AX,cs:count_lo ;; | ||
| 1159 | JB GETFONT_BAD ;; | ||
| 1160 | JNE NEXT_GETFONT ;; | ||
| 1161 | ;; | ||
| 1162 | MOV FTP.FTB_DALO,SI ;; where the font data is in the packet | ||
| 1163 | MOV FTP.FTB_DAHI,DS ;; | ||
| 1164 | ;; | ||
| 1165 | MOV AX,FTP.FTB_DLEFT ;; | ||
| 1166 | CMP AX,CX ;; | ||
| 1167 | JAE UPTO_CX ;; | ||
| 1168 | ;; upto FDLEFT | ||
| 1169 | MOV FTP.FTB_DLEFT,0 ;; | ||
| 1170 | MOV FTP.FTB_DLEN,AX ;; | ||
| 1171 | CMP cs:hit_hi,AX ;; | ||
| 1172 | JNB NOT_HIGHER0 ;; | ||
| 1173 | MOV cs:hit_hi,AX ;; | ||
| 1174 | NOT_HIGHER0 : ;; | ||
| 1175 | ADD FTP.TARGET_LO,AX ;; | ||
| 1176 | JNC NEXT_GETFONT ;; | ||
| 1177 | ADD FTP.TARGET_HI,01000H ;; | ||
| 1178 | JMP NEXT_GETFONT ;; | ||
| 1179 | ;; | ||
| 1180 | GETFONT_BAD : ;; | ||
| 1181 | MOV FTP.FTB_STATUS,STAT_BADATA ;; pointing backwards | ||
| 1182 | JMP NEXT_GETFONT ;; | ||
| 1183 | ;; | ||
| 1184 | UPTO_CX : ;; | ||
| 1185 | SUB AX,CX ;; | ||
| 1186 | MOV FTP.FTB_DLEFT,AX ;; | ||
| 1187 | MOV FTP.FTB_DLEN,CX ;; | ||
| 1188 | MOV cs:hit_hi,CX ;; | ||
| 1189 | ADD FTP.TARGET_LO,CX ;; | ||
| 1190 | JNC NO_CARRYOVER ;; | ||
| 1191 | ADD FTP.TARGET_HI,01000H ;; | ||
| 1192 | NO_CARRYOVER : ;; | ||
| 1193 | AND AX,AX ;; all data have been returned ? | ||
| 1194 | JZ NEXT_GETFONT ;; | ||
| 1195 | ;; | ||
| 1196 | MOV cs:hit_flag,-1 ;; no ! stay in the GET_FONT stage | ||
| 1197 | ;; | ||
| 1198 | NEXT_GETFONT : ;; | ||
| 1199 | ADD BX,FTP.FTB_LENGTH ;; | ||
| 1200 | DEC DX ;; | ||
| 1201 | AND DX,DX ;; | ||
| 1202 | JZ GETFONT_END ;; | ||
| 1203 | JMP GETFONT_LOOP ;; | ||
| 1204 | ;; | ||
| 1205 | GETFONT_END : ;; | ||
| 1206 | MOV AX,cs:hit_hi ;; | ||
| 1207 | ADD SI,AX ;; | ||
| 1208 | SUB CX,AX ;; | ||
| 1209 | ;; | ||
| 1210 | CMP cs:hit_flag,0 ;; | ||
| 1211 | Jne GETFONT_DONE ;; | ||
| 1212 | MOV cs:stage,SCANX ;; no more in the GET_FONT stage | ||
| 1213 | ;; | ||
| 1214 | ;; | ||
| 1215 | GETFONT_DONE : ;; | ||
| 1216 | POP BX ;; | ||
| 1217 | JMP FTB_LOOP ;; | ||
| 1218 | ;; | ||
| 1219 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 1220 | ;; | ||
| 1221 | ;; STAGES -- "called by" SERACH_CASE | ||
| 1222 | ;; | ||
| 1223 | ;; -- DS:[SI] (FPKT) points to PACKET, of DOS's buffer | ||
| 1224 | ;; -- CX remaining packet length | ||
| 1225 | ;; -- ES:[BX] points to the first FTBLK | ||
| 1226 | ;; -- COUNT_LO, COUNT_HI, upto but not including the address pointed by FPKT | ||
| 1227 | ;; | ||
| 1228 | ;; | ||
| 1229 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 1230 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1231 | filetag : ;; | ||
| 1232 | ;; | ||
| 1233 | ; mov ax,ftag_len ;; | ||
| 1234 | cmp cs:ftag_count,ftag_len ;; | ||
| 1235 | jB valid_ftag ;; | ||
| 1236 | JE FTAG_FAILED ;; | ||
| 1237 | ;; | ||
| 1238 | mov ftp.ftb_status,stat_deverr | ||
| 1239 | mov cs:fp_error,00022H ;; ERROR 0022H | ||
| 1240 | ;; | ||
| 1241 | FTAG_FAILED : ;; discard all the bytes, while | ||
| 1242 | ADD SI,CX ;; stage stays as FTAGX | ||
| 1243 | SUB CX,CX ;; | ||
| 1244 | JMP FTB_LOOP ;; **** RETURN (bytes discarded) **** | ||
| 1245 | ;; | ||
| 1246 | VALID_FTAG : ;; | ||
| 1247 | MOV AX,FPKT ;; | ||
| 1248 | INC SI ;; | ||
| 1249 | DEC CX ;; | ||
| 1250 | ;; | ||
| 1251 | MOV DI,cs:ftag_count ;; | ||
| 1252 | CMP AL,cs:ftag_pattern[DI] ;; | ||
| 1253 | JE FTAG_NEXTB ;; | ||
| 1254 | ;; | ||
| 1255 | mov ftp.ftb_status,stat_badata | ||
| 1256 | MOV ax,ftag_len ;; stays in FTAGX to consume all bytes | ||
| 1257 | MOV cs:ftag_count,ax ;; stays in FTAGX to consume all bytes | ||
| 1258 | JMP FTB_LOOP ;; **** RETURN (FAILED !) **** | ||
| 1259 | ;; | ||
| 1260 | FTAG_NEXTB : ;; | ||
| 1261 | INC DI ;; | ||
| 1262 | MOV cs:ftag_count,DI ;; | ||
| 1263 | ;; | ||
| 1264 | CMP DI,ftag_len ;; | ||
| 1265 | JE FTAG_DONE ;; | ||
| 1266 | ;; | ||
| 1267 | JMP FTB_LOOP ;; **** RETURN ( MORE TO COME) **** | ||
| 1268 | ;; | ||
| 1269 | FTAG_DONE : ;; | ||
| 1270 | MOV cs:pass_cnt,0 ;; | ||
| 1271 | MOV cs:stage,PASSX ;; | ||
| 1272 | MOV cs:pass_postx,fptr_lolx ;; | ||
| 1273 | ;; | ||
| 1274 | JMP FTB_LOOP ;; **** NEXT STAGE **** | ||
| 1275 | ;; | ||
| 1276 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1277 | fptrLOL : ;; STAGE the low byte of the low fptr | ||
| 1278 | MOV AX,FPKT ;; | ||
| 1279 | INC SI ;; byte by byte | ||
| 1280 | DEC CX ;; | ||
| 1281 | AND CX,CX ;; | ||
| 1282 | JNZ WORD_fptrLO ;; | ||
| 1283 | MOV cs:fptr_lol,AL ;; | ||
| 1284 | MOV cs:stage,fptr_lohX ;; | ||
| 1285 | JMP FTB_LOOP ;; | ||
| 1286 | WORD_fptrLO : ;; | ||
| 1287 | INC SI ;; | ||
| 1288 | DEC CX ;; | ||
| 1289 | MOV cs:fptr_low,AX ;; | ||
| 1290 | MOV cs:stage,fptr_HILX ;; | ||
| 1291 | JMP FTB_LOOP ;; | ||
| 1292 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1293 | fptrLOH : ;; STAGE the high byte of the low fptr | ||
| 1294 | MOV AX,FPKT ;; | ||
| 1295 | INC SI ;; byte by byte | ||
| 1296 | DEC CX ;; | ||
| 1297 | MOV cs:fptr_loh,AL ;; | ||
| 1298 | MOV cs:stage,fptr_HILX ;; | ||
| 1299 | JMP FTB_LOOP ;; | ||
| 1300 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1301 | fptrHIL : ;; STAGE the low byte of the high fptr | ||
| 1302 | MOV AX,FPKT ;; | ||
| 1303 | INC SI ;; byte by byte | ||
| 1304 | DEC CX ;; | ||
| 1305 | AND CX,CX ;; | ||
| 1306 | JNZ WORD_fptrHI ;; | ||
| 1307 | MOV cs:fptr_hil,AL ;; | ||
| 1308 | MOV cs:stage,fptr_hihX ;; | ||
| 1309 | JMP FTB_LOOP ;; | ||
| 1310 | WORD_fptrHI : ;; | ||
| 1311 | INC SI ;; | ||
| 1312 | DEC CX ;; | ||
| 1313 | MOV cs:fptr_high,AX ;; | ||
| 1314 | MOV cs:stage,FPTR_SKIPX ;; | ||
| 1315 | JMP FTB_LOOP ;; | ||
| 1316 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1317 | fptrHIH : ;; STAGE the high byte of the high fptr | ||
| 1318 | MOV AX,FPKT ;; | ||
| 1319 | INC SI ;; byte by byte | ||
| 1320 | DEC CX ;; | ||
| 1321 | MOV cs:fptr_hih,AL ;; | ||
| 1322 | MOV cs:stage,FPTR_SKIPX ;; | ||
| 1323 | JMP FTB_LOOP ;; | ||
| 1324 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1325 | ENTRYLO : ;; STAGE - ENTRY LOW BYTE | ||
| 1326 | MOV AX,FPKT ;; | ||
| 1327 | INC SI ;; byte by byte | ||
| 1328 | DEC CX ;; | ||
| 1329 | AND CX,CX ;; | ||
| 1330 | JNZ WORD_ENTRY ;; | ||
| 1331 | MOV cs:entry_lob,AL ;; | ||
| 1332 | MOV cs:stage,ENTRY_HIX ;; | ||
| 1333 | JMP FTB_LOOP ;; | ||
| 1334 | WORD_ENTRY : ;; | ||
| 1335 | INC SI ;; | ||
| 1336 | DEC CX ;; | ||
| 1337 | MOV cs:entry_word,AX ;; | ||
| 1338 | MOV cs:stage,PASSX ;; 2 bytes to be passed | ||
| 1339 | MOV cs:pass_postx,NEXT_LOLX ;; | ||
| 1340 | JMP FTB_LOOP ;; | ||
| 1341 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1342 | ENTRYHI : ;; stage - ENTRY HIGN BYTE | ||
| 1343 | MOV AX,FPKT ;; | ||
| 1344 | INC SI ;; byte by byte | ||
| 1345 | DEC CX ;; | ||
| 1346 | MOV cs:entry_hib,AL ;; | ||
| 1347 | MOV cs:stage,PASSX ;; 2 bytes to be passed | ||
| 1348 | MOV cs:pass_postx,NEXT_LOLX ;; | ||
| 1349 | AND CX,CX ;; | ||
| 1350 | JNZ ENTHI_PASS1 ;; | ||
| 1351 | JMP FTB_LOOP ;; | ||
| 1352 | ENTHI_PASS1 : ;; | ||
| 1353 | INC SI ;; | ||
| 1354 | INC cs:pass_cnt ;; | ||
| 1355 | DEC CX ;; | ||
| 1356 | AND CX,CX ;; | ||
| 1357 | JNZ ENTHI_PASS2 ;; | ||
| 1358 | JMP FTB_LOOP ;; | ||
| 1359 | ENTHI_PASS2 : ;; | ||
| 1360 | INC SI ;; | ||
| 1361 | INC cs:pass_cnt ;; | ||
| 1362 | DEC CX ;; | ||
| 1363 | MOV cs:stage,NEXT_LOLX ;; | ||
| 1364 | JMP FTB_LOOP ;; | ||
| 1365 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1366 | NEXTLOL : ;; STAGE the low byte of the low NEXT | ||
| 1367 | MOV AX,FPKT ;; | ||
| 1368 | INC SI ;; byte by byte | ||
| 1369 | DEC CX ;; | ||
| 1370 | AND CX,CX ;; | ||
| 1371 | JNZ WORD_NEXTLO ;; | ||
| 1372 | MOV cs:next_lol,AL ;; | ||
| 1373 | MOV cs:stage,NEXT_LOHX ;; | ||
| 1374 | JMP FTB_LOOP ;; | ||
| 1375 | WORD_NEXTLO : ;; | ||
| 1376 | INC SI ;; | ||
| 1377 | DEC CX ;; | ||
| 1378 | MOV cs:next_low,AX ;; | ||
| 1379 | MOV cs:stage,next_hilX ;; | ||
| 1380 | JMP FTB_LOOP ;; | ||
| 1381 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1382 | NEXTLOH : ;; STAGE the high byte of the low NEXT | ||
| 1383 | MOV AX,FPKT ;; | ||
| 1384 | INC SI ;; byte by byte | ||
| 1385 | DEC CX ;; | ||
| 1386 | MOV cs:next_loh,AL ;; | ||
| 1387 | MOV cs:stage,next_hilX ;; | ||
| 1388 | JMP FTB_LOOP ;; | ||
| 1389 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1390 | NEXTHIL : ;; STAGE the low byte of the high NEXT | ||
| 1391 | MOV AX,FPKT ;; | ||
| 1392 | INC SI ;; byte by byte | ||
| 1393 | DEC CX ;; | ||
| 1394 | AND CX,CX ;; | ||
| 1395 | JNZ WORD_NEXTHI ;; | ||
| 1396 | MOV cs:next_hil,AL ;; | ||
| 1397 | MOV cs:stage,NEXT_HIHX ;; | ||
| 1398 | JMP FTB_LOOP ;; | ||
| 1399 | WORD_NEXTHI : ;; | ||
| 1400 | INC SI ;; | ||
| 1401 | DEC CX ;; | ||
| 1402 | MOV cs:next_high,AX ;; | ||
| 1403 | MOV cs:stage,type_lobX ;; | ||
| 1404 | JMP FTB_LOOP ;; | ||
| 1405 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1406 | NEXTHIH : ;; STAGE the high byte of the high NEXT | ||
| 1407 | MOV AX,FPKT ;; | ||
| 1408 | INC SI ;; byte by byte | ||
| 1409 | DEC CX ;; | ||
| 1410 | MOV cs:next_hih,AL ;; | ||
| 1411 | MOV cs:stage,type_lobX ;; | ||
| 1412 | JMP FTB_LOOP ;; | ||
| 1413 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1414 | TYPELO : ;; STAGE the low byte of the TYPE | ||
| 1415 | MOV AX,FPKT ;; | ||
| 1416 | INC SI ;; byte by byte | ||
| 1417 | DEC CX ;; | ||
| 1418 | AND CX,CX ;; | ||
| 1419 | JNZ WORD_TYPE ;; | ||
| 1420 | MOV cs:type_lob,AL ;; | ||
| 1421 | MOV cs:stage,type_hibX ;; | ||
| 1422 | JMP FTB_LOOP ;; | ||
| 1423 | WORD_TYPE : ;; | ||
| 1424 | INC SI ;; | ||
| 1425 | DEC CX ;; | ||
| 1426 | MOV cs:type_word,AX ;; | ||
| 1427 | MOV cs:stage,type_idX ;; | ||
| 1428 | MOV cs:tid_cnt,0 ;; | ||
| 1429 | JMP FTB_LOOP ;; | ||
| 1430 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1431 | TYPEHI : ;; STAGE the high byte of the TYPE | ||
| 1432 | MOV AX,FPKT ;; | ||
| 1433 | INC SI ;; byte by byte | ||
| 1434 | DEC CX ;; | ||
| 1435 | MOV cs:type_hib,AL ;; | ||
| 1436 | MOV cs:stage,TYPE_IDX ;; | ||
| 1437 | MOV cs:tid_cnt,0 ;; | ||
| 1438 | JMP FTB_LOOP ;; | ||
| 1439 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1440 | TYPEIDS : ;; STAGE the type id | ||
| 1441 | CMP cs:tid_cnt,8 ;; | ||
| 1442 | JNA VALID_TID ;; | ||
| 1443 | MOV FTP.FTB_STATUS,STAT_DEVERR | ||
| 1444 | MOV cs:fp_error,00021H ;; ERROR 0021H | ||
| 1445 | ADD SI,CX ;; | ||
| 1446 | SUB CX,CX ;; | ||
| 1447 | JMP FTB_LOOP ;; | ||
| 1448 | ;; | ||
| 1449 | VALID_TID : ;; | ||
| 1450 | MOV AX,8 ;; | ||
| 1451 | SUB AX,cs:tid_cnt ;; | ||
| 1452 | CMP CX,AX ;; | ||
| 1453 | JNB TID_ALL ;; | ||
| 1454 | ;; all data in FPKT are stored | ||
| 1455 | PUSH ES ;; | ||
| 1456 | PUSH CS ;; | ||
| 1457 | POP ES ;; | ||
| 1458 | ;; | ||
| 1459 | MOV DI,OFFSET TYPE_ID ;; | ||
| 1460 | ADD DI,cs:tid_cnt ;; | ||
| 1461 | ADD cs:tid_cnt,CX ;; | ||
| 1462 | REP MOVSB ;; SI is incremented accordingly | ||
| 1463 | POP ES ;; | ||
| 1464 | ;; | ||
| 1465 | MOV CX,0 ;; STAGE remained | ||
| 1466 | JMP FTB_LOOP ;; | ||
| 1467 | TID_ALL : ;; | ||
| 1468 | PUSH CX ;; | ||
| 1469 | ;; | ||
| 1470 | PUSH ES ;; | ||
| 1471 | PUSH CS ;; | ||
| 1472 | POP ES ;; | ||
| 1473 | ;; | ||
| 1474 | MOV DI,OFFSET TYPE_ID ;; | ||
| 1475 | ADD DI,cs:tid_cnt ;; | ||
| 1476 | MOV CX,AX ;; | ||
| 1477 | REP MOVSB ;; SI is incremented accordingly | ||
| 1478 | POP ES ;; | ||
| 1479 | ;; | ||
| 1480 | ADD cs:tid_cnt,AX ;; | ||
| 1481 | POP CX ;; | ||
| 1482 | SUB CX,AX ;; | ||
| 1483 | ;; | ||
| 1484 | MOV cs:stage,CPG_LOBX ;; | ||
| 1485 | JMP FTB_LOOP ;; | ||
| 1486 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1487 | CPGLO : ;; STAGE the low byte of the CODE PAGE | ||
| 1488 | MOV AX,FPKT ;; | ||
| 1489 | INC SI ;; byte by byte | ||
| 1490 | DEC CX ;; | ||
| 1491 | AND CX,CX ;; | ||
| 1492 | JNZ WORD_CPG ;; | ||
| 1493 | MOV cs:cpg_lob,AL ;; | ||
| 1494 | MOV cs:stage,CPG_HIBX ;; | ||
| 1495 | JMP FTB_LOOP ;; | ||
| 1496 | WORD_CPG : ;; | ||
| 1497 | INC SI ;; | ||
| 1498 | DEC CX ;; | ||
| 1499 | MOV cs:cpg_word,AX ;; | ||
| 1500 | MOV cs:stage,PASSX ;; | ||
| 1501 | MOV cs:pass_postx,font_lolX ;; | ||
| 1502 | JMP FTB_LOOP ;; | ||
| 1503 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1504 | CPGHI : ;; STAGE the high byte of the CODE PAGE | ||
| 1505 | MOV AX,FPKT ;; | ||
| 1506 | INC SI ;; byte by byte | ||
| 1507 | DEC CX ;; | ||
| 1508 | MOV cs:cpg_hib,AL ;; | ||
| 1509 | MOV cs:stage,PASSX ;; | ||
| 1510 | MOV cs:pass_postx,font_lolX ;; | ||
| 1511 | JMP FTB_LOOP ;; | ||
| 1512 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1513 | FONTLOL : ;; STAGE the low byte of the low FONT | ||
| 1514 | MOV AX,FPKT ;; | ||
| 1515 | INC SI ;; byte by byte | ||
| 1516 | DEC CX ;; | ||
| 1517 | AND CX,CX ;; | ||
| 1518 | JNZ WORD_FONTLO ;; | ||
| 1519 | MOV cs:font_lol,AL ;; | ||
| 1520 | MOV cs:stage,FONT_LOHX ;; | ||
| 1521 | JMP FTB_LOOP ;; | ||
| 1522 | WORD_FONTLO : ;; | ||
| 1523 | INC SI ;; | ||
| 1524 | DEC CX ;; | ||
| 1525 | MOV cs:font_low,AX ;; | ||
| 1526 | MOV cs:stage,FONT_HILX ;; | ||
| 1527 | JMP FTB_LOOP ;; | ||
| 1528 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1529 | FONTLOH : ;; STAGE the high byte of the low FONT | ||
| 1530 | MOV AX,FPKT ;; | ||
| 1531 | INC SI ;; byte by byte | ||
| 1532 | DEC CX ;; | ||
| 1533 | MOV cs:font_loh,AL ;; | ||
| 1534 | MOV cs:stage,FONT_HILX ;; | ||
| 1535 | JMP FTB_LOOP ;; | ||
| 1536 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1537 | FONTHIL : ;; STAGE the low byte of the high FONT | ||
| 1538 | MOV AX,FPKT ;; | ||
| 1539 | INC SI ;; byte by byte | ||
| 1540 | DEC CX ;; | ||
| 1541 | AND CX,CX ;; | ||
| 1542 | JNZ WORD_FONTHI ;; | ||
| 1543 | MOV cs:font_hil,AL ;; | ||
| 1544 | MOV cs:stage,FONT_HIHX ;; | ||
| 1545 | JMP FTB_LOOP ;; | ||
| 1546 | WORD_FONTHI : ;; | ||
| 1547 | INC SI ;; | ||
| 1548 | DEC CX ;; | ||
| 1549 | MOV cs:font_high,AX ;; | ||
| 1550 | ;;;;;; MOV cs:stage,MOD_LOBX ;; end of SCAN | ||
| 1551 | ;; anymore headers to be processed ? | ||
| 1552 | MOV cs:stage,MATCHX ;; | ||
| 1553 | MOV AX,cs:entry_word ;; | ||
| 1554 | DEC AX ;; | ||
| 1555 | MOV cs:entry_word,AX ;; | ||
| 1556 | AND AX,AX ;; | ||
| 1557 | JNZ CHECK_NEXT ;; | ||
| 1558 | ;; no more header to be processed ! | ||
| 1559 | MOV AX,-1 ;; | ||
| 1560 | MOV cs:next_low,AX ;; | ||
| 1561 | MOV cs:next_high,AX ;; as ENTRY has been consumed | ||
| 1562 | JMP FTB_LOOP ;; | ||
| 1563 | ;; | ||
| 1564 | CHECK_NEXT : ;; | ||
| 1565 | MOV AX,cs:next_low ;; | ||
| 1566 | AND AX,AX ;; | ||
| 1567 | JNZ MORE_HEADER ;; | ||
| 1568 | MOV AX,cs:next_high ;; | ||
| 1569 | AND AX,AX ;; | ||
| 1570 | JNZ MORE_HEADER ;; | ||
| 1571 | ;; no more header to be processed ! | ||
| 1572 | MOV AX,-1 ;; | ||
| 1573 | MOV cs:next_low,AX ;; as NEXT is nil | ||
| 1574 | MOV cs:next_high,AX ;; | ||
| 1575 | ;; | ||
| 1576 | MORE_HEADER : ;; | ||
| 1577 | JMP FTB_LOOP ;; | ||
| 1578 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1579 | FONTHIH : ;; STAGE the high byte of the high FONT | ||
| 1580 | MOV AX,FPKT ;; | ||
| 1581 | INC SI ;; byte by byte | ||
| 1582 | DEC CX ;; | ||
| 1583 | MOV cs:font_hih,AL ;; | ||
| 1584 | ;;;;; MOV cs:stage,MOD_LOBX ;; end of SCAN | ||
| 1585 | ;; | ||
| 1586 | MOV cs:stage,MATCHX ;; | ||
| 1587 | ;; anymore headers to be processed ? | ||
| 1588 | MOV AX,cs:entry_word ;; | ||
| 1589 | DEC AX ;; | ||
| 1590 | MOV cs:entry_word,AX ;; | ||
| 1591 | AND AX,AX ;; | ||
| 1592 | JNZ CHECK_NEXT0 ;; | ||
| 1593 | ;; no more header to be processed ! | ||
| 1594 | MOV AX,-1 ;; | ||
| 1595 | MOV cs:next_low,AX ;; | ||
| 1596 | MOV cs:next_high,AX ;; as ENTRY has been consumed | ||
| 1597 | JMP FTB_LOOP ;; | ||
| 1598 | ;; | ||
| 1599 | CHECK_NEXT0 : ;; | ||
| 1600 | MOV AX,cs:next_low ;; | ||
| 1601 | AND AX,AX ;; | ||
| 1602 | JNZ MORE_HEADER0 ;; | ||
| 1603 | MOV AX,cs:next_high ;; | ||
| 1604 | AND AX,AX ;; | ||
| 1605 | JNZ MORE_HEADER0 ;; | ||
| 1606 | ;; no more header to be processed ! | ||
| 1607 | MOV AX,-1 ;; | ||
| 1608 | MOV cs:next_low,AX ;; as NEXT is nil | ||
| 1609 | MOV cs:next_high,AX ;; | ||
| 1610 | ;; | ||
| 1611 | MORE_HEADER0 : ;; | ||
| 1612 | JMP FTB_LOOP ;; | ||
| 1613 | ;; | ||
| 1614 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1615 | MODLO : ;; STAGE the low byte of the MODIFIER | ||
| 1616 | MOV AX,FPKT ;; | ||
| 1617 | INC SI ;; byte by byte | ||
| 1618 | DEC CX ;; | ||
| 1619 | AND CX,CX ;; | ||
| 1620 | JNZ WORD_MOD ;; | ||
| 1621 | MOV MOD_LOB,AL ;; | ||
| 1622 | MOV cs:stage,MOD_HIBX ;; | ||
| 1623 | JMP FTB_LOOP ;; | ||
| 1624 | WORD_MOD : ;; | ||
| 1625 | INC SI ;; | ||
| 1626 | DEC CX ;; | ||
| 1627 | MOV cs:mod_word,AX ;; | ||
| 1628 | MOV cs:stage,fonts_lobX ;; | ||
| 1629 | JMP FTB_LOOP ;; | ||
| 1630 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1631 | MODHI : ;; STAGE the high byte of the MODIFIER | ||
| 1632 | MOV AX,FPKT ;; | ||
| 1633 | INC SI ;; byte by byte | ||
| 1634 | DEC CX ;; | ||
| 1635 | MOV cs:mod_hib,AL ;; | ||
| 1636 | MOV cs:stage,FONTS_LOBX ;; | ||
| 1637 | JMP FTB_LOOP ;; | ||
| 1638 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1639 | FONTSLO : ;; STAGE the low byte of the FONTS | ||
| 1640 | MOV AX,FPKT ;; | ||
| 1641 | INC SI ;; byte by byte | ||
| 1642 | DEC CX ;; | ||
| 1643 | AND CX,CX ;; | ||
| 1644 | JNZ WORD_FONTS ;; | ||
| 1645 | MOV cs:fonts_lob,AL ;; | ||
| 1646 | MOV cs:stage,FONTS_HIBX ;; | ||
| 1647 | JMP FTB_LOOP ;; | ||
| 1648 | WORD_FONTS : ;; | ||
| 1649 | INC SI ;; | ||
| 1650 | DEC CX ;; | ||
| 1651 | MOV cs:fonts_word,AX ;; | ||
| 1652 | MOV cs:stage,FDLEN_LOBX ;; | ||
| 1653 | JMP FTB_LOOP ;; | ||
| 1654 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1655 | FONTSHI : ;; STAGE the high byte of the FONTS | ||
| 1656 | MOV AX,FPKT ;; | ||
| 1657 | INC SI ;; byte by byte | ||
| 1658 | DEC CX ;; | ||
| 1659 | MOV cs:fonts_hib,AL ;; | ||
| 1660 | MOV cs:stage,FDLEN_LOBX ;; | ||
| 1661 | JMP FTB_LOOP ;; | ||
| 1662 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1663 | FDLENLO : ;; the low byte of the FONT-LENGTH | ||
| 1664 | MOV AX,FPKT ;; | ||
| 1665 | INC SI ;; byte by byte | ||
| 1666 | DEC CX ;; | ||
| 1667 | AND CX,CX ;; | ||
| 1668 | JNZ WORD_FDLEN ;; | ||
| 1669 | MOV cs:fdlen_lob,AL ;; | ||
| 1670 | MOV cs:stage,FDLEN_HIBX ;; | ||
| 1671 | JMP FTB_LOOP ;; | ||
| 1672 | WORD_FDLEN : ;; | ||
| 1673 | INC SI ;; | ||
| 1674 | DEC CX ;; | ||
| 1675 | MOV cs:pre_font_len,PRE_FONT_ND;; | ||
| 1676 | MOV cs:fdlen_word,AX ;; | ||
| 1677 | ; AND AX,AX ;; | ||
| 1678 | ; JZ NO_DISP_PTR ;; | ||
| 1679 | ; CMP cs:type_word,TYPE_DISPLAY ;; | ||
| 1680 | ; JE DISPLAY_TYPE1 ;; | ||
| 1681 | ; CMP cs:type_word,TYPE_PRINTER ;; | ||
| 1682 | ; JE PRINTER_TYPE1 ;; | ||
| 1683 | ;; | ||
| 1684 | ;NO_DISP_PTR : ;; | ||
| 1685 | MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1686 | JMP FTB_LOOP ;; | ||
| 1687 | ;DISPLAY_TYPE1 : ;; | ||
| 1688 | ; MOV cs:stage,DISP_ROWSX ;; | ||
| 1689 | ; JMP FTB_LOOP ;; | ||
| 1690 | ;PRINTER_TYPE1 : ;; | ||
| 1691 | ; MOV cs:stage,PTRSELLOX ;; | ||
| 1692 | ; JMP FTB_LOOP ;; | ||
| 1693 | ;; | ||
| 1694 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1695 | FDLENHI : ;; STAGE the high byte of the F-LENGTH | ||
| 1696 | MOV cs:pre_font_len,PRE_FONT_ND | ||
| 1697 | MOV AX,FPKT ;; | ||
| 1698 | INC SI ;; byte by byte | ||
| 1699 | DEC CX ;; | ||
| 1700 | MOV cs:fdlen_hib,AL ;; | ||
| 1701 | MOV AX,cs:fdlen_word ;; | ||
| 1702 | ; AND AX,AX ;; | ||
| 1703 | ; JZ NO_DISP_PTR2 ;; | ||
| 1704 | ; CMP cs:type_word,TYPE_DISPLAY ;; | ||
| 1705 | ; JE DISPLAY_TYPE2 ;; | ||
| 1706 | ; CMP cs:type_word,TYPE_PRINTER ;; | ||
| 1707 | ; JE PRINTER_TYPE2 ;; | ||
| 1708 | ;NO_DISP_PTR2: ;; | ||
| 1709 | MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1710 | JMP FTB_LOOP ;; | ||
| 1711 | ;DISPLAY_TYPE2 : ;; | ||
| 1712 | ; MOV cs:stage,DISP_ROWSX ;; | ||
| 1713 | ; JMP FTB_LOOP ;; | ||
| 1714 | ;PRINTER_TYPE2 : ;; | ||
| 1715 | ; MOV cs:stage,PTRSELLOX ;; | ||
| 1716 | ; JMP FTB_LOOP ;; | ||
| 1717 | ;; | ||
| 1718 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1719 | DSPROWS : ;; STAGE : get the rows | ||
| 1720 | ; XOR AX,AX ;; | ||
| 1721 | ; MOV cs:disp_rows,AL ;; | ||
| 1722 | ; MOV cs:disp_cols,AL ;; | ||
| 1723 | ; MOV cs:DISP_X,AL ;; | ||
| 1724 | ; MOV cs:disp_y,AL ;; | ||
| 1725 | ; MOV cs:count_word,AX ;; | ||
| 1726 | ; ;; | ||
| 1727 | ; INC cs:pre_font_len ;; | ||
| 1728 | ; MOV AX,FPKT ;; | ||
| 1729 | ; INC SI ;; | ||
| 1730 | ; DEC CX ;; | ||
| 1731 | ; MOV cs:disp_rows,AL ;; | ||
| 1732 | ; MOV AX,cs:fdlen_word ;; | ||
| 1733 | ; DEC AX ;; | ||
| 1734 | ; MOV cs:fdlen_word,AX ;; | ||
| 1735 | ; JZ NO_DISP_FONT3 ;; | ||
| 1736 | ; MOV cs:stage,disp_colsX ;; | ||
| 1737 | ; JMP FTB_LOOP ;; | ||
| 1738 | ;NO_DISP_FONT3 : ;; | ||
| 1739 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1740 | ; JMP FTB_LOOP ;; | ||
| 1741 | ; ;;+++++++++++++++++++++++++++++++++ | ||
| 1742 | DSPCOLS : ;; STAGE : get the COLS | ||
| 1743 | ; INC cs:pre_font_len ;; | ||
| 1744 | ; MOV AX,FPKT ;; | ||
| 1745 | ; INC SI ;; | ||
| 1746 | ; DEC CX ;; | ||
| 1747 | ; MOV cs:disp_cols,AL ;; | ||
| 1748 | ; MOV AX,cs:fdlen_word ;; | ||
| 1749 | ; DEC AX ;; | ||
| 1750 | ; MOV cs:fdlen_word,AX ;; | ||
| 1751 | ; JZ NO_DISP_FONT3 ;; | ||
| 1752 | ; MOV cs:stage,DISP_XX ;; | ||
| 1753 | ; JMP FTB_LOOP ;; | ||
| 1754 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1755 | DSPX : ;; STAGE : get the aspect X | ||
| 1756 | ; INC cs:pre_font_len ;; | ||
| 1757 | ; MOV AX,FPKT ;; | ||
| 1758 | ; INC SI ;; | ||
| 1759 | ; DEC CX ;; | ||
| 1760 | ; MOV DISP_X,AL ;; | ||
| 1761 | ; MOV AX,cs:fdlen_word ;; | ||
| 1762 | ; DEC AX ;; | ||
| 1763 | ; MOV cs:fdlen_word,AX ;; | ||
| 1764 | ; JZ NO_DISP_FONT3 ;; | ||
| 1765 | ; MOV cs:stage,DISP_YX ;; | ||
| 1766 | ; JMP FTB_LOOP ;; | ||
| 1767 | ; ;;+++++++++++++++++++++++++++++++++ | ||
| 1768 | DSPY : ;; STAGE : get the aspect Y | ||
| 1769 | ; INC cs:pre_font_len ;; | ||
| 1770 | ; MOV AX,FPKT ;; | ||
| 1771 | ; INC SI ;; | ||
| 1772 | ; DEC CX ;; | ||
| 1773 | ; MOV cs:disp_y,AL ;; | ||
| 1774 | ; MOV AX,cs:fdlen_word ;; | ||
| 1775 | ; DEC AX ;; | ||
| 1776 | ; MOV cs:fdlen_word,AX ;; | ||
| 1777 | ; JZ NO_DISP_FONT3 ;; | ||
| 1778 | ; MOV cs:stage,COUNT_LOBX ;; | ||
| 1779 | ; JMP FTB_LOOP ;; | ||
| 1780 | ; ;; | ||
| 1781 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1782 | DSPCOUNTLO : ;; the low byte of the FONT-LENGTH | ||
| 1783 | ; INC cs:pre_font_len ;; | ||
| 1784 | ; MOV AX,FPKT ;; | ||
| 1785 | ; INC SI ;; byte by byte | ||
| 1786 | ; DEC CX ;; | ||
| 1787 | ; PUSH AX ;; check if length is enough | ||
| 1788 | ; MOV AX,cs:fdlen_word ;; | ||
| 1789 | ; DEC AX ;; | ||
| 1790 | ; MOV cs:fdlen_word,AX ;; | ||
| 1791 | ; POP AX ;; | ||
| 1792 | ; JNZ A_WORD_COUNT ;; | ||
| 1793 | ; JMP NO_DISP_FONT3 ;; | ||
| 1794 | ;A_WORD_COUNT : ;; | ||
| 1795 | ; AND CX,CX ;; | ||
| 1796 | ; JNZ WORD_COUNT ;; | ||
| 1797 | ; MOV cs:count_lob,AL ;; | ||
| 1798 | ; MOV cs:stage,COUNT_HIBX ;; | ||
| 1799 | ; JMP FTB_LOOP ;; | ||
| 1800 | ;WORD_COUNT : ;; | ||
| 1801 | ; INC cs:pre_font_len ;; | ||
| 1802 | ; INC SI ;; | ||
| 1803 | ; DEC CX ;; | ||
| 1804 | ; MOV cs:count_word,AX ;; | ||
| 1805 | ; MOV cs:pre_font_len,PRE_FONT_D; | ||
| 1806 | ;; | ||
| 1807 | ; MOV AX,cs:fdlen_word ;; | ||
| 1808 | ; DEC AX ;; | ||
| 1809 | ; MOV cs:fdlen_word,AX ;; | ||
| 1810 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1811 | ; JMP FTB_LOOP ;; | ||
| 1812 | ; ;; | ||
| 1813 | ; ;;+++++++++++++++++++++++++++++++++ | ||
| 1814 | DSPCOUNTHI : ;; STAGE the high byte of the F-LENGTH | ||
| 1815 | ; INC cs:pre_font_len ;; | ||
| 1816 | ; MOV AX,FPKT ;; | ||
| 1817 | ; INC SI ;; byte by byte | ||
| 1818 | ; DEC CX ;; | ||
| 1819 | ; MOV cs:count_hib,AL ;; | ||
| 1820 | ; MOV cs:pre_font_len,PRE_FONT_D; | ||
| 1821 | ;; | ||
| 1822 | ; MOV AX,cs:fdlen_word ;; | ||
| 1823 | ; DEC AX ;; | ||
| 1824 | ; MOV cs:fdlen_word,AX ;; | ||
| 1825 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1826 | ; JMP FTB_LOOP ;; | ||
| 1827 | ; ;; | ||
| 1828 | ;; | ||
| 1829 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1830 | PTRSELLO : ;; the low byte of the SELECTION_TYPE | ||
| 1831 | ;; | ||
| 1832 | ; INC cs:pre_font_len ;; | ||
| 1833 | ; MOV AX,FPKT ;; | ||
| 1834 | ; INC SI ;; byte by byte | ||
| 1835 | ; DEC CX ;; | ||
| 1836 | ; PUSH AX ;; check if length is enough | ||
| 1837 | ; MOV AX,cs:fdlen_word ;; | ||
| 1838 | ; DEC AX ;; | ||
| 1839 | ; MOV cs:fdlen_word,AX ;; | ||
| 1840 | ; POP AX ;; | ||
| 1841 | ; JNZ A_WORD_SEL ;; | ||
| 1842 | ; JMP NO_PTR_FONT3 ;; | ||
| 1843 | ;A_WORD_SEL : ;; | ||
| 1844 | ; AND CX,CX ;; | ||
| 1845 | ; JNZ WORD_SEL ;; | ||
| 1846 | ; MOV cs:ptr_selob,AL ;; | ||
| 1847 | ; MOV cs:stage,PTRSELHIX ;; | ||
| 1848 | ; JMP FTB_LOOP ;; | ||
| 1849 | ;WORD_SEL : ;; | ||
| 1850 | ; INC cs:pre_font_len ;; | ||
| 1851 | ; INC SI ;; | ||
| 1852 | ; DEC CX ;; | ||
| 1853 | ; MOV cs:ptr_sel_word,AX ;; | ||
| 1854 | ; ;; | ||
| 1855 | ; MOV AX,cs:fdlen_word ;; | ||
| 1856 | ; DEC AX ;; | ||
| 1857 | ; MOV cs:fdlen_word,AX ;; | ||
| 1858 | ; ;; | ||
| 1859 | ; CMP cs:ptr_sel_word,0 ;; | ||
| 1860 | ; JNE PTR_SEL_NOT0 ;; | ||
| 1861 | ; ;; | ||
| 1862 | ; ;; | ||
| 1863 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1864 | ; JMP FTB_LOOP ;; | ||
| 1865 | ; ;; | ||
| 1866 | ;PTR_SEL_NOT0 : ;; | ||
| 1867 | ; MOV cs:stage,PTRLENLOX ;; | ||
| 1868 | ; JMP FTB_LOOP ;; | ||
| 1869 | ; ;; | ||
| 1870 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1871 | PTRSELHI: ;; STAGE the high byte of SELECT_TYPE | ||
| 1872 | ;; | ||
| 1873 | ; INC cs:pre_font_len ;; | ||
| 1874 | ; MOV AX,FPKT ;; | ||
| 1875 | ; INC SI ;; byte by byte | ||
| 1876 | ; DEC CX ;; | ||
| 1877 | ; MOV cs:ptr_sehib,AL ;; | ||
| 1878 | ; ;; | ||
| 1879 | ; MOV AX,cs:fdlen_word ;; | ||
| 1880 | ; DEC AX ;; | ||
| 1881 | ; MOV cs:fdlen_word,AX ;; | ||
| 1882 | ; ;; | ||
| 1883 | ; CMP cs:ptr_sel_word,0 ;; | ||
| 1884 | ; JNE PTR_SEL_NOT0 ;; | ||
| 1885 | ; ;; | ||
| 1886 | ; ;; | ||
| 1887 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1888 | ; JMP FTB_LOOP ;; | ||
| 1889 | ; ;; | ||
| 1890 | ; ;; | ||
| 1891 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1892 | PTRLENLO : ;; the low byte of SELECTION_LENGTH | ||
| 1893 | ;; | ||
| 1894 | ; INC cs:pre_font_len ;; | ||
| 1895 | ; MOV AX,FPKT ;; | ||
| 1896 | ; INC SI ;; byte by byte | ||
| 1897 | ; DEC CX ;; | ||
| 1898 | ; PUSH AX ;; check if length is enough | ||
| 1899 | ; MOV AX,cs:fdlen_word ;; | ||
| 1900 | ; DEC AX ;; | ||
| 1901 | ; MOV cs:fdlen_word,AX ;; | ||
| 1902 | ; POP AX ;; | ||
| 1903 | ; JNZ A_WORD_SELEN ;; | ||
| 1904 | ; JMP NO_PTR_FONT3 ;; | ||
| 1905 | ;A_WORD_SELEN : ;; | ||
| 1906 | ; AND CX,CX ;; | ||
| 1907 | ; JNZ WORD_SELEN ;; | ||
| 1908 | ; MOV cs:ptr_lnlob,AL ;; | ||
| 1909 | ; MOV cs:stage,PTRLENHIX ;; | ||
| 1910 | ; JMP FTB_LOOP ;; | ||
| 1911 | ;WORD_SELEN : ;; | ||
| 1912 | ; INC cs:pre_font_len ;; | ||
| 1913 | ; INC SI ;; | ||
| 1914 | ; DEC CX ;; | ||
| 1915 | ; MOV cs:ptr_len_word,AX ;; | ||
| 1916 | ; ;; | ||
| 1917 | ; MOV AX,cs:fdlen_word ;; | ||
| 1918 | ; DEC AX ;; | ||
| 1919 | ; MOV cs:fdlen_word,AX ;; | ||
| 1920 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1921 | ; JMP FTB_LOOP ;; | ||
| 1922 | ; ;; | ||
| 1923 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1924 | PTRLENHI : ;; STAGE the high byte of SELECT_LENGTH | ||
| 1925 | ;; | ||
| 1926 | SUB CX,CX ;D; added for DISPLAY.SYS version | ||
| 1927 | MOV CS:STAGE,STAGE_MAX+1 ;D; added for DISPLAY.SYS version | ||
| 1928 | JMP FTB_LOOP ;D; added for DISPLAY.SYS version | ||
| 1929 | ;; | ||
| 1930 | ;; | ||
| 1931 | ; INC cs:pre_font_len ;; | ||
| 1932 | ; MOV AX,FPKT ;; | ||
| 1933 | ; INC SI ;; byte by byte | ||
| 1934 | ; DEC CX ;; | ||
| 1935 | ; MOV cs:ptr_lnhib,AL ;; | ||
| 1936 | ; ;; | ||
| 1937 | ; MOV AX,cs:fdlen_word ;; | ||
| 1938 | ; DEC AX ;; | ||
| 1939 | ; MOV cs:fdlen_word,AX ;; | ||
| 1940 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1941 | ; JMP FTB_LOOP ;; | ||
| 1942 | ; ;; | ||
| 1943 | ;NO_PTR_FONT3 : ;; | ||
| 1944 | ; MOV cs:stage,FOUNDX ;; FSTAT is to be changed | ||
| 1945 | ; JMP FTB_LOOP ;; | ||
| 1946 | ;;+++++++++++++++++++++++++++++++++ | ||
| 1947 | PASS : ;; STAGE - PASS DUMMY BYTES | ||
| 1948 | ;; | ||
| 1949 | PUSH DX ;; | ||
| 1950 | PUSH ES ;; | ||
| 1951 | PUSH DI ;; | ||
| 1952 | ;; | ||
| 1953 | PUSH CS ;; | ||
| 1954 | POP ES ;; | ||
| 1955 | MOV DI,OFFSET PASS_BRK ;; | ||
| 1956 | MOV DX,PASS_INDX ;; | ||
| 1957 | MOV AX,cs:pass_cnt ;; | ||
| 1958 | ;; | ||
| 1959 | NEXT_BRK: ;; find the next pass-break | ||
| 1960 | CMP AX,ES:[DI] ;; | ||
| 1961 | ;; | ||
| 1962 | JB UPTO_BRK ;; | ||
| 1963 | ;; | ||
| 1964 | DEC DX ;; | ||
| 1965 | JZ PASS_ERR ;; | ||
| 1966 | INC DI ;; | ||
| 1967 | INC DI ;; | ||
| 1968 | JMP NEXT_BRK ;; | ||
| 1969 | ;; | ||
| 1970 | UPTO_BRK : ;; next break point found | ||
| 1971 | MOV DX,ES:[DI] ;; | ||
| 1972 | SUB DX,AX ;; bytes to be skipped | ||
| 1973 | CMP CX,DX ;; all to be skipped ? | ||
| 1974 | JAE PASS_ALL ;; | ||
| 1975 | ;; | ||
| 1976 | ADD cs:pass_cnt,CX ;; | ||
| 1977 | ADD SI,CX ;; | ||
| 1978 | SUB CX,CX ;; | ||
| 1979 | JMP PASS_END ;; | ||
| 1980 | ;; | ||
| 1981 | PASS_ALL : ;; | ||
| 1982 | ADD cs:pass_cnt,DX ;; | ||
| 1983 | ADD SI,DX ;; | ||
| 1984 | SUB CX,DX ;; | ||
| 1985 | ;; | ||
| 1986 | MOV AX,cs:pass_postx ;; | ||
| 1987 | MOV cs:stage,AX ;; | ||
| 1988 | ;; | ||
| 1989 | ; cmp ax,passx ;; is the next stage a pass-stage ? | ||
| 1990 | ; jne not_passx ;; | ||
| 1991 | ; mov ax,pass_postxx ;; | ||
| 1992 | ; mov pass_postx,ax ;; | ||
| 1993 | ; mov pass_postxx,stage_max ;; can support only 2 consecutive pass | ||
| 1994 | ;; | ||
| 1995 | ;not_passx : ;; | ||
| 1996 | ;; | ||
| 1997 | JMP PASS_END ;; | ||
| 1998 | ;; | ||
| 1999 | PASS_ERR : ;; DEVICE ERROR, wrong stage | ||
| 2000 | POP DI ;; | ||
| 2001 | POP ES ;; | ||
| 2002 | POP DX ;; | ||
| 2003 | MOV FTP.FTB_STATUS,STAT_DEVERR | ||
| 2004 | SUB CX,CX ;; ignore all the input string | ||
| 2005 | JMP PASS_DONE ;; | ||
| 2006 | ;; | ||
| 2007 | PASS_END : ;; | ||
| 2008 | POP DI ;; | ||
| 2009 | POP ES ;; | ||
| 2010 | POP DX ;; | ||
| 2011 | PASS_DONE : ;; | ||
| 2012 | JMP FTB_LOOP ;; | ||
| 2013 | ;; | ||
| 2014 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2015 | ;; | ||
| 2016 | FTB_LPEND : ;; | ||
| 2017 | ;; | ||
| 2018 | CMP cs:stage,FOUNDX ;; | ||
| 2019 | JNE NOT_FOUNDX ;; | ||
| 2020 | ;; | ||
| 2021 | CALL FOUND_DO ;; | ||
| 2022 | ;; | ||
| 2023 | NOT_FOUNDX : ;; | ||
| 2024 | ;; | ||
| 2025 | POP CX ;; STACK -1 | ||
| 2026 | ;; | ||
| 2027 | FP_RET : ;; | ||
| 2028 | POP SI ;; restore registers | ||
| 2029 | POP DI ;; | ||
| 2030 | POP DX ;; | ||
| 2031 | POP CX ;; | ||
| 2032 | POP BX ;; | ||
| 2033 | POP AX ;; | ||
| 2034 | POP ES ;; | ||
| 2035 | POP DS ;; | ||
| 2036 | ;; | ||
| 2037 | RET ;; | ||
| 2038 | FONT_PARSER ENDP ;; | ||
| 2039 | ;; | ||
| 2040 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
diff --git a/v4.0/src/DEV/DISPLAY/INIT.ASM b/v4.0/src/DEV/DISPLAY/INIT.ASM new file mode 100644 index 0000000..f5067c1 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/INIT.ASM | |||
| @@ -0,0 +1,965 @@ | |||
| 1 | PAGE ,132 | ||
| 2 | TITLE DOS - CON Code Page Switching Device Driver (INIT) | ||
| 3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 4 | ; | ||
| 5 | ; FILENAME: INIT.ASM | ||
| 6 | ; PROGRAM: DISPLAY.SYS (Load module) | ||
| 7 | ; LINK PROCEDURE: Linkk | ||
| 8 | ; INSTALLATION: | ||
| 9 | ; | ||
| 10 | ; This is the routine used to initialize the DOS CPS | ||
| 11 | ; (Code Page Switching) device driver. It is linked into the | ||
| 12 | ; DISPLAY.SYS file at the very end. | ||
| 13 | ; | ||
| 14 | ; PSEUDO CODE: | ||
| 15 | ; INIT PROC | ||
| 16 | ; | ||
| 17 | ; not specified yet....patience is a virtue!!! | ||
| 18 | ; | ||
| 19 | ; INIT ENDP | ||
| 20 | ; | ||
| 21 | ; | ||
| 22 | ; (C)Copyright 1988 Microsoft | ||
| 23 | ; | ||
| 24 | ; DATE: August 28, 1986 | ||
| 25 | ; | ||
| 26 | ;Modification history ********************************************************* | ||
| 27 | ;AN001; D358 New device driver INIT function package 12/07/87 J.K. | ||
| 28 | ;AN002; D493 Undo D358. 02/24/88 J.K. | ||
| 29 | ;****************************************************************************** | ||
| 30 | |||
| 31 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 32 | IF1 ; | ||
| 33 | %OUT .COMPILING: INIT.ASM | ||
| 34 | %OUT . ô INSTALL CPS-CON DRIVER | ||
| 35 | %OUT . õ VERSION 3.30 | ||
| 36 | %OUT .INCLUDE FILES: | ||
| 37 | ENDIF ; | ||
| 38 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 39 | ; | ||
| 40 | ; REFERENCES | ||
| 41 | ; | ||
| 42 | ; THESE REFERENCES ARE FOR VARIABLES SET WITHIN THE | ||
| 43 | ; MAIN-LINE PROGRAM, NOT CONTAINED IN THIS MODULE. | ||
| 44 | ; | ||
| 45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 46 | ; | ||
| 47 | .XLIST ; | ||
| 48 | INCLUDE SYSMSG.INC ; WGR ;AN000; | ||
| 49 | MSG_UTILNAME <DISPLAY> ; WGR ;AN000; | ||
| 50 | .LIST ; | ||
| 51 | ; | ||
| 52 | ; | ||
| 53 | CODE SEGMENT PUBLIC BYTE 'CODE' ; | ||
| 54 | ASSUME CS:CODE,DS:CODE ; | ||
| 55 | PUBLIC INIT ; | ||
| 56 | ; | ||
| 57 | EXTRN ROM_INT_2F:WORD ; | ||
| 58 | EXTRN ROM_INT_10:WORD ; | ||
| 59 | EXTRN ROM_INT_1F:WORD ; | ||
| 60 | EXTRN OLD_INT_1F:WORD ; | ||
| 61 | EXTRN ROM_INT_44:WORD ; | ||
| 62 | EXTRN INT_2F_COM:NEAR ; | ||
| 63 | EXTRN INT_10_COM:NEAR ; | ||
| 64 | EXTRN EOF_MARKER:BYTE ; | ||
| 65 | EXTRN ABORT:BYTE ; | ||
| 66 | EXTRN CPD_ACTIVE:WORD ; | ||
| 67 | EXTRN CPD_CLASS:BYTE ; | ||
| 68 | EXTRN CPD_HDWR_N_MAX:ABS ; | ||
| 69 | EXTRN CPD_DESG_N_MAX:ABS ; | ||
| 70 | EXTRN CPD_HDWR_N:WORD ; | ||
| 71 | EXTRN CPD_DESG_N:WORD ; | ||
| 72 | EXTRN CPD_FONTS_N:WORD ; | ||
| 73 | EXTRN IRPT_2:NEAR ; | ||
| 74 | EXTRN IRPT_CMD_EXIT:NEAR ; | ||
| 75 | EXTRN FONT_SIZE:BYTE ; | ||
| 76 | EXTRN LOAD_MECH:BYTE ; | ||
| 77 | EXTRN CPD_FONT_PNTER:WORD ; | ||
| 78 | EXTRN PARSER:NEAR ; | ||
| 79 | EXTRN GET_DEVICE_ID:NEAR ; | ||
| 80 | EXTRN TABLE:BYTE ; | ||
| 81 | EXTRN ASK_BIOS_FONT_SIZE:NEAR ; | ||
| 82 | EXTRN ASK_BIOS_SCAN_LINES:NEAR; | ||
| 83 | EXTRN REDUCED_SUPPORT:ABS ; | ||
| 84 | EXTRN DEV_HDR:WORD ; | ||
| 85 | EXTRN MODE_VALUE:BYTE ; | ||
| 86 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 87 | ; | ||
| 88 | ; LOCAL VARIABLES | ||
| 89 | ; | ||
| 90 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 91 | HANDLE_ROUTINES LABEL WORD ; INDEX TABLE OF 'FUNCTIONS' TO | ||
| 92 | DW OFFSET HANDLE_DEVICE_NAME ; OPERATE ON THE COMMAND_LINE | ||
| 93 | DW OFFSET HANDLE_DEVICE_ID ; | ||
| 94 | DW OFFSET HANDLE_HDWR_CP ; | ||
| 95 | DW OFFSET HANDLE_DESG_CP ; | ||
| 96 | LEN_HANDLE_ROUTINES EQU ($-HANDLE_ROUTINES)/2 | ||
| 97 | ; | ||
| 98 | RESIDENT_END DW OFFSET EOF_MARKER ; POINTER TO SEG:OFFSET OF CODE END! | ||
| 99 | RESIDENT_ENDS DW SEG CODE ; | ||
| 100 | ; | ||
| 101 | DEVICE_ID_INDEX DW 0 ; INDEX VALUE FOR DEVICE SUB-TYPE | ||
| 102 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 103 | ; | ||
| 104 | ; INCLUDE FILES | ||
| 105 | ; | ||
| 106 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 107 | INCLUDE MACROS.INC ; GENERAL PURPOSE 'MACROs' | ||
| 108 | INCLUDE DEF-EQU.INC ; CPS DRIVER STRUCTURES AND EQUATES | ||
| 109 | INCLUDE TABLES.INC ; DEVICE SUB-TYPE CONFIGURATION TABLES | ||
| 110 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 111 | ; | ||
| 112 | ; INITIALIZATION ROUTINE | ||
| 113 | ; | ||
| 114 | ; THE INIT PROC IS CALLED BY THE DEVICE DRIVER DURING DOS BOOT TIME! | ||
| 115 | ; THE CALL WILL BE MADE ONCE, AND ONLY ONCE. THEREFORE, WHEN THIS | ||
| 116 | ; CODE IS COMPLETED, IT IS DISCARDED INTO THAT 'great bit bucket | ||
| 117 | ; in the sky! | ||
| 118 | ; | ||
| 119 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 120 | INIT PROC ; | ||
| 121 | PUSH DS ; | ||
| 122 | ; | ||
| 123 | PUSH CS ; | ||
| 124 | POP DS ; FIRST SET DS = CS | ||
| 125 | ; | ||
| 126 | PUSH BX ; WGR ;AN000; | ||
| 127 | CALL SYSLOADMSG ; WGR load messages ;AN000; | ||
| 128 | JNC INIT_00 ; WGR if no error then continue.. ;AN000; | ||
| 129 | CALL SYSDISPMSG ; WGR display error message.. ;AN000; | ||
| 130 | POP BX ; WGR ;AN000; | ||
| 131 | JMP INIT_1 ; WGR exit with error status ;AN000; | ||
| 132 | INIT_00: ; WGR ;AN000; | ||
| 133 | POP BX ; WGR ;AN000; | ||
| 134 | MOV RESIDENT_ENDS,CS ; SET INITIAL RESIDENT END SEGMENT | ||
| 135 | ; | ||
| 136 | LES DI,DWORD PTR BUF.RH_PTRO; GET RH | ||
| 137 | CALL PARSER ; | ||
| 138 | JC INIT_1A ; | ||
| 139 | ; | ||
| 140 | MOV SI,OFFSET TABLE ; ADDRESS [ TABLE 1 ] | ||
| 141 | MOV CX,[SI].NUM_DEVICES ; CHECK THE NUMBER OF DEVICES SPECIFIED | ||
| 142 | CMP CX,ONE ; IF <> 1, THEN WE HAVE A PROBLEM... | ||
| 143 | JNE INIT_1A ; ERROR | ||
| 144 | MOV SI,[SI].DEVICE1_OFFSET ; MOVE FROM [ TABLE 1 ] TO [ TABLE 2 ] | ||
| 145 | MOV CX,[SI].NUM_ITEMS ; | ||
| 146 | LEA DI,HANDLE_ROUTINES ; | ||
| 147 | ; | ||
| 148 | INIT_0: CALL CS:[DI] ; CALL ROUTINE WITH '[SI].OFFSET_LIST' | ||
| 149 | ; | ||
| 150 | JC INIT_1 ; ERROR IN ROUTINE (COMMAND_LINE) | ||
| 151 | INC SI ; ADVANCE POINTERS FOR CALL AND | ||
| 152 | INC SI ; THE OFFSET_LIST! | ||
| 153 | INC DI ; | ||
| 154 | INC DI ; | ||
| 155 | LOOP INIT_0 ; | ||
| 156 | ; | ||
| 157 | CALL INSTALL_ID ; CONFIGURE DEVICE DRIVER FOR MATCHED | ||
| 158 | JC INIT_1 ; DISPLAY ADAPTER! | ||
| 159 | ; | ||
| 160 | PUSH BX ; | ||
| 161 | MOV AH,15 ; PERFORM CALL TO GET ACTIVE MODE | ||
| 162 | INT 10H ; | ||
| 163 | MOV MODE_VALUE,AL ; SET IT IN THE INT10COM.INC ROUTINE | ||
| 164 | POP BX ; | ||
| 165 | ; | ||
| 166 | JUMP INIT_2 ; | ||
| 167 | ; | ||
| 168 | INIT_1A: ; | ||
| 169 | PUSH AX ; WGR ;AN000; | ||
| 170 | PUSH DX ; WGR ;AN000; | ||
| 171 | MOV AX,ERROR_2 ; PARSING ERROR CONDITION ;AN000; | ||
| 172 | MOV DH,UTILITY_MSG_CLASS ; WGR ;AN000; | ||
| 173 | CALL ISSUE_MESSAGE ; WGR ;AN000; | ||
| 174 | POP DX ; WGR ;AN000; | ||
| 175 | POP AX ; WGR ;AN000; | ||
| 176 | ; | ||
| 177 | INIT_1: XOR AX,AX ; CLEAR ERROR CODE TO BE RETURNED | ||
| 178 | LES DI,DWORD PTR BUF.RH_PTRO; GET RH | ||
| 179 | MOV RH.RH0_ENDO,AX ; OFFSET = 0 | ||
| 180 | MOV RH.RH0_ENDS,CS ; | ||
| 181 | MOV RH.RH0_UNIT,AL ; SET 0 UNITS.... | ||
| 182 | ; | ||
| 183 | CMP NOT_CPS_ID,OFF ; WGR did we find a non-CPS id? ;AN000; | ||
| 184 | JNE INIT_1B ; WGR yes....do not set an error ;AN000; | ||
| 185 | OR BUF.STATUS,103H ; SET INIT ERROR OCCURRED | ||
| 186 | JMP INIT_1C ; WGR ;AN000; | ||
| 187 | ; | ||
| 188 | INIT_1B: ; | ||
| 189 | OR BUF.STATUS,AX ; WGR no error code..but do not load ;AN000; | ||
| 190 | ; mov RH.RH0_SYSINIT_MSG, 0 ;AN001;AN002; Ask IBMBIO not to show "Error in CONFIG.SYS lines= #" message | ||
| 191 | INIT_1C: ; | ||
| 192 | PUSH DI ; 'DETACH' THE LINK LIST TO THE | ||
| 193 | MOV AX,-1 ; NEXT DEVICE NAME....THIS MAY not | ||
| 194 | LEA DI,DEV_HDR ; NEED TO BE RESET FOR INIT ERROR.... | ||
| 195 | MOV CS:[DI],AX ; | ||
| 196 | MOV CS:[DI+2],AX ; | ||
| 197 | POP DI ; | ||
| 198 | STC ; SET CY TO INDICATE FNC DONE | ||
| 199 | POP DS ; | ||
| 200 | RET ; | ||
| 201 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 202 | ; | ||
| 203 | ; NOW MOVE ONTO INSTALLATION OF INT 2F HEX | ||
| 204 | ; | ||
| 205 | ; SINCE WE ARE GOING TO CHAIN THE INTERRUPT 2FH VECTOR, | ||
| 206 | ; IT IS IMPORTANT THAT THE lower LEVEL IS VALID! THIS | ||
| 207 | ; IS VERIFIED BY SEEING IF THE ORIGINAL VECTOR <> 0000:0000. | ||
| 208 | ; | ||
| 209 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 210 | INIT_2: PUSH ES ; | ||
| 211 | XOR AX,AX ; SET ES TO INTERRUPT REGION | ||
| 212 | MOV ES,AX ; | ||
| 213 | MOV AX,ES:WORD PTR INT_2F_LOW;GET OFFSET VALUE OF INT 2F hex | ||
| 214 | MOV CS:ROM_INT_2F,AX ; & | ||
| 215 | MOV CX,ES:WORD PTR INT_2F_HI; ALSO THE SEGMENT VALUE | ||
| 216 | MOV CS:ROM_INT_2F+2,CX ; | ||
| 217 | OR AX,CX ; IS INT 2F hex = 0 ? | ||
| 218 | JNE INIT_6 ; | ||
| 219 | MOV AX,OFFSET ABORT ; YES: USE IRET AS THE LOWER CODE | ||
| 220 | MOV CS:ROM_INT_2F,AX ; REFER TO ABORT LABEL FOR IRET! | ||
| 221 | MOV AX,CS ; | ||
| 222 | MOV CS:ROM_INT_2F+2,AX ; | ||
| 223 | INIT_6: CLI ; NEXT CHANGE THE ACTIVE INT 2F hex | ||
| 224 | MOV ES:WORD PTR INT_2F_LOW,OFFSET INT_2F_COM; | ||
| 225 | MOV ES:WORD PTR INT_2F_HI,CS; TO THE NEWLY LOADED CODE (INT2FCOM) | ||
| 226 | STI ; (with interrupts off, of course) | ||
| 227 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 228 | ; | ||
| 229 | ; READ THE INTERRUPT 1F HEX FOR INT10COM MODULE | ||
| 230 | ; THIS IS READ DURING INITIAL LOAD TO RECORD THE | ||
| 231 | ; DEFAULT VALUE. THE CPS SUPPORT WILL not CHANGE | ||
| 232 | ; THE INT 1F HEX VECTOR IF IT WAS CHANGED FROM | ||
| 233 | ; THIS VALUE....ie. GRAFTABL.COM or other HAS THE | ||
| 234 | ; VECTOR. | ||
| 235 | ; | ||
| 236 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 237 | MOV CX,ES:WORD PTR INT_1F_LOW; GET OFFSET OF INTERRUPT 1FH | ||
| 238 | MOV CS:ROM_INT_1F,CX ; & | ||
| 239 | MOV CS:OLD_INT_1F,CX ; | ||
| 240 | MOV CX,ES:WORD PTR INT_1F_HI; SEGMENT OF INTERRUPT 1FH | ||
| 241 | MOV CS:ROM_INT_1F+2,CX ; | ||
| 242 | MOV CS:OLD_INT_1F+2,CX ; | ||
| 243 | ; | ||
| 244 | MOV CX,ES:WORD PTR INT_44_LOW; GET OFFSET OF INTERRUPT 44H | ||
| 245 | MOV CS:ROM_INT_44,CX ; & | ||
| 246 | MOV CX,ES:WORD PTR INT_44_HI; SEGMENT OF INTERRUPT 44H | ||
| 247 | MOV CS:ROM_INT_44+2,CX ; | ||
| 248 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 249 | ; | ||
| 250 | ; NOW MOVE ONTO INSTALLATION OF INT 10 HEX | ||
| 251 | ; THE INT 10H VECTOR IS TAKEN TO MONITOR THE | ||
| 252 | ; MODE_SET INTERFACE (AH=0). THIS IS THE KEY | ||
| 253 | ; TO THE CPS SUPPORT MECHANISM...ie. THE ACTIVE | ||
| 254 | ; CODE PAGE IS LOADED EVERYTIME A MODE_SET OCCURS! | ||
| 255 | ; | ||
| 256 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 257 | MOV CX,ES:WORD PTR INT_10_LOW; GET OFFSET OF INT 10H | ||
| 258 | MOV CS:ROM_INT_10,CX ; & | ||
| 259 | MOV CX,ES:WORD PTR INT_10_HI; SEGMENT OF INT 10H | ||
| 260 | MOV CS:ROM_INT_10+2,CX ; | ||
| 261 | CLI ; INSTALL THE NEW INT 10H CODE | ||
| 262 | MOV ES:WORD PTR INT_10_LOW,OFFSET INT_10_COM; | ||
| 263 | MOV ES:WORD PTR INT_10_HI,CS; | ||
| 264 | STI ; (with interrupts off, of course) | ||
| 265 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 266 | ; | ||
| 267 | ; INSTALL THE DEVICE DRIVER CODE. THE RESIDENT_END | ||
| 268 | ; VALUE HAS BEEN SET TO: | ||
| 269 | ; | ||
| 270 | ; 1 - REDUCED_SUPPORT used when #DESG = 0 (CGA, MONO) | ||
| 271 | ; 2 - LAST DESIGNATED BUFFER - calculated by #DESG x #FONTS | ||
| 272 | ; | ||
| 273 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 274 | POP ES ; RESTORE THE ES REGISTER | ||
| 275 | LES DI,DWORD PTR BUF.RH_PTRO; GET REQUEST HEADER ADDRESS | ||
| 276 | MOV AX,RESIDENT_END ; GET OFFSET OF RESIDENT END | ||
| 277 | MOV RH.RH0_ENDO,AX ; | ||
| 278 | INIT_7: MOV AX,RESIDENT_ENDS ; GET SEGMENT OF RESIDENT END | ||
| 279 | MOV RH.RH0_ENDS,AX ; | ||
| 280 | STC ; CY = 1, CALL FULLY SERVICED = ON | ||
| 281 | POP DS ; | ||
| 282 | RET ; | ||
| 283 | INIT ENDP ; | ||
| 284 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 285 | ; | ||
| 286 | ; DEVICE NAME PARSING IS LIMITED ONLY TO 1 DEVICE NAME | ||
| 287 | ; | ||
| 288 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 289 | DEVICE_NAMES DB "CON " ; ONLY ONE VALID NAME FOR DEVICE... | ||
| 290 | L_DEVICE_NAMES EQU ($-DEVICE_NAMES) ; | ||
| 291 | N_DEVICE_NAMES EQU ($-DEVICE_NAMES)/L_DEVICE_NAMES | ||
| 292 | ; | ||
| 293 | HANDLE_DEVICE_NAME PROC ; [ TABLE 3 ] | ||
| 294 | PUSH CX ; | ||
| 295 | PUSH SI ; | ||
| 296 | ; | ||
| 297 | MOV SI,[SI].OFFSET_LIST ; | ||
| 298 | MOV CX,[SI] ; TEST THAT DEVICE NAME IS 8 BYTES | ||
| 299 | ; | ||
| 300 | CMP CX,L_DEVICE_NAMES ; | ||
| 301 | JNE H_DN_0 ; LEN(DEVICE_NAME) <> 8, THEN ERROR | ||
| 302 | ; | ||
| 303 | PUSH ES ; | ||
| 304 | PUSH DI ; | ||
| 305 | ; | ||
| 306 | PUSH CS ; | ||
| 307 | POP ES ; | ||
| 308 | LEA DI,DEVICE_NAMES ; SET COMPARE STRING TO "CON " | ||
| 309 | INC SI ; | ||
| 310 | INC SI ; ADVANCE SI TO POINT TO DEVICE_NAME | ||
| 311 | REPE CMPSB ; CHECK OUT THE 1 NAME..... | ||
| 312 | POP DI ; | ||
| 313 | POP ES ; | ||
| 314 | JNE H_DN_0 ; | ||
| 315 | ; | ||
| 316 | POP SI ; | ||
| 317 | POP CX ; | ||
| 318 | CLC ; | ||
| 319 | RET ; | ||
| 320 | H_DN_0: POP SI ; | ||
| 321 | POP CX ; | ||
| 322 | CALL ISSUE_ERROR_1 ; ERROR OCCURRED...NOW ISSUE THE MESG | ||
| 323 | ; | ||
| 324 | STC ; TELL CALLER ABOUT ERROR! | ||
| 325 | RET ; | ||
| 326 | HANDLE_DEVICE_NAME ENDP ; | ||
| 327 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 328 | ; | ||
| 329 | ; THIS ROUTINE IS USED TO VERIFY THE ADAPTER 'NAME' AGAINST | ||
| 330 | ; THE SUPPORTED ONES. IF A MATCH IS FOUND THEN THE APPROPRIATE | ||
| 331 | ; CONFIGURATION TABLE IS LOADED INTO RESIDENT MEMORY, ELSE THE | ||
| 332 | ; 'CY' FLAG IS SET AND AN ERROR IS ISSUED. | ||
| 333 | ; | ||
| 334 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 335 | ID_NAMES DB "EGA " ; | ||
| 336 | L_ID_NAMES EQU ($-ID_NAMES) ; | ||
| 337 | DB "EGA 8 " ; INTERNAL USE ONLY | ||
| 338 | DB "EGA 14 " ; INTERNAL USE ONLY | ||
| 339 | DB "EGA 14M " ; INTERNAL USE ONLY | ||
| 340 | DB "LCD " ; | ||
| 341 | DB "MONO " ; | ||
| 342 | DB "CGA " ; | ||
| 343 | N_ID_NAMES EQU ($-ID_NAMES)/L_ID_NAMES | ||
| 344 | ; | ||
| 345 | HANDLE_DEVICE_ID PROC ; [ TABLE 4 ] | ||
| 346 | PUSH DI ; | ||
| 347 | PUSH CX ; | ||
| 348 | PUSH SI ; | ||
| 349 | ; | ||
| 350 | CALL MODIFY_ID_NAME ; THIS CALL IS USED TO CONVERT THE | ||
| 351 | JC HDID_4 ; 'EGA' CLASS TYPE INTO SUB-CATEGORY'S | ||
| 352 | ; | ||
| 353 | MOV SI,[SI].OFFSET_LIST ; | ||
| 354 | MOV CX,[SI] ; TEST THAT ID_NAME IS 8 BYTES | ||
| 355 | CMP CX,L_ID_NAMES ; | ||
| 356 | JNE HDID_4 ; | ||
| 357 | ; | ||
| 358 | INC SI ; | ||
| 359 | INC SI ; ADVANCE SI TO POINT TO ID_NAME | ||
| 360 | ; | ||
| 361 | LEA DI,ID_NAMES ; SET COMPARE STRING TO "DEVICEID" | ||
| 362 | MOV CX,N_ID_NAMES ; | ||
| 363 | ; | ||
| 364 | HDID_0: PUSH DI ; SAVE REGISTERS BETWEEN PASSES | ||
| 365 | PUSH ES ; | ||
| 366 | PUSH SI ; | ||
| 367 | PUSH CX ; | ||
| 368 | ; | ||
| 369 | PUSH CS ; | ||
| 370 | POP ES ; | ||
| 371 | MOV CX,L_ID_NAMES ; | ||
| 372 | REPE CMPSB ; TEST NAME (ALL 8 BYTES) AGAINST | ||
| 373 | ; THE NEXT NAME! | ||
| 374 | POP CX ; | ||
| 375 | POP SI ; | ||
| 376 | POP ES ; | ||
| 377 | POP DI ; | ||
| 378 | JE HDID_1 ; | ||
| 379 | ADD DI,L_ID_NAMES ; | ||
| 380 | LOOP HDID_0 ; TRY ALL ENTRIES FOR A MATCH... | ||
| 381 | HDID_4: ; | ||
| 382 | CMP NOT_CPS_ID,ON ; WGR did we find a non-CPS id? ;AN000; | ||
| 383 | JNE HDID_5 ; WGR no...not the problem..continue ;AN000; | ||
| 384 | STC ; WGR yes...so no message...but.. ;AN000; | ||
| 385 | JMP HDID_6 ; WGR set error for return ;AN000; | ||
| 386 | ; | ||
| 387 | HDID_5: ; WGR ;AN000; | ||
| 388 | POP SI ; IF NONE WERE FOUND, THEN ERROR... | ||
| 389 | POP CX ; | ||
| 390 | POP DI ; | ||
| 391 | ; | ||
| 392 | DEC SI ; BACK TO SUB-TYPE ID AND ISSUE | ||
| 393 | DEC SI ; THE ERROR MESSAGE. | ||
| 394 | CALL ISSUE_ERROR_1 ; | ||
| 395 | STC ; INFORM CALLER ABOUT THE ERROR! | ||
| 396 | RET ; | ||
| 397 | HDID_1: SUB CX,N_ID_NAMES ; ID NAME HAS BEEN FOUND | ||
| 398 | NEG CX ; NORMALIZE CX FOR TABLE INDEXING!! | ||
| 399 | ; | ||
| 400 | MOV DEVICE_ID_INDEX,CX ; | ||
| 401 | CLC ; | ||
| 402 | HDID_6: ; WGR ;AN000; | ||
| 403 | POP SI ; | ||
| 404 | POP CX ; | ||
| 405 | POP DI ; | ||
| 406 | RET ; | ||
| 407 | HANDLE_DEVICE_ID ENDP ; | ||
| 408 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 409 | ; | ||
| 410 | ; THIS ROUTINE CHECKS THE HARDWARE CP VALUE (if specified)! | ||
| 411 | ; THE VALUE OF THE HARDWARE CP IS NOT VERIFIED, ALLOWING | ||
| 412 | ; FUTURE ADAPTERS WITH non-437 HARDWARE PAGES. | ||
| 413 | ; | ||
| 414 | ; IF #HDWR_CP > 1 (FOR ANY DEVICES IN RELEASE 1.00) THEM | ||
| 415 | ; ERROR | ||
| 416 | ; ELSE | ||
| 417 | ; RECORD VALUE (1 WORD) | ||
| 418 | ; ENDIF | ||
| 419 | ; | ||
| 420 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 421 | HANDLE_HDWR_CP PROC ; [ TABLE 5 ] | ||
| 422 | PUSH CX ; | ||
| 423 | PUSH SI ; | ||
| 424 | MOV SI,[SI].OFFSET_LIST ; | ||
| 425 | MOV CX,[SI] ; GET THE NUMBER OF HDWR_CP'S | ||
| 426 | CMP CX,CPD_HDWR_N_MAX ; TEST IF GREATER THAN MAX ALLOWED! | ||
| 427 | JA H_HC_0 ; | ||
| 428 | ; | ||
| 429 | CMP CX,1 ; CHECK THE NUMBER OF HDWR CP's | ||
| 430 | JA H_HC_0 ; IF MORE THAN ONE..THEN WE HAVE A | ||
| 431 | ; PROBLEM....TELL USER! | ||
| 432 | PUSH CX ; | ||
| 433 | MOV CX,[SI+2] ; GET THE ACTUAL HARDWARE CP | ||
| 434 | CMP CX,-1 ; IS IT INVALID??? | ||
| 435 | POP CX ; | ||
| 436 | JE H_HC_0 ; | ||
| 437 | ; | ||
| 438 | PUSH ES ; | ||
| 439 | PUSH DI ; | ||
| 440 | ; | ||
| 441 | PUSH CS ; | ||
| 442 | POP ES ; | ||
| 443 | LEA DI,CPD_HDWR_N ; POINT DESTINATION TO INTERNAL TABLE | ||
| 444 | INC CX ; ALSO ACCOUNT FOR COUNT N | ||
| 445 | REP MOVSW ; SI ALREADY POINTS TO 'N,CP1,CP2..' | ||
| 446 | ; | ||
| 447 | POP DI ; | ||
| 448 | POP ES ; | ||
| 449 | ; | ||
| 450 | POP SI ; | ||
| 451 | POP CX ; | ||
| 452 | CLC ; | ||
| 453 | RET ; | ||
| 454 | H_HC_0: POP SI ; | ||
| 455 | POP CX ; | ||
| 456 | ; | ||
| 457 | PUSH SI ; HARDWARE CP IN ERROR, PUT 'SI' | ||
| 458 | DEC SI ; BACK TO SUB-TYPE ID AND ISSUE | ||
| 459 | DEC SI ; THE ERROR MESSAGE. | ||
| 460 | DEC SI ; BACK TO SUB-TYPE ID AND ISSUE | ||
| 461 | DEC SI ; THE ERROR MESSAGE. | ||
| 462 | CALL ISSUE_ERROR_1 ; | ||
| 463 | POP SI ; | ||
| 464 | STC ; | ||
| 465 | RET ; | ||
| 466 | HANDLE_HDWR_CP ENDP ; | ||
| 467 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 468 | ; | ||
| 469 | ; THIS ROUTINE CHECKS THE LAST PARAMETER IN THE COMMAND LINE | ||
| 470 | ; IT CONTAINS THE INFORMATION FOR THE NUMBER OF DESIGNATES AND | ||
| 471 | ; AND THE NUMBER OF DISPLAY FONTS TO BE USED. ONLY MINIMAL | ||
| 472 | ; ERROR CHECKING OCCURS HERE. | ||
| 473 | ; | ||
| 474 | ; THE FOLLOWING IS A LIST OF THE POSSIBLE VALUE IN 'OFFSET_LIST' | ||
| 475 | ; ============================================================== | ||
| 476 | ; | ||
| 477 | ; COND: # 1 # 2 # 3 | ||
| 478 | ; -----------------|--------------------|----------------- | ||
| 479 | ; TABLE: DW 0 DW 1 DW 2 | ||
| 480 | ; DW ? DW n DW n | ||
| 481 | ; DW ? DW ? DW m | ||
| 482 | ; | ||
| 483 | ; DETAILS: no parameters only #desg both #desg | ||
| 484 | ; specified. specified & #font specified | ||
| 485 | ; | ||
| 486 | ; RESULT: #DESG = 0 #DESG = n #DESG = n | ||
| 487 | ; #FONT = 0 (maximum) #FONT = 0 (maximum) #FONT = m | ||
| 488 | ; | ||
| 489 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 490 | HANDLE_DESG_CP PROC ; [ TABLE 6 ] | ||
| 491 | PUSH AX ; | ||
| 492 | PUSH CX ; | ||
| 493 | PUSH DX ; | ||
| 494 | PUSH SI ; | ||
| 495 | MOV SI,[SI].OFFSET_LIST ; | ||
| 496 | ; | ||
| 497 | MOV CX,-1 ; SET #DESG DEFAULT = 1 | ||
| 498 | MOV DX,-1 ; SET #FONT DEFAULT = 0 (maximum) | ||
| 499 | MOV AX,[SI] ; GET DESCRIPTOR FOR PARAMETER LIST | ||
| 500 | ; | ||
| 501 | OR AX,AX ; CHECK FOR <CONDITION #1> | ||
| 502 | JE H_DC_2 ; SET DRIVER TO DEFAULTS | ||
| 503 | ; | ||
| 504 | MOV CX,[SI+2] ; | ||
| 505 | CMP CX,CPD_DESG_N_MAX ; CHECK IF THIS VALUE IS ABOVE MAXIMUM! | ||
| 506 | JA H_DC_5 ; | ||
| 507 | CMP AX,ONE ; CHECK FOR <CONDITION #2> | ||
| 508 | JE H_DC_2 ; SET DRIVER TO DEFAULTS | ||
| 509 | ; | ||
| 510 | MOV DX,[SI+4] ; HAS TO BE <CONDITION #3> | ||
| 511 | ; | ||
| 512 | H_DC_2: MOV CPD_DESG_N,CX ; RECORD THE #DESG & THE | ||
| 513 | MOV CPD_FONTS_N,DX ; THE #FONT FROM THE SET VALUES | ||
| 514 | ; | ||
| 515 | POP SI ; | ||
| 516 | POP DX ; | ||
| 517 | POP CX ; | ||
| 518 | POP AX ; | ||
| 519 | CLC ; | ||
| 520 | RET ; | ||
| 521 | H_DC_5: POP SI ; | ||
| 522 | POP DX ; | ||
| 523 | POP CX ; | ||
| 524 | PUSH DX ; WGR ;AN000; | ||
| 525 | MOV AX,ERROR_3 ; WGR ;AN000; | ||
| 526 | MOV DH,UTILITY_MSG_CLASS ; WGR ;AN000; | ||
| 527 | CALL ISSUE_MESSAGE ; WGR ;AN000; | ||
| 528 | POP DX ; WGR ;AN000; | ||
| 529 | POP AX ; WGR ;AN000; | ||
| 530 | STC ; | ||
| 531 | RET ; | ||
| 532 | HANDLE_DESG_CP ENDP ; | ||
| 533 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 534 | ; | ||
| 535 | ; INSTALL_ID | ||
| 536 | ; | ||
| 537 | ; THIS ROUTINE PERFORMS THE DISPLAY_CONFIG TABLE | ||
| 538 | ; LOAD WHICH IS USED FOR THE REMAINDER OF THE SESSION | ||
| 539 | ; | ||
| 540 | ; INPUT: | ||
| 541 | ; DEVICE_ID_INDEX = INDEX TO LIST OF SUPPORTED DEVICES | ||
| 542 | ; | ||
| 543 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 544 | INSTALL_ID PROC ; ROUTINE TO INSTALL INFO FOR DEVICE | ||
| 545 | CALL INSTALL_TABLE ; | ||
| 546 | JNC INSI_3 ; | ||
| 547 | ; | ||
| 548 | PUSH SI ; | ||
| 549 | MOV SI,OFFSET TABLE ; ADDRESS [ TABLE 1 ] | ||
| 550 | MOV SI,[SI].DEVICE1_OFFSET ; MOVE FROM [ TABLE 1 ] TO [ TABLE 2 ] | ||
| 551 | ; INC SI ; | ||
| 552 | ; INC SI ; | ||
| 553 | CALL ISSUE_ERROR_1 ; | ||
| 554 | POP SI ; | ||
| 555 | STC ; | ||
| 556 | INSI_3: RET ; | ||
| 557 | INSTALL_ID ENDP ; | ||
| 558 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 559 | ; | ||
| 560 | ; | ||
| 561 | ; | ||
| 562 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 563 | INSTALL_TABLE PROC ; | ||
| 564 | PUSH AX ; | ||
| 565 | PUSH CX ; | ||
| 566 | PUSH DX ; | ||
| 567 | PUSH DI ; | ||
| 568 | PUSH SI ; | ||
| 569 | PUSH DS ; | ||
| 570 | PUSH ES ; | ||
| 571 | ; | ||
| 572 | PUSH CS ; | ||
| 573 | POP DS ; | ||
| 574 | PUSH CS ; | ||
| 575 | POP ES ; | ||
| 576 | ; | ||
| 577 | MOV AX,DEVICE_ID_INDEX ; | ||
| 578 | MOV CX,DC_ENTRY ; | ||
| 579 | MUL CX ; | ||
| 580 | LEA CX,DISPLAY_CONFIG ; | ||
| 581 | ADD CX,AX ; | ||
| 582 | ADD CX,8 ; ACCOUNT FOR 8 CHARACTER NAME | ||
| 583 | MOV DI,CX ; | ||
| 584 | ; | ||
| 585 | CALL INSTALL_MEMORY ; | ||
| 586 | JC IT_5 ; | ||
| 587 | ; | ||
| 588 | INC DI ; ACCOUNT FOR ENCODED MEMORY BYTES | ||
| 589 | MOV SI,[DI] ; | ||
| 590 | PUSH DI ; | ||
| 591 | MOV CX,NUM_MODES ; | ||
| 592 | LEA DI,LOAD_MECH ; DUPLICATE LOAD_MECH TABLE | ||
| 593 | REP MOVSB ; | ||
| 594 | POP DI ; | ||
| 595 | MOV SI,[DI+2] ; | ||
| 596 | MOV CX,NUM_MODES ; | ||
| 597 | LEA DI,FONT_SIZE ; DUPLICATE FONT_SIZE TABLE | ||
| 598 | REP MOVSB ; | ||
| 599 | CLC ; | ||
| 600 | ; | ||
| 601 | IT_5: POP ES ; | ||
| 602 | POP DS ; | ||
| 603 | POP SI ; | ||
| 604 | POP DI ; | ||
| 605 | POP DX ; | ||
| 606 | POP CX ; | ||
| 607 | POP AX ; | ||
| 608 | RET ; | ||
| 609 | INSTALL_TABLE ENDP ; | ||
| 610 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 611 | ; | ||
| 612 | ; INSTALL MEMORY | ||
| 613 | ; | ||
| 614 | ; ENTRY: | ||
| 615 | ; ES : DI = POINTER TO ENCODED SCAN LINES ALLOWED | ||
| 616 | ; EXIT: | ||
| 617 | ; CREATION OF CPD_FONT_PNTER TABLE | ||
| 618 | ; CALCULATION OF RESIDENT_END VALUE | ||
| 619 | ; | ||
| 620 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 621 | MEMORY_SIZE_INDEX LABEL WORD ; THIS CORRESPONDS TO THE MEM RQMENTS | ||
| 622 | DW 0,0,0,0 ; | ||
| 623 | DW 19*256+6 ; | ||
| 624 | DW 16*256+6 ; | ||
| 625 | DW 14*256+6 ; | ||
| 626 | DW 8*256+6 ; BYTE IN 'TABLES.SRC'. | ||
| 627 | NUM_MEMORY_SIZE EQU ($-MEMORY_SIZE_INDEX)/2 | ||
| 628 | ; | ||
| 629 | INSTALL_MEMORY PROC ; | ||
| 630 | PUSH AX ; | ||
| 631 | PUSH BX ; | ||
| 632 | PUSH CX ; | ||
| 633 | PUSH DX ; | ||
| 634 | PUSH SI ; | ||
| 635 | PUSH DI ; | ||
| 636 | PUSH ES ; | ||
| 637 | ; | ||
| 638 | PUSH CS ; | ||
| 639 | POP ES ; SET EXTRA SEGMENT | ||
| 640 | ; | ||
| 641 | MOV AL,[DI] ; GET ENCODED VALUE FROM TABLE | ||
| 642 | CALL ASK_BIOS_SCAN_LINES ; IF PERMITTED...BIOS KNOWS SCAN LINES | ||
| 643 | ; | ||
| 644 | IM_0Y: PUSH AX ; | ||
| 645 | PUSH CX ; | ||
| 646 | MOV CX,NUM_MEMORY_SIZE ; COUNT THE NUMBER OF FONTS POSSIBLE | ||
| 647 | XOR DX,DX ; DX (INIT=0) WILL = #DIF FONT TYPES | ||
| 648 | IM_0A: SAL AL,1 ; | ||
| 649 | JNC IM_0B ; | ||
| 650 | INC DX ; | ||
| 651 | IM_0B: LOOP IM_0A ; | ||
| 652 | POP CX ; | ||
| 653 | POP AX ; | ||
| 654 | ; ELSE, STAY WITH INITIAL VALUE!!!! | ||
| 655 | MOV CX,CPD_FONTS_N ; FIRST CHECK TO SEE IF #FONTS>TYPE | ||
| 656 | CMP CX,DX ; FIND OUT IF > ALLOWED... | ||
| 657 | JBE IM_0P ; IF NOT, THEN | ||
| 658 | MOV CX,-1 ; SET BACK TO DEFAULT VALUE | ||
| 659 | ; | ||
| 660 | IM_0P: CMP CX,-1 ; CHECK FOR FONTS = DEFAULT VALUE | ||
| 661 | JNE IM_0R ; | ||
| 662 | MOV CPD_FONTS_N,DX ; SET TO THE MAXIMUM FOR THE HARDWARE | ||
| 663 | ; | ||
| 664 | IM_0R: MOV CX,CPD_DESG_N ; | ||
| 665 | CMP CX,-1 ; CHECK FOR #DESG = DEFAULT VALUE | ||
| 666 | JNE IM_0T ; | ||
| 667 | MOV CPD_DESG_N,DX ; DX = #FONTS ALLOWED FOR THIS DEVICE | ||
| 668 | OR DX,DX ; TEST IF > 0 ? | ||
| 669 | JZ IM_0T ; | ||
| 670 | MOV CPD_DESG_N,ONE ; | ||
| 671 | ; | ||
| 672 | IM_0T: CMP CPD_DESG_N,ZERO ; TEST VALUE OF DESIGNATED CP's | ||
| 673 | JE IM_8 ; IF THE #DESG=0, THEN REDUCED SUPPORT | ||
| 674 | ; | ||
| 675 | CMP CPD_FONTS_N,ZERO ; TEST VALUE OF FONTS, (knowing DESG>0) | ||
| 676 | JE IM_9 ; ERROR OCCURRED!!! | ||
| 677 | ; | ||
| 678 | IM_0: MOV BX,CPD_FONTS_N ; BX=#FONTS REQUESTED | ||
| 679 | MOV CX,NUM_MEMORY_SIZE ; CX = 8 BITS | ||
| 680 | LEA SI,MEMORY_SIZE_INDEX ; SI SETUP FOR MEMORY VALUES, CX=#FONTS | ||
| 681 | XOR DX,DX ; DX=buffer size (INIT=0) | ||
| 682 | IM_1: SAL AL,1 ; TEST NEXT BIT FOR ACTIVATION | ||
| 683 | JNC IM_2 ; IF NOT ON...THEN IGNORE | ||
| 684 | OR BX,BX ; TEST IF MORE FONTS REQUESTED... | ||
| 685 | JE IM_2 ; | ||
| 686 | DEC BX ; LESS #FONTS REQUESTED BY ONE | ||
| 687 | ADD DX,[SI] ; AND ADD THE LARGEST BUFFER SIZE ON | ||
| 688 | IM_2: INC SI ; ADVANCE MEMORY INDEX POINTER | ||
| 689 | INC SI ; ADVANCE MEMORY INDEX POINTER | ||
| 690 | LOOP IM_1 ; | ||
| 691 | ; | ||
| 692 | MOV AX,DX ; SET AX=completed buffer size | ||
| 693 | ; | ||
| 694 | IM_5: MOV CX,CPD_DESG_N ; NOW, SETUP POINTERS & CALC FONT BUFFER | ||
| 695 | LEA SI,CPD_FONT_PNTER ; FIND THE DATA_POINTERS | ||
| 696 | MOV DX,RESIDENT_END ; GET LAST USEABLE ADDRESS | ||
| 697 | ; | ||
| 698 | PUSH BX ; SAVE VALUE OF BX FOR RESTORATION... | ||
| 699 | MOV BX,ES ; SET ES TO BX SO PNTER IS 'BX:DX' | ||
| 700 | IM_6: PUSH DX ; SET SEGMENT:OFFSET OF BUFFER 'X' | ||
| 701 | SHR DX,1 ; STRIP OFF LOW 4 BITS OF OFFSET.... | ||
| 702 | SHR DX,1 ; TO TOP OFF THE 'ES' SEGMENT REGISTER | ||
| 703 | SHR DX,1 ; | ||
| 704 | SHR DX,1 ; | ||
| 705 | ADD BX,DX ; AND MINIMIZE VALUE OF OFFSET | ||
| 706 | POP DX ; | ||
| 707 | AND DX,000FH ; THIS IS DONE TO PREVENT STRADDLING | ||
| 708 | MOV [SI],DX ; A SEGMENT BOUNDARY WITH THE DATA BUF | ||
| 709 | MOV [SI+2],BX ; | ||
| 710 | ; | ||
| 711 | ADD SI,4 ; | ||
| 712 | ADD DX,AX ; | ||
| 713 | LOOP IM_6 ; | ||
| 714 | ; | ||
| 715 | IM_7A: MOV RESIDENT_END,DX ; SET FINAL OFFSET & SEGMENT TO | ||
| 716 | MOV RESIDENT_ENDS,BX ; TERMINATE THE 'INIT' WITH | ||
| 717 | POP BX ; | ||
| 718 | CLC ; | ||
| 719 | JUMP IM_A ; | ||
| 720 | ; | ||
| 721 | IM_8: MOV DX,REDUCED_SUPPORT ; SET POINTER TO REDUCED SUPPORT | ||
| 722 | PUSH BX ; | ||
| 723 | MOV BX,ES ; | ||
| 724 | JUMP IM_7A ; | ||
| 725 | ; | ||
| 726 | IM_9: STC ; | ||
| 727 | IM_A: POP ES ; | ||
| 728 | POP DI ; | ||
| 729 | POP SI ; | ||
| 730 | POP DX ; | ||
| 731 | POP CX ; | ||
| 732 | POP BX ; | ||
| 733 | POP AX ; | ||
| 734 | RET ; | ||
| 735 | INSTALL_MEMORY ENDP ; | ||
| 736 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGR | ||
| 737 | ; ; WGR | ||
| 738 | ; ISSUE MESSAGE ; WGR | ||
| 739 | ; ; WGR | ||
| 740 | ; THIS ROUTINE IS USED TO PERFORM THE MESSAGE ; WGR | ||
| 741 | ; RETRIVER. ; WGR | ||
| 742 | ; ; WGR | ||
| 743 | ; INPUT: ; WGR | ||
| 744 | ; AX = MESSAGE NUMBER ; WGR | ||
| 745 | ; DH = MESSAGE CLASS ; WGR | ||
| 746 | ; ; WGR | ||
| 747 | ; OUTPUT: ; WGR | ||
| 748 | ; none ; WGR | ||
| 749 | ; ; WGR | ||
| 750 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGR | ||
| 751 | ISSUE_MESSAGE PROC ; ; WGR ;AN000; | ||
| 752 | PUSH DS ; WGR ;AN000; | ||
| 753 | PUSH BX ; WGR ;AN000; | ||
| 754 | PUSH CX ; WGR ;AN000; | ||
| 755 | PUSH CS ; WGR ;AN000; | ||
| 756 | POP DS ; WGR ;AN000; | ||
| 757 | MOV BX,STDERR ; WGR ;AN000; | ||
| 758 | XOR CX,CX ; WGR ;AN000; | ||
| 759 | XOR DL,DL ; WGR ;AN000; | ||
| 760 | CALL SYSDISPMSG ; WGR ;AN000; | ||
| 761 | POP CX ; WGR ;AN000; | ||
| 762 | POP BX ; WGR ;AN000; | ||
| 763 | POP DS ; WGR ;AN000; | ||
| 764 | RET ; WGR ;AN000; | ||
| 765 | ISSUE_MESSAGE ENDP ; | ||
| 766 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 767 | ; | ||
| 768 | ; ISSUE_ERROR_1 | ||
| 769 | ; | ||
| 770 | ; THIS IS USED TO CONSTRUCT AND OUTPUT THE ERROR MESSAGE; | ||
| 771 | ; | ||
| 772 | ; DEVICE_ID + 'code page driver cannot be initialized' | ||
| 773 | ; | ||
| 774 | ; THE DEVICE_ID IS PULLED FROM THE COMMAND_PARSER. IF ONE | ||
| 775 | ; IS NOT DEFINED OR UNREADABLE, THEN A CONDENSED MESSAGE | ||
| 776 | ; WITHOUT THE DEVICE_ID IS USED. | ||
| 777 | ; | ||
| 778 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 779 | |||
| 780 | SUB_SIZE EQU 11 ; WGR sublist size ;AN000; | ||
| 781 | LEFT_ASCIIZ EQU 00010000B ; WGR left-aligned asciiz string ;AN000; | ||
| 782 | UNLIMITED EQU 0 ; WGR unlimited message size. ;AN000; | ||
| 783 | ; WGR ;AN000; | ||
| 784 | SUBLIST LABEL DWORD ; WGR ;AN000; | ||
| 785 | DB SUB_SIZE ; WGR ;AN000; | ||
| 786 | DB 0 ; WGR ;AN000; | ||
| 787 | MSG_PTR DW ? ; WGR ;AN000; | ||
| 788 | MSG_SEG DW SEG CODE ; WGR ;AN000; | ||
| 789 | DB 1 ; WGR ;AN000; | ||
| 790 | DB LEFT_ASCIIZ ; WGR ;AN000; | ||
| 791 | DB UNLIMITED ; WGR ;AN000; | ||
| 792 | DB 1 ; WGR ;AN000; | ||
| 793 | DB " " ; WGR ;AN000; | ||
| 794 | ; | ||
| 795 | ISSUE_ERROR_1 PROC ; | ||
| 796 | PUSH AX ; | ||
| 797 | PUSH BX ; WGR ;AN000; | ||
| 798 | PUSH CX ; | ||
| 799 | PUSH DX ; | ||
| 800 | PUSH SI ; | ||
| 801 | ; | ||
| 802 | MOV SI,[SI].OFFSET_LIST ; POINT TO NAME TO PRINTOUT | ||
| 803 | INC SI ; | ||
| 804 | INC SI ; | ||
| 805 | ; | ||
| 806 | PUSH SI ; | ||
| 807 | MOV CX,8 ; MAX LENGTH OF NAME | ||
| 808 | MOV AL,' ' ; | ||
| 809 | IN_0: CMP [SI],AL ; | ||
| 810 | JBE IN_3 ; | ||
| 811 | INC SI ; | ||
| 812 | LOOP IN_0 ; | ||
| 813 | IN_3: MOV AL,ZERO ; SET 0 TO TERMINATE ASCII STRING | ||
| 814 | MOV [SI],AL ; OVERWRITE LAST BYTE - THIS AFFECTS | ||
| 815 | ; DATA IMMEDIATELY AFTER NAME. NOT | ||
| 816 | ; IMPORTANT SINCE FOLLOWING DATA IS IN | ||
| 817 | ; ERROR | ||
| 818 | POP SI ; GET START OF NAME | ||
| 819 | MOV MSG_PTR,SI ; WGR ;AN000; | ||
| 820 | MOV MSG_SEG,CS ; WGR ;AN000; | ||
| 821 | MOV AX,ERROR_1 ; WGR ;AN000; | ||
| 822 | MOV BX,STDERR ; WGR ;AN000; | ||
| 823 | MOV CX,ONE ; WGR ;AN000; | ||
| 824 | XOR DL,DL ; WGR ;AN000; | ||
| 825 | LEA SI,SUBLIST ; WGR ;AN000; | ||
| 826 | MOV DH,UTILITY_MSG_CLASS ; WGR ;AN000; | ||
| 827 | CALL SYSDISPMSG ; WGR ;AN000; | ||
| 828 | ; WGR ;AN000; | ||
| 829 | POP SI ; | ||
| 830 | POP DX ; | ||
| 831 | POP CX ; | ||
| 832 | POP BX ; WGR ;AN000; | ||
| 833 | POP AX ; | ||
| 834 | RET ; | ||
| 835 | ISSUE_ERROR_1 ENDP ; | ||
| 836 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 837 | ; | ||
| 838 | ; MODIFY_ID_NAME | ||
| 839 | ; | ||
| 840 | ; THE USER NEED ONLY SPECIFY THE CLASS OF THE DISPLAY ADAPTER. | ||
| 841 | ; THE AVAILABLE DESCRIPTIONS ARE 'EGA, LCD, CGA, and MONO'. | ||
| 842 | ; THIS ROUTINE IS USED TO FURTHER DETAIL WHAT TYPE OF 'EGA' | ||
| 843 | ; CLASS. THIS IS USED SPECIFICALLY FOR THE EGA (1501200) ADAPTER | ||
| 844 | ; AND ITS MANY CONFIGURATION SETTINGS. | ||
| 845 | ; | ||
| 846 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 847 | MODIFY_NAME DB "EGA " ; | ||
| 848 | NEW_NAME DB "EGA 14M " ; | ||
| 849 | DB "EGA 14 " ; | ||
| 850 | DB "EGA 8 " ; | ||
| 851 | NUM_NEW_NAME EQU ($-NEW_NAME)/L_ID_NAMES | ||
| 852 | ; | ||
| 853 | NOT_CPS_ID DB OFF ; WGR device id does not support CPS ;AN000; | ||
| 854 | ; | ||
| 855 | MODIFY_ID_NAME PROC ; | ||
| 856 | PUSH DI ; | ||
| 857 | PUSH AX ; | ||
| 858 | PUSH BX ; | ||
| 859 | PUSH CX ; | ||
| 860 | PUSH SI ; | ||
| 861 | ; | ||
| 862 | MOV SI,[SI].OFFSET_LIST ; GET START OF ID_NAME | ||
| 863 | CMP WORD PTR [SI],EIGHT ; WGR ;AN000; | ||
| 864 | JE MIN_00 ; WGR ;AN000; | ||
| 865 | CALL GET_DEVICE_ID ; WGR ;AN000; | ||
| 866 | JNC MIN_00 ; WGR CPS id?...yes continue ;AN000; | ||
| 867 | MOV NOT_CPS_ID,ON ; WGR no....set flag ;AN000; | ||
| 868 | JMP MIN_4 ; WGR exit with carry set ;AN000; | ||
| 869 | MIN_00: ; WGR ;AN000; | ||
| 870 | INC SI ; | ||
| 871 | INC SI ; ADVANCE SI TO POINT TO ID_NAME | ||
| 872 | ; | ||
| 873 | PUSH SI ; MOVE A COPY OF THE NAME TO CPD_CLASS | ||
| 874 | PUSH ES ; BEFORE IT IS Revised.... | ||
| 875 | PUSH CX ; | ||
| 876 | PUSH CS ; | ||
| 877 | POP ES ; | ||
| 878 | MOV CX,L_ID_NAMES ; | ||
| 879 | LEA DI,CPD_CLASS ; | ||
| 880 | REP MOVSB ; | ||
| 881 | POP CX ; | ||
| 882 | POP ES ; | ||
| 883 | POP SI ; | ||
| 884 | ; | ||
| 885 | LEA DI,MODIFY_NAME ; SET COMPARE STRING TO "EGA " | ||
| 886 | ; | ||
| 887 | PUSH DI ; SAVE REGISTERS BETWEEN PASSES | ||
| 888 | PUSH ES ; | ||
| 889 | PUSH SI ; | ||
| 890 | ; | ||
| 891 | PUSH CS ; | ||
| 892 | POP ES ; | ||
| 893 | MOV CX,L_ID_NAMES ; | ||
| 894 | REPE CMPSB ; TEST NAME (ALL 8 BYTES) AGAINST | ||
| 895 | ; THE NEXT NAME! | ||
| 896 | POP SI ; | ||
| 897 | POP ES ; | ||
| 898 | POP DI ; | ||
| 899 | JNE MIN_1 ; THIS MAY NOT BE THE MATCH.... | ||
| 900 | ; | ||
| 901 | CALL ASK_BIOS_FONT_SIZE ; CHECK IF THIS IS AN ADVANCED EGA? | ||
| 902 | JNC MIN_1 ; IF CY=0, THEN ADVANCED...ELSE, | ||
| 903 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 904 | ; | ||
| 905 | ; | ||
| 906 | ; | ||
| 907 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 908 | MOV AH,12H ; SET FOR ALTERNATE SELECT, EGA INFO | ||
| 909 | MOV BL,10H ; | ||
| 910 | INT 10H ; ASK BIOS FOR INFORMATION | ||
| 911 | CMP BL,10H ; (CHECK IF THIS CALL IS INVALID?) | ||
| 912 | JE MIN_4 ; IF BL UNCHANGED, THEN NOT EGA! | ||
| 913 | ; ELSE, CL=SWITCH SETTINGS | ||
| 914 | MOV AX,L_ID_NAMES ; SET DEFAULT SUB-TYPE TO 1ST ENTRY | ||
| 915 | CMP BH,ONE ; IF ZERO THEN COLOUR, IF ONE THEN MONO | ||
| 916 | JE MIN_0 ; | ||
| 917 | ADD AX,L_ID_NAMES ; MOVE TO NEXT SUB-TYPE | ||
| 918 | AND CL,0FH ; STRIP OFF LEADING NIBBLE FROM SWITCH | ||
| 919 | CMP CL,9 ; SETTINGS AND TEST FOR 5154 CONFIG | ||
| 920 | JE MIN_0 ; | ||
| 921 | CMP CL,THREE ; | ||
| 922 | JE MIN_0 ; IF NOT 5154, 5151; THEN MUST BE 5153! | ||
| 923 | ADD AX,L_ID_NAMES ; | ||
| 924 | ; | ||
| 925 | MIN_0: ADD DI,AX ; SET UP INDEX REGISTER TO NEW SUBTYPE | ||
| 926 | PUSH DS ; | ||
| 927 | PUSH ES ; | ||
| 928 | ; | ||
| 929 | PUSH CS ; | ||
| 930 | POP ES ; | ||
| 931 | XCHG SI,DI ; SWITCH SOURCE-DESTINATION REGISTERS | ||
| 932 | MOV CX,L_ID_NAMES ; | ||
| 933 | REP MOVSB ; MOVE IN NEW STRING | ||
| 934 | POP ES ; | ||
| 935 | POP DS ; | ||
| 936 | ; | ||
| 937 | MIN_1: CLC ; | ||
| 938 | JUMP MIN_5 ; | ||
| 939 | MIN_4: STC ; | ||
| 940 | MIN_5: POP SI ; IF NOT FOUND, THEN ERROR... | ||
| 941 | POP CX ; | ||
| 942 | POP BX ; | ||
| 943 | POP AX ; | ||
| 944 | POP DI ; | ||
| 945 | RET ; | ||
| 946 | MODIFY_ID_NAME ENDP ; | ||
| 947 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 948 | ; | ||
| 949 | ; | ||
| 950 | ; | ||
| 951 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 952 | .XLIST | ||
| 953 | MSG_SERVICES <MSGDATA> ; WGR ;AN000; | ||
| 954 | MSG_SERVICES <DISPLAYmsg,LOADmsg,CHARmsg> ; WGR ;AN000; | ||
| 955 | MSG_SERVICES <DISPLAY.CL1> ; WGR ;AN000; | ||
| 956 | MSG_SERVICES <DISPLAY.CL2> ; WGR ;AN000; | ||
| 957 | MSG_SERVICES <DISPLAY.CLA> ; WGR ;AN000; | ||
| 958 | .LIST ; | ||
| 959 | ; | ||
| 960 | include msgdcl.inc ; | ||
| 961 | ; | ||
| 962 | CODE ENDS ; | ||
| 963 | END ; | ||
| 964 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 965 | |||
diff --git a/v4.0/src/DEV/DISPLAY/INT10COM.INC b/v4.0/src/DEV/DISPLAY/INT10COM.INC new file mode 100644 index 0000000..6931ca6 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/INT10COM.INC | |||
| @@ -0,0 +1,1029 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; | ||
| 3 | ; INT10COM.INC | ||
| 4 | ; | ||
| 5 | ; THESE FOLLOWING ROUTINES ARE USED TO LOCATE AND LOAD | ||
| 6 | ; THE FONTS FOR THE SPECIFIED CODE PAGE. IT IS DESIGNED | ||
| 7 | ; TO WORK ON THE FOLLOWING DISPLAY ADAPTERS; | ||
| 8 | ; | ||
| 9 | ; - EGA 1501200 (minimal configuration) no expansion card needed | ||
| 10 | ; - PC Convertible (with LCD display adapter) | ||
| 11 | ; - plus literally a half-dozen code-named unreleased IBM products | ||
| 12 | ; | ||
| 13 | ; SUPPORT FOR THE 'CGA' (Colour Graphics Adapter) and | ||
| 14 | ; 'MONO' (Monochrome/Printer Adapter) IS LIMITED TO THE | ||
| 15 | ; HARDWARE CODE PAGE ONLY (ie. not soft-loadable devices). | ||
| 16 | ; | ||
| 17 | ; PSEUDO CODE: | ||
| 18 | ; =========== | ||
| 19 | ; INT_10_PROC STARTS | ||
| 20 | ; GET MODE (AL=?) | ||
| 21 | ; CALL rom_int_10 | ||
| 22 | ; GET FONT_SIZE | ||
| 23 | ; if FONT_SIZE <> 0FFH | ||
| 24 | ; if FONT_SIZE = available | ||
| 25 | ; GET LOAD_MECHANISM | ||
| 26 | ; if LOAD_MECHANISM = BIOS technique | ||
| 27 | ; CALL LOAD_BIOS_CHAR | ||
| 28 | ; endif | ||
| 29 | ; if LOAD_MECHANISM = VECTOR technique | ||
| 30 | ; CALL LOAD_VECTOR_CHAR | ||
| 31 | ; endif | ||
| 32 | ; endif | ||
| 33 | ; endif | ||
| 34 | ; IRET | ||
| 35 | ; INT_10_PROC ENDS | ||
| 36 | ; | ||
| 37 | ; (C)Copyright 1988 Microsoft | ||
| 38 | ; | ||
| 39 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 40 | IF1 ; | ||
| 41 | %OUT . �INT10COM.INC� | ||
| 42 | ENDIF | ||
| 43 | |||
| 44 | ;Modification history ********************************************************* | ||
| 45 | ;AN001; P1497 Cursor disappearance problem after codepage switch 10/9/87 J.K. | ||
| 46 | ;****************************************************************************** | ||
| 47 | PUBLIC MODE_VALUE ; | ||
| 48 | PUBLIC ROM_INT_10 ; | ||
| 49 | PUBLIC ROM_INT_1F ; | ||
| 50 | PUBLIC OLD_INT_1F ; | ||
| 51 | PUBLIC ROM_INT_44 ; | ||
| 52 | PUBLIC INT_10_COM ; | ||
| 53 | PUBLIC ASK_BIOS_FONT_SIZE ; | ||
| 54 | PUBLIC ASK_BIOS_SCAN_LINES ; | ||
| 55 | ; | ||
| 56 | ROM_INT_10 DW ? ; Int 10H vector offset | ||
| 57 | DW ? ; Int 10H vector segment | ||
| 58 | ROM_INT_1F DW ? ; Int 1FH vector offset | ||
| 59 | DW ? ; Int 1FH vector segment | ||
| 60 | OLD_INT_1F DW ? ; OLD Int 1FH vector offset | ||
| 61 | DW ? ; OLD Int 1FH vector segment | ||
| 62 | ROM_INT_44 DW ? ; Int 44H vector offset | ||
| 63 | DW ? ; Int 44H vector segment | ||
| 64 | MODE_VALUE DB ? ; VALUE OF AL DURING INT 10H (AH=0) | ||
| 65 | BYTES_PER_CHAR DB ? ; VALUE OF BYTES/CHARACTER IN MODES | ||
| 66 | LOAD_MECHANISM DB ? ; SUPPORT SCHEME FOR ACTIVE MODE | ||
| 67 | CHARACTER_SOURCE DB ? ; FLAG TO INDICATE: 0 = HDWR | ||
| 68 | ; 1 = DESG | ||
| 69 | INVALID_MODE EQU 0FFH ; | ||
| 70 | MASK_BIOS_LOAD EQU 00000011b ; | ||
| 71 | MASK_VECTOR_LOAD EQU 00110000B ; | ||
| 72 | MODE_MASK EQU 01111111B ; GHG Emulator Problem | ||
| 73 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 74 | ; | ||
| 75 | ; CONFIGURATION TABLES FOR CHARACTER LOADING | ||
| 76 | ; | ||
| 77 | ; TABLE WILL BE FILLED IN BY INIT.ASM | ||
| 78 | ; | ||
| 79 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 80 | PUBLIC LOAD_MECH ; | ||
| 81 | LOAD_MECH LABEL BYTE ; RESERVE 32 MODE SETTINGS | ||
| 82 | DB 32 DUP(?) ; REFER TO TABLES.INC FOR DETAILS | ||
| 83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 84 | ; | ||
| 85 | ; CONFIGURATION TABLES FOR CHARACTER SIZES | ||
| 86 | ; | ||
| 87 | ; TABLE WILL BE FILLED IN BY INIT.ASM | ||
| 88 | ; | ||
| 89 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 90 | PUBLIC FONT_SIZE ; | ||
| 91 | FONT_SIZE LABEL BYTE ; RESERVE 32 MODE SETTINGS | ||
| 92 | DB 32 DUP(?) ; REFER TO TABLES.INC FOR DETAILS | ||
| 93 | NUM_FONT_SIZES EQU ($-FONT_SIZE) ; | ||
| 94 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 95 | ; | ||
| 96 | ; INTERRUPT 10H SUPPORT CODE | ||
| 97 | ; | ||
| 98 | ; THE INIT ROUTINE WILL INSTALL THIS CODE INTO THE | ||
| 99 | ; INTERRUPT 10H VIDEO BIOS CALL. IT CHAINS TO THE | ||
| 100 | ; LOWER LEVEL (usually BIOS for Device Drivers). | ||
| 101 | ; | ||
| 102 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 103 | INT_10_COM PROC FAR ; | ||
| 104 | STI ; | ||
| 105 | OR AH,AH ; TEST THE SUBFUNCTION CALL=0 | ||
| 106 | JE INT_1 ; RESERVED FOR THE COM PATH! | ||
| 107 | JMP DWORD PTR CS:ROM_INT_10 ; | ||
| 108 | ; | ||
| 109 | INT_1: ; | ||
| 110 | PUSHF ; PREPARE FOR IRET! | ||
| 111 | CALL DWORD PTR CS:ROM_INT_10 ; call routine to handle the command | ||
| 112 | PUSH AX ; | ||
| 113 | PUSH BX ; WGR ;AN000; | ||
| 114 | MOV AH,GET_MODE ; WGR get actual mode set ;AN000; | ||
| 115 | PUSHF ; WGR ;AN000; | ||
| 116 | CALL DWORD PTR CS:ROM_INT_10 ; WGR ;AN000; | ||
| 117 | MOV CS:MODE_VALUE,AL ; SAVE MODE_VALUE BEFORE CALL | ||
| 118 | and CS:MODE_VALUE,mode_mask ; GHG Emulator Problem..... | ||
| 119 | POP BX ; WGR ;AN000; | ||
| 120 | ; | ||
| 121 | CALL TEST_CP ; FIND OUT IF CP CAN BE SUPPORTED? | ||
| 122 | JNC INT_2 ; | ||
| 123 | ; | ||
| 124 | MOV CS:CHARACTER_SOURCE,0 ; IF AN ERROR OCCURRED IN FINDING THE | ||
| 125 | MOV AL,INTER_1FH ; FONT DATA INFORMATION...THEN THE | ||
| 126 | CALL VECTOR_LOAD ; INTERRUPT 1F hex VECTOR MUST BE | ||
| 127 | JUMP INT_3 ; SET TO THE HDWR CP - ELSE WRONG | ||
| 128 | ; DATA MAY BE DISPLAYED | ||
| 129 | INT_2: MOV CS:SETMODE_FLAG,OFF ; WGR ;AN000; | ||
| 130 | CALL INVOKE_DATA ; IF SO, THEN LOAD THE DATA | ||
| 131 | INT_3: POP AX ; | ||
| 132 | ; | ||
| 133 | IRET ; | ||
| 134 | INT_10_COM ENDP ; | ||
| 135 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 136 | ; | ||
| 137 | ; SET BLOCK SPECIFIER = 0 | ||
| 138 | ; | ||
| 139 | ; THIS IS USED TO ACTIVATE BLOCK = 0 FONT. THIS PERFORMS | ||
| 140 | ; DIFFERENT OPERATIONS ON VARIOUS DISPLAY ADAPTERS. THE | ||
| 141 | ; RESULTS OF WHICH ARE TO ACTIVATE THE DESIGNATED FONT. | ||
| 142 | ; | ||
| 143 | ; INPUT: | ||
| 144 | ; none | ||
| 145 | ; OUTPUT: | ||
| 146 | ; none | ||
| 147 | ; | ||
| 148 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 149 | SET_BLOCK_SP0 PROC ; | ||
| 150 | PUSH AX ; | ||
| 151 | PUSH BX ; | ||
| 152 | MOV AX,1103H ; SET BLOCK SPECIFIER | ||
| 153 | MOV BL,ZERO ; CHAR GEN BLOCK SPECIFIER | ||
| 154 | INT 10H ; PERFORM CALL... | ||
| 155 | POP BX ; | ||
| 156 | POP AX ; | ||
| 157 | RET ; | ||
| 158 | SET_BLOCK_SP0 ENDP ; | ||
| 159 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 160 | ; | ||
| 161 | ; FIND_FONT | ||
| 162 | ; | ||
| 163 | ; THE ROUTINE STARTS WITH THE FONT DATA POINTER, AND | ||
| 164 | ; TRIES TO FIND THE FONT RESOLUTION THAT IS NEEDED. | ||
| 165 | ; THIS FONT RESOLUTION IS BASED ON THE PRESENT SCREEN | ||
| 166 | ; MODE WHICH IS ACTIVE. | ||
| 167 | ; | ||
| 168 | ; INPUT: | ||
| 169 | ; ES : DI points to beginning | ||
| 170 | ; of font data | ||
| 171 | ; OUTPUT: | ||
| 172 | ; ES : DI points to font data | ||
| 173 | ; for needed resolution | ||
| 174 | ; CY = 0 if found | ||
| 175 | ; = 1 if not found | ||
| 176 | ; | ||
| 177 | ; DS = CS assumed | ||
| 178 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 179 | FIND_FONT PROC ; | ||
| 180 | PUSH AX ; | ||
| 181 | PUSH CX ; | ||
| 182 | PUSH DX ; | ||
| 183 | ; | ||
| 184 | MOV CX,CPD_FONTS_N ; GET NUMBER OF FONT STYLES | ||
| 185 | FF_0: MOV AH,BYTES_PER_CHAR ; GET BYTES_PER_CHAR FOR COMPARISON | ||
| 186 | ; | ||
| 187 | MOV AL,ES:[DI] ; GET #ROWS OF POINTED DATA | ||
| 188 | CMP AL,AH ; COMPARE BYTES_PER_CHAR AGAINST #ROWS | ||
| 189 | JE FF_3 ; IF MATCHED...THEN ADJUST ES:DI (CY=0) | ||
| 190 | ; | ||
| 191 | PUSH CX ; ELSE, MOVE ES:DI TO NEXT FONT START | ||
| 192 | MOV CX,ES:[DI+4] ; GET count OF CHARACTERS IN LIST | ||
| 193 | XOR AH,AH ; PREPARE AX FOR MULT | ||
| 194 | MUL CX ; CALCULATE DELTA TO NEXT FONT START | ||
| 195 | POP CX ; | ||
| 196 | ; | ||
| 197 | ADD AX,SIX ; ADD FONT STYLE HEADER OF SIX BYTES | ||
| 198 | ADD DI,AX ; ADJUST THE DI POINTER | ||
| 199 | ; THERE CAN BE NO CARRY DUE TO STRUCTURE | ||
| 200 | LOOP FF_0 ; OF FONT DATA (ie. no straddling) | ||
| 201 | STC ; | ||
| 202 | JUMP FF_4 ; | ||
| 203 | FF_3: ADD DI,SIX ; POINT TO VERY START OF DATA | ||
| 204 | CLC ; SET FLAG TO OK! | ||
| 205 | FF_4: POP DX ; | ||
| 206 | POP CX ; | ||
| 207 | POP AX ; | ||
| 208 | RET ; | ||
| 209 | FIND_FONT ENDP ; | ||
| 210 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 211 | ; | ||
| 212 | ; BIOS_LOAD | ||
| 213 | ; | ||
| 214 | ; THIS CALL IS USED TO LOAD THE ACTIVE CP. IT LOADS | ||
| 215 | ; THE ACTIVE CP WHETHER IT IS DESIGNATED OR HDWR. THE | ||
| 216 | ; ACTUAL LOADING OF THE FONT IS PERFORMED BY THE 'EGA CLASS' | ||
| 217 | ; BIOS ROUTINES (different for some adapters). | ||
| 218 | ; | ||
| 219 | ; INPUT: | ||
| 220 | ; AL = ? load mechanism | ||
| 221 | ; | ||
| 222 | ; 7 6 5 4 3 2 1 0 | ||
| 223 | ; 0 0 0 0 0 0 x x | ||
| 224 | ; � ��� 1 - AX=1100H | ||
| 225 | ; ����� 1 = AX=1400H | ||
| 226 | ; | ||
| 227 | ; ES : DI points to start of font data | ||
| 228 | ; CX = ? count of characters to load | ||
| 229 | ; BH = bytes per character | ||
| 230 | ; DS = CS assumed... | ||
| 231 | ; | ||
| 232 | ; OUTPUT: | ||
| 233 | ; none | ||
| 234 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 235 | AX_1100H EQU 00000001b ; | ||
| 236 | AX_1400H EQU 00000010b ; | ||
| 237 | EGA_INFO EQU 0487H ; ADDRESS OF INFO BYTE | ||
| 238 | EGA_ACTIVE EQU 00001000b ; MASK FOR EGA_ACTIVE/NON-ACTIVE | ||
| 239 | ; | ||
| 240 | BIOS_LOAD PROC ; | ||
| 241 | CALL GET_CURSOR_POS ; ONE MUST RECORD THE CURSOR POS DURING | ||
| 242 | ; A FONT LOAD...ELSE CURSOR TO (1,1) | ||
| 243 | PUSH BX ; | ||
| 244 | PUSH DX ; | ||
| 245 | ; | ||
| 246 | MOV DX,ZERO ; CHARACTER OFFSET INTO TABLE | ||
| 247 | MOV BL,ZERO ; BLOCK TO LOAD (Block=0) | ||
| 248 | ; | ||
| 249 | TEST AL,AX_1100H ; DETERMINE IF EGA_TYPE LOAD? | ||
| 250 | JNZ BL_00 ; IF NOT, THEN TRY FOR LCD_TYPE... | ||
| 251 | JMP BL_3 ; | ||
| 252 | ; | ||
| 253 | BL_00: PUSH BP ; SAVE REGISTERS TO BE USED | ||
| 254 | PUSH AX ; | ||
| 255 | CMP CHARACTER_SOURCE,ZERO ; TEST IF CP = HDWR | ||
| 256 | JE BL_0 ; | ||
| 257 | ; | ||
| 258 | MOV BP,DI ; POINTER TO USER TABLE (ES:BP) | ||
| 259 | MOV AX,1100H ; USER ALPHA LOAD | ||
| 260 | JUMP BL_2 ; | ||
| 261 | ; | ||
| 262 | BL_0: MOV AX,1102H ; ROM 8X8 DOUBLE DOT | ||
| 263 | CMP BYTES_PER_CHAR,8 ; | ||
| 264 | JE BL_2 ; | ||
| 265 | BL_1: MOV AL,01H ; ROM MONOCHROME SET | ||
| 266 | CMP BYTES_PER_CHAR,14 ; | ||
| 267 | JE BL_2 ; | ||
| 268 | MOV AL,04H ; ROM 8X16 SET | ||
| 269 | CMP BYTES_PER_CHAR,16 ; | ||
| 270 | JE BL_2 ; | ||
| 271 | JUMP BL_2A ; PERFORM BIOS CALL... | ||
| 272 | ; | ||
| 273 | BL_2: PUSH DS ; THIS TEST VERIFIES THAT THE EGA | ||
| 274 | PUSH AX ; ADAPTER IS PRESENTLY ACTIVE. | ||
| 275 | XOR AX,AX ; IF IT IS NOT, THEN THE EGA WILL | ||
| 276 | MOV DS,AX ; REPROGRAM THE ACTIVE CRT TO THE EGA | ||
| 277 | MOV AL,DS:EGA_INFO ; SPECIFICATION....HAZARDOUS RESULTS! | ||
| 278 | AND AL,EGA_ACTIVE ; MASK FOR EGA ACTIVE/NON-ACTIVE | ||
| 279 | POP AX ; | ||
| 280 | POP DS ; | ||
| 281 | ; | ||
| 282 | JZ BL_2AA ; IF ZERO, THE EGA IS ACTIVE...AND OK! | ||
| 283 | STC ; ELSE, EGA IS NOT ACTIVE | ||
| 284 | POP AX ; | ||
| 285 | POP BP ; AND WE MUST | ||
| 286 | JUMP BL_7 ; LEAVE WITH AN ERROR.... | ||
| 287 | ; | ||
| 288 | BL_2AA: | ||
| 289 | CMP CS:SETMODE_FLAG,OFF ; WGR MODE SET REQUIRED?.. ;AN000; | ||
| 290 | JE BL_2B ; WGR NO...JUMP TO CHARACTER LOAD. ;AN000; | ||
| 291 | PUSH AX ; WGR ;AN000; | ||
| 292 | PUSH DS ; WGR ;AN000; | ||
| 293 | XOR AX,AX ; WGR ;AN000; | ||
| 294 | MOV DS,AX ; WGR ;AN000; | ||
| 295 | PUSH DS:[VIDEO_CTRL] ; WGR ;AN000; | ||
| 296 | MOV AL,CS:MODE_VALUE ; WGR GET CURRENT MODE ;AN000; | ||
| 297 | OR AL,NOT MODE_MASK ; WGR MODE SET WITHOUT BUFFER CLEARED ;AN000; | ||
| 298 | |||
| 299 | call Info_Ansi_ModeSet ;J.K.Tell ANSI that DISPLAY.SYS is going to call INT 10h, SET MODE function. | ||
| 300 | |||
| 301 | XOR AH,AH ; WGR MODE SET CALL.. ;AN000; | ||
| 302 | PUSHF ; WGR ;AN000; | ||
| 303 | CALL DWORD PTR CS:ROM_INT_10 ; WGR ;AN000; | ||
| 304 | |||
| 305 | call Info_Ansi_ModeDone ;J.K.Tell ANSI that it is through. | ||
| 306 | |||
| 307 | POP DS:[VIDEO_CTRL] ; WGR ;AN000; | ||
| 308 | POP DS ; WGR ;AN000; | ||
| 309 | POP AX ; WGR ;AN000; | ||
| 310 | BL_2B: ; WGR WAS ISSUED (BY ME) ;AN000; | ||
| 311 | OR AX,CS:RE_CALC ; WGR INCASE RECALC IS NEEDED. ;AN000; | ||
| 312 | INT 10H ; | ||
| 313 | ;AN001; EGA ROM BIOS has a bug when AX=1110h, INT 10h is issued. | ||
| 314 | ; Cursor type is changed to 0C0Dh which causes the cursor to | ||
| 315 | ; disappear!!! | ||
| 316 | ; We are going to set Cursor type back to 0607h for EGA. | ||
| 317 | |||
| 318 | cmp ax, 1110h ;AN001; | ||
| 319 | jne Skip_Cursor_Problem ;AN001; | ||
| 320 | push cx ;AN001; | ||
| 321 | mov ah, 1 ;AN001; | ||
| 322 | mov cx, 0607h ;AN001; | ||
| 323 | int 10h ;AN001; | ||
| 324 | pop cx ;AN001; | ||
| 325 | |||
| 326 | Skip_Cursor_Problem: | ||
| 327 | MOV CS:RE_CALC,OFF ; WGR RESET RE_CALC VALUE ;AN000; | ||
| 328 | CALL SET_BLOCK_SP0 ; AND THEN SET_BLOCK_SPECIFIER (0) | ||
| 329 | BL_2A: POP AX ; | ||
| 330 | POP BP ; | ||
| 331 | ; | ||
| 332 | BL_3: TEST AL,AX_1400H ; | ||
| 333 | JZ BL_6 ; | ||
| 334 | ; | ||
| 335 | PUSH AX ; SAVE INDICATOR | ||
| 336 | ; | ||
| 337 | CMP CHARACTER_SOURCE,ZERO ; TEST IF CP = HDWR | ||
| 338 | JE BL_4 ; | ||
| 339 | ; | ||
| 340 | MOV AX,1400H ; LOAD USER SPECIFIED FONT | ||
| 341 | JUMP BL_5 ; | ||
| 342 | ; | ||
| 343 | BL_4: MOV AX,1401H ; ASK FOR ROM LOAD FONT | ||
| 344 | MOV BL,ZERO ; | ||
| 345 | BL_5: INT 10H ; PERFORM THE LOAD! | ||
| 346 | CALL SET_BLOCK_SP0 ; AND ALSO DO THE SET BLOCK SPECIFIER | ||
| 347 | POP AX ; | ||
| 348 | ; | ||
| 349 | BL_6: CLC ; | ||
| 350 | BL_7: POP DX ; | ||
| 351 | POP BX ; | ||
| 352 | ; | ||
| 353 | CALL SET_CURSOR_POS ; RESTORE THE CURSOR POSITION | ||
| 354 | RET ; | ||
| 355 | BIOS_LOAD ENDP ; | ||
| 356 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 357 | ; | ||
| 358 | ; ASK_BIOS_INFO | ||
| 359 | ; | ||
| 360 | ; THIS ROUTINE IS DESIGNED TO MAKE USE OF THE NEW BIOS | ||
| 361 | ; CALL IN THE '???????' AND FOLLOW-ONS. REFER TO THE | ||
| 362 | ; 'Personal Systems Architecture' DCR #405 (written | ||
| 363 | ; by DD). IF THIS SUPPORT IS NOT FOUND ON THE | ||
| 364 | ; DISPLAY ADAPTER, THEN THE CARRY FLAG IS SET! | ||
| 365 | ; | ||
| 366 | ; INPUT: | ||
| 367 | ; none | ||
| 368 | ; OUTPUT: | ||
| 369 | ; CY = 0 if found | ||
| 370 | ; 1 if not supported | ||
| 371 | ; | ||
| 372 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 373 | RETURN_INFO LABEL BYTE ; | ||
| 374 | DW ? ; OFFSET TO STATIC FUNCTIONALITY INFO | ||
| 375 | DW ? ; SEGMENT TO STATIC FUNCTIONALITY INFO | ||
| 376 | DB ? ; VIDEO MODE | ||
| 377 | DW ? ; COLUMNS ON SCREEN | ||
| 378 | DW ? ; LEN OF REGEN BUFFER | ||
| 379 | DW ? ; START ADDRESS IN REGEN BUFFER | ||
| 380 | DW ? ; CURSOR POSITION OF PAGE #0 | ||
| 381 | DW ? ; CURSOR POSITION OF PAGE #1 | ||
| 382 | DW ? ; CURSOR POSITION OF PAGE #2 | ||
| 383 | DW ? ; CURSOR POSITION OF PAGE #3 | ||
| 384 | DW ? ; CURSOR POSITION OF PAGE #4 | ||
| 385 | DW ? ; CURSOR POSITION OF PAGE #5 | ||
| 386 | DW ? ; CURSOR POSITION OF PAGE #6 | ||
| 387 | DW ? ; CURSOR POSITION OF PAGE #7 | ||
| 388 | DW ? ; CURSOR MODE SETTING | ||
| 389 | DB ? ; ACTIVE DISPLAY PAGE | ||
| 390 | DW ? ; CRT CONTROLLER ADDRESS | ||
| 391 | DB ? ; CRT_MODE_SET | ||
| 392 | DB ? ; CRT_PALETTE | ||
| 393 | DB ? ; ROWS ON SCREEN | ||
| 394 | CHAR_H LABEL WORD ; | ||
| 395 | DW ? ; CHARACTER HEIGHT | ||
| 396 | DB ? ; DISPLAY COMBINATION (ACTIVE) | ||
| 397 | DB ? ; DISPLAY COMBINATION (ALTERNATE) | ||
| 398 | L_RET_INFO EQU ($-RETURN_INFO) ; | ||
| 399 | DB (40h-L_RET_INFO) DUP (?) ; REMAINING DATA.... | ||
| 400 | ; | ||
| 401 | STATIC_INFO STRUC ; | ||
| 402 | DB ? ; VIDEO MODES (part 1) | ||
| 403 | DB ? ; VIDEO MODES (part 2) | ||
| 404 | DB ? ; VIDEO MODES (part 3) | ||
| 405 | DB ? ; RESERVED | ||
| 406 | DB ? ; RESERVED | ||
| 407 | DB ? ; RESERVED | ||
| 408 | DB ? ; RESERVED | ||
| 409 | SI_LINE DB ? ; SCAN LINES AVAILABLE IN TEXT MODES | ||
| 410 | STATIC_INFO ENDS ; | ||
| 411 | ; | ||
| 412 | ASK_BIOS_INFO PROC ; | ||
| 413 | PUSH ES ; | ||
| 414 | PUSH DI ; | ||
| 415 | PUSH BX ; | ||
| 416 | PUSH AX ; | ||
| 417 | ; | ||
| 418 | MOV AX,1B00H ; BIOS CALL FOR 'EGA +' INFORMATION | ||
| 419 | MOV BX,0 ; | ||
| 420 | MOV DI,OFFSET RETURN_INFO ; SETUP THE RETURN ADDRESS (above) | ||
| 421 | PUSH CS ; | ||
| 422 | POP ES ; | ||
| 423 | INT 10H ; | ||
| 424 | ; | ||
| 425 | CMP AL,1BH ; IF AL <> 1BH, THEN ADAPTER DOES | ||
| 426 | JNZ ABI_3 ; NOT SUPPORT THIS CALL...EXIT w/ERROR | ||
| 427 | CLC ; | ||
| 428 | JUMP ABI_4 ; ELSE, LEAVE w/o ERROR | ||
| 429 | ; WITH THE TABLE ALL FILLED IN.... | ||
| 430 | ABI_3: STC ; | ||
| 431 | ABI_4: POP AX ; | ||
| 432 | POP BX ; | ||
| 433 | POP DI ; | ||
| 434 | POP ES ; | ||
| 435 | RET ; | ||
| 436 | ASK_BIOS_INFO ENDP ; | ||
| 437 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 438 | ; | ||
| 439 | ; ASK_BIOS_FONT_SIZE | ||
| 440 | ; | ||
| 441 | ; THIS ROUTINE RETURNS THE PRESENT FONT RESOLUTION. | ||
| 442 | ; IT IS SUPPORTED VIA THE ENHANCED INT 10H BIOS CALL. | ||
| 443 | ; REFER TO THE 'ASK_BIOS_INFO' FOR DETAILS. | ||
| 444 | ; | ||
| 445 | ; INPUT: | ||
| 446 | ; none | ||
| 447 | ; OUTPUT: | ||
| 448 | ; AL = bytes/character | ||
| 449 | ; CY = 0 if found | ||
| 450 | ; 1 if not supported (and AL = unchanged) | ||
| 451 | ; | ||
| 452 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 453 | ASK_BIOS_FONT_SIZE PROC ; | ||
| 454 | PUSH BX ; | ||
| 455 | CALL ASK_BIOS_INFO ; | ||
| 456 | JC ABFS_1 ; | ||
| 457 | MOV BX,CHAR_H ; | ||
| 458 | MOV AL,BL ; | ||
| 459 | CMP AL,ZERO ; PERFORM CHECK FOR BIOS ERROR! | ||
| 460 | JNZ ABFS_0 ; | ||
| 461 | STC ; | ||
| 462 | JUMP ABFS_1 ; | ||
| 463 | ABFS_0: CLC ; | ||
| 464 | ABFS_1: POP BX ; | ||
| 465 | RET ; | ||
| 466 | ASK_BIOS_FONT_SIZE ENDP ; | ||
| 467 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 468 | ; | ||
| 469 | ; ASK_BIOS_SCAN_LINES | ||
| 470 | ; | ||
| 471 | ; THIS IS SIMILAR TO THE ASK_BIOS_FONT_SIZE, EXCEPT IT | ||
| 472 | ; WILL RETURN THE AVAILABLE VERTICAL SCAN LINES FOR ALL | ||
| 473 | ; TEXT MODES. REFER TO REFERENCED DCR #405. | ||
| 474 | ; | ||
| 475 | ; INPUT: | ||
| 476 | ; none | ||
| 477 | ; OUTPUT: | ||
| 478 | ; AL = encoded SCAN LINES (in text modes) | ||
| 479 | ; CY = 0 if found | ||
| 480 | ; 1 if not supported | ||
| 481 | ; | ||
| 482 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 483 | ASK_BIOS_SCAN_LINES PROC ; | ||
| 484 | CALL ASK_BIOS_INFO ; ASK BIOS FOR DETAILED INFO... | ||
| 485 | JC ABSL_0 ; IF CY = 1, THEN BIOS NOT SMART ENOUGH! | ||
| 486 | PUSH BX ; | ||
| 487 | PUSH SI ; | ||
| 488 | PUSH ES ; | ||
| 489 | LEA SI,RETURN_INFO ; GET POINTERS TO STATIC TABLE.... | ||
| 490 | MOV BX,CS:[SI+2] ; GET STATIC INFO SEGMENT | ||
| 491 | MOV ES,BX ; & | ||
| 492 | MOV SI,CS:[SI] ; GET STATIC INFO OFFSET | ||
| 493 | MOV AL,ES:[SI].SI_LINE ; THEN, FINALLY THE ENCODED SCAN_LINES | ||
| 494 | POP ES ; | ||
| 495 | POP SI ; | ||
| 496 | POP BX ; | ||
| 497 | ABSL_0: RET ; | ||
| 498 | ASK_BIOS_SCAN_LINES ENDP ; | ||
| 499 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 500 | ; | ||
| 501 | ; VECTOR_LOAD | ||
| 502 | ; | ||
| 503 | ; THIS ROUTINE WORKS SIMILARLY TO THE BIOS_LOAD, EXCEPT THAT | ||
| 504 | ; THE FONT SUPPORT IS LOADED VIA A VECTOR MECHANISM...RATHER | ||
| 505 | ; THAN USING BIOS. THE BIOS_LOAD METHOD IS USED EXCLUSIVELY | ||
| 506 | ; FOR TEXT MODES ONLY....WHILE THE VECTOR_LOAD IS FOR APA | ||
| 507 | ; (all points addressable). | ||
| 508 | ; | ||
| 509 | ; THE VECTOR SUPPORT IS BASED ON THE INTERRUPT VECTORS 1F hex | ||
| 510 | ; AND 43 hex. THE INTERRUPT 1F hex HAS SPECIAL CONSIDERATIONS | ||
| 511 | ; DUE TO THE 'GRAFTABL.COM' PROGRAM PROVIDED ON DOS. REFER | ||
| 512 | ; TO THE 'CPS DESIGN DOCUMENT' (written by IBM Canada Lab) FOR | ||
| 513 | ; DETAILS. | ||
| 514 | ; | ||
| 515 | ; INPUT: | ||
| 516 | ; AL = ? load mechanism | ||
| 517 | ; | ||
| 518 | ; 7 6 5 4 3 2 1 0 | ||
| 519 | ; x x x x 0 0 0 0 | ||
| 520 | ; � ����������� 1 = INT 1FH | ||
| 521 | ; ������������� 1 = INT 43H | ||
| 522 | ; 1 = int 1FH special handling | ||
| 523 | ; | ||
| 524 | ; | ||
| 525 | ; ES : DI points to start of font data | ||
| 526 | ; CX = ? count of characters to load | ||
| 527 | ; BH = bytes per character | ||
| 528 | ; | ||
| 529 | ; DS = CS assumed | ||
| 530 | ; | ||
| 531 | ; *********************************************************** | ||
| 532 | ; ************** SCHEDULED FOR OPTIMIZATION ***************** | ||
| 533 | ; *********************************************************** | ||
| 534 | ; | ||
| 535 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 536 | VECTOR_MODE DB ? ; | ||
| 537 | INTER_43H EQU 00100000b ; | ||
| 538 | INTER_1FH EQU 00010000b ; | ||
| 539 | LCD_1FH EQU 01000000b ; | ||
| 540 | INTER_44H EQU 10000000b ; | ||
| 541 | ; | ||
| 542 | VECTOR_LOAD PROC ; | ||
| 543 | TEST AL,INTER_1FH ; CHECK IF ANY INTERRUPT 1FH PROCESSING | ||
| 544 | JNZ VL_00 ; IS NEEDED. | ||
| 545 | JUMP VL_3 ; IS NEEDED. | ||
| 546 | ; | ||
| 547 | VL_00: MOV CS:VECTOR_MODE,AL ; | ||
| 548 | PUSH AX ; SAVE AX REGISTER.... | ||
| 549 | MOV AX,0B000H ; INTERFACE CALL TO GRAFTABL TO SEE | ||
| 550 | INT 2FH ; IF SUPPORT IS LOADED. | ||
| 551 | CMP AL,0FFH ; IF SO, THEN EXIT! | ||
| 552 | POP AX ; RESTORE AX REGISTER.. | ||
| 553 | JNE VL_2AA ; IF NOT 0FFH=AL, THEN NOT LOADED! | ||
| 554 | JUMP VL_3 ; EXIT, GRAFTABL HAS CONTROL | ||
| 555 | ; | ||
| 556 | VL_2AA: CMP CHARACTER_SOURCE,0 ; TEST IF CP = HDWR | ||
| 557 | JE VL_1 ; | ||
| 558 | ; | ||
| 559 | PUSH DS ; | ||
| 560 | PUSH AX ; | ||
| 561 | XOR AX,AX ; | ||
| 562 | MOV DS,AX ; | ||
| 563 | MOV AX,DI ; PUT DI INTO AX FOR ADJUSTMENT | ||
| 564 | ADD AX,8*128 ; | ||
| 565 | ; | ||
| 566 | CLI ; | ||
| 567 | MOV DS:WORD PTR INT_1F_LOW,AX; SET THE HIGH 128 CHARACTERS | ||
| 568 | MOV DS:WORD PTR INT_1F_HI,ES; | ||
| 569 | STI ; | ||
| 570 | MOV CS:OLD_INT_1F,AX ; SAVE VALUE TO INTERNAL STORAGE | ||
| 571 | MOV CS:OLD_INT_1F+2,ES ; | ||
| 572 | POP AX ; | ||
| 573 | POP DS ; | ||
| 574 | JUMP VL_3 ; | ||
| 575 | ; | ||
| 576 | VL_1: TEST CS:VECTOR_MODE,LCD_1FH ; CHECK IF LCD ACTIVE | ||
| 577 | JZ VL_11A ; | ||
| 578 | ; | ||
| 579 | PUSH DS ; SET INT 44 hex WITH HDWR CP | ||
| 580 | PUSH DI ; | ||
| 581 | PUSH AX ; | ||
| 582 | XOR AX,AX ; | ||
| 583 | MOV DS,AX ; | ||
| 584 | CLI ; | ||
| 585 | MOV DI,CS:ROM_INT_1F ; | ||
| 586 | MOV DS:WORD PTR INT_1F_LOW,DI; SET NEW VECTOR | ||
| 587 | MOV CS:OLD_INT_1F,DI ; SAVE VALUE TO INTERNAL STORAGE | ||
| 588 | MOV DI,CS:ROM_INT_1F+2 ; | ||
| 589 | MOV DS:WORD PTR INT_1F_HI,DI; | ||
| 590 | MOV CS:OLD_INT_1F+2,DI ; | ||
| 591 | STI ; | ||
| 592 | POP AX ; | ||
| 593 | POP DI ; | ||
| 594 | POP DS ; | ||
| 595 | JUMP VL_3 ; | ||
| 596 | ; | ||
| 597 | VL_11A: PUSH ES ; SET INT 1F hex WITH HDWR CP | ||
| 598 | PUSH DS ; | ||
| 599 | PUSH BP ; | ||
| 600 | PUSH AX ; | ||
| 601 | PUSH BX ; | ||
| 602 | PUSH CX ; | ||
| 603 | PUSH DX ; | ||
| 604 | MOV AX,1130H ; GET EGA INFORMATION | ||
| 605 | MOV BH,4 ; GET ROM DOUBLE DOT PTR (TOP) | ||
| 606 | INT 10H ; | ||
| 607 | XOR AX,AX ; | ||
| 608 | MOV DS,AX ; | ||
| 609 | CLI ; | ||
| 610 | MOV DS:WORD PTR INT_1F_LOW,BP; SET THE HIGH 128 CHARACTERS | ||
| 611 | MOV DS:WORD PTR INT_1F_HI,ES; | ||
| 612 | STI ; | ||
| 613 | MOV CS:OLD_INT_1F,BP ; SAVE VALUE TO INTERNAL STORAGE | ||
| 614 | MOV CS:OLD_INT_1F+2,ES ; | ||
| 615 | POP DX ; | ||
| 616 | POP CX ; | ||
| 617 | POP BX ; | ||
| 618 | POP AX ; | ||
| 619 | POP BP ; | ||
| 620 | POP DS ; | ||
| 621 | POP ES ; | ||
| 622 | ; | ||
| 623 | VL_3: TEST AL,INTER_43H ; | ||
| 624 | JZ VL_8 ; | ||
| 625 | ; | ||
| 626 | CMP CHARACTER_SOURCE,0 ; TEST IF CP = HDWR | ||
| 627 | JE VL_5 ; | ||
| 628 | ; | ||
| 629 | PUSH DS ; SET INT 43 hex WITH USER TABLE | ||
| 630 | PUSH AX ; | ||
| 631 | XOR AX,AX ; | ||
| 632 | MOV DS,AX ; | ||
| 633 | CLI ; | ||
| 634 | MOV DS:WORD PTR INT_43_LOW,DI; | ||
| 635 | MOV DS:WORD PTR INT_43_HI,ES; | ||
| 636 | STI ; | ||
| 637 | POP AX ; | ||
| 638 | POP DS ; | ||
| 639 | JUMP VL_9 ; | ||
| 640 | ; | ||
| 641 | VL_5: PUSH BX ; SET INT 43 hex WITH HDWR CP | ||
| 642 | MOV BH,3 ; RETURN ROM DOUBLE DOT PTR | ||
| 643 | CMP BYTES_PER_CHAR,8 ; WORK FOR HARDWARE CP's | ||
| 644 | JE VL_6 ; | ||
| 645 | ; | ||
| 646 | MOV BH,2 ; RETURN ROM 8X14 PTR | ||
| 647 | CMP BYTES_PER_CHAR,14 ; | ||
| 648 | JE VL_6 ; | ||
| 649 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 650 | ; THIS IS BH=6 (??????? WAS IN ERROR). THE ?????? HAS | ||
| 651 | ; THE LATEST FIX SUPPORT. | ||
| 652 | ; | ||
| 653 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 654 | MOV BH,6 ; SET FOR ROM 8X16 PTR | ||
| 655 | CMP BYTES_PER_CHAR,16 ; | ||
| 656 | JNE VL_7 ; | ||
| 657 | ; | ||
| 658 | VL_6: PUSH AX ; YES, ONCE AGAIN, SAVE THOSE REG'ies | ||
| 659 | PUSH CX ; | ||
| 660 | PUSH DX ; | ||
| 661 | PUSH DS ; | ||
| 662 | PUSH ES ; | ||
| 663 | PUSH BP ; | ||
| 664 | MOV AX,1130H ; GET EGA INFORMATION (PTR=ES:DI) | ||
| 665 | INT 10H ; | ||
| 666 | XOR AX,AX ; | ||
| 667 | MOV DS,AX ; | ||
| 668 | CLI ; | ||
| 669 | MOV DS:WORD PTR INT_43_LOW,BP; SET THE FULL CHARACTER SET | ||
| 670 | MOV DS:WORD PTR INT_43_HI,ES; | ||
| 671 | STI ; | ||
| 672 | POP BP ; | ||
| 673 | POP ES ; | ||
| 674 | POP DS ; | ||
| 675 | POP DX ; | ||
| 676 | POP CX ; | ||
| 677 | POP AX ; | ||
| 678 | VL_7: POP BX ; | ||
| 679 | ; | ||
| 680 | VL_8: TEST AL,INTER_44H ; Test for INTERRUPT 44 Hex | ||
| 681 | JZ VL_9 ; | ||
| 682 | ; | ||
| 683 | CMP CHARACTER_SOURCE,0 ; TEST IF CP = HDWR | ||
| 684 | JE VL_8A ; | ||
| 685 | ; | ||
| 686 | PUSH DS ; SET INT 43 hex WITH USER TABLE | ||
| 687 | PUSH AX ; | ||
| 688 | XOR AX,AX ; | ||
| 689 | MOV DS,AX ; | ||
| 690 | CLI ; | ||
| 691 | MOV DS:WORD PTR INT_44_LOW,DI; | ||
| 692 | MOV DS:WORD PTR INT_44_HI,ES; | ||
| 693 | STI ; | ||
| 694 | POP AX ; | ||
| 695 | POP DS ; | ||
| 696 | JUMP VL_9 ; | ||
| 697 | ; | ||
| 698 | VL_8A: PUSH DS ; SET INT 44 hex WITH HDWR CP | ||
| 699 | PUSH DI ; | ||
| 700 | PUSH AX ; | ||
| 701 | XOR AX,AX ; | ||
| 702 | MOV DS,AX ; | ||
| 703 | CLI ; | ||
| 704 | MOV DI,CS:ROM_INT_44 ; | ||
| 705 | MOV DS:WORD PTR INT_44_LOW,DI; | ||
| 706 | MOV DI,CS:ROM_INT_44+2 ; | ||
| 707 | MOV DS:WORD PTR INT_44_HI,DI; | ||
| 708 | STI ; | ||
| 709 | POP AX ; | ||
| 710 | POP DI ; | ||
| 711 | POP DS ; | ||
| 712 | ; | ||
| 713 | VL_9: RET ; | ||
| 714 | VECTOR_LOAD ENDP ; | ||
| 715 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 716 | ; | ||
| 717 | ; LOAD CODE PAGE | ||
| 718 | ; | ||
| 719 | ; This routine is called by INVOKE_DATA and | ||
| 720 | ; by the INT_10H code. | ||
| 721 | ; | ||
| 722 | ; EXIT: | ||
| 723 | ; CP_ES points to the final CP data segment | ||
| 724 | ; CP_DI points to the final CP data offset | ||
| 725 | ; | ||
| 726 | ; CY = 0 if no error detected | ||
| 727 | ; 1 if error occurred | ||
| 728 | ; AX = 0000 if hardware code page matched | ||
| 729 | ; AX = 0001 if routine is presently busy | ||
| 730 | ; | ||
| 731 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 732 | CP_ES DW ? ; | ||
| 733 | CP_DI DW ? ; | ||
| 734 | LOAD_CP_SEMA DB 0 ; SEMAPHORE TO TELL IF ROUTINE IS | ||
| 735 | ; ALREADY ACTIVE.... | ||
| 736 | ; | ||
| 737 | ANSI_BUFFER LABEL BYTE ; WGR BUFFER FOR ANSI ;AN000; | ||
| 738 | DB ZERO ; WGR INFO LEVEL ;AN000; | ||
| 739 | DB ZERO ; WGR ;AN000; | ||
| 740 | DW ANSI_BUF_SIZE ; WGR LENGTH OF DATA ;AN000; | ||
| 741 | DW ? ; WGR CONTROL FLAGS ;AN000; | ||
| 742 | D_MODE LABEL BYTE ; WGR DISPLAY MODE ;AN000; | ||
| 743 | DB ? ; WGR ;AN000; | ||
| 744 | DB ? ; WGR RESERVED ;AN000; | ||
| 745 | DW ? ; WGR COLORS ;AN000; | ||
| 746 | DW ? ; WGR WIDTH ;AN000; | ||
| 747 | DW ? ; WGR LENGTH ;AN000; | ||
| 748 | DW ? ; WGR COLUMNS ;AN000; | ||
| 749 | SCR_ROWS LABEL WORD ; WGR ROWS ;AN000; | ||
| 750 | DW ? ; WGR ;AN000; | ||
| 751 | ; | ||
| 752 | RE_CALC DW OFF ; WGR VALUE TO OR IN CHARACTER LOAD ;AN000; | ||
| 753 | SETMODE_FLAG DB OFF ; WGR FLAG INDICATING A MODE SET IS REQUIRED ;AN000; | ||
| 754 | ; | ||
| 755 | TEST_CP PROC ; | ||
| 756 | CMP CS:LOAD_CP_SEMA,ZERO ; TEST IF ALREADY ACTIVE! | ||
| 757 | JE I10_0 ; | ||
| 758 | STC ; IF ALREADY ACTIVE, THEN SET ERROR | ||
| 759 | MOV AX,ONE ; TO INDICATE THAT ACTIVE.... | ||
| 760 | RET ; | ||
| 761 | ; | ||
| 762 | I10_0: MOV CS:LOAD_CP_SEMA,ONE ; SET ROUTINE NOW ACTIVE... | ||
| 763 | PUSH BX ; | ||
| 764 | PUSH CX ; | ||
| 765 | PUSH DX ; WGR ;AN000; | ||
| 766 | PUSH SI ; | ||
| 767 | PUSH DI ; | ||
| 768 | PUSH DS ; | ||
| 769 | PUSH ES ; | ||
| 770 | ; | ||
| 771 | PUSH CS ; | ||
| 772 | POP DS ; SETUP DS SEGMENT TO CS | ||
| 773 | PUSH CS ; | ||
| 774 | POP ES ; SETUP ES SEGMENT TO CS | ||
| 775 | ; | ||
| 776 | XOR AH,AH ; AH=0 FOR MODE SET, AL=MODE_TYPE | ||
| 777 | MOV AL,MODE_VALUE ; | ||
| 778 | MOV SI,AX ; ESTABLISH INDEX INTO LOAD_MECH table | ||
| 779 | MOV AL,[SI].FONT_SIZE ; GET FONT_SIZE FOR THIS MODE_VALUE | ||
| 780 | OR AL,AL ; TEST FOR MODE_VALUE=0 | ||
| 781 | JNZ I10_2 ; | ||
| 782 | ; | ||
| 783 | CALL ASK_BIOS_FONT_SIZE ; GET BIOS TO INDICATE FONT_SIZE | ||
| 784 | JC I10_A ; IF CY=1 THEN ERROR OCCURRED | ||
| 785 | ; | ||
| 786 | I10_2: PUSH AX ; WGR SAVE FONT SIZE ;AN000; | ||
| 787 | MOV Ah,ANSI_2F ; WGR REQUEST TO ANSI FOR SCREEN SIZE ;AN000; | ||
| 788 | mov al,IOCTL_2F ; IOCTL request | ||
| 789 | MOV CL,GET_SUBFUNC ; WGR GET CHARACTERISTICS FUNCTION ;AN000; | ||
| 790 | LEA DX,ANSI_BUFFER ; WGR BUFFER FOR REQUEST STORAGE ;AN000; | ||
| 791 | INT 2FH ; WGR ;AN000; | ||
| 792 | JC I10_3 ; WGR IF CARRY THEN ERROR..CONT AS BEFORE ;AN000; | ||
| 793 | CMP AL,16H ; WGR ENSURE THAT ANSI WAS THERE.. ;AN000; | ||
| 794 | JNE I10_3 ; WGR NO....CONT AS BEFORE ;AN000; | ||
| 795 | CMP D_MODE,ON ; WGR ARE WE IN A TEXT MODE? ;AN000; | ||
| 796 | JNE I10_3 ; WGR NO...CONT AS BEFORE.. ;AN000; | ||
| 797 | CMP SCR_ROWS,DEFAULT_LEN ; WGR IS IT JUST 25 LINES?.. ;AN000; | ||
| 798 | JE I10_3 ; WGR THEN...CONT AS BEFORE.. ;AN000; | ||
| 799 | POP AX ; WGR GREATER THAN 25 LINES SO...POP OFF.. ;AN000; | ||
| 800 | MOV CS:RE_CALC,RECALC_ON ; WGR RECALCULATION REQUIRED ;AN000; | ||
| 801 | MOV CS:SETMODE_FLAG,ON ; WGR A MODE SET IS REQUIRED ;AN000; | ||
| 802 | MOV AL,EIGHT ; WGR OLD FONT SIZE AND USE AN 8 HIGH BOX. ;AN000; | ||
| 803 | JMP I10_4 ; WGR ;AN000; | ||
| 804 | ; | ||
| 805 | I10_3: POP AX ; WGR RESTORE OLD VALUE ;AN000; | ||
| 806 | MOV CS:SETMODE_FLAG,OFF ; WGR NO MODE SET IS REQUIRED. ;AN000; | ||
| 807 | ; | ||
| 808 | I10_4: MOV BYTES_PER_CHAR,AL ; SAVE VALUE DETERMINED | ||
| 809 | ; | ||
| 810 | MOV CX,CPD_ACTIVE ; | ||
| 811 | CMP CX,-1 ; CHECK IF ACTIVE CP=PLACE_HOLDER | ||
| 812 | JE I10_A ; IF SO, THEN STAY SLEEPING | ||
| 813 | ; | ||
| 814 | PUSH CX ; | ||
| 815 | CALL FIND_CP ; DETERMINE IF THE CODE PAGE=HDWR | ||
| 816 | MOV BL,CL ; | ||
| 817 | POP CX ; RESTORE CP VALUE FOR FUTURE REF | ||
| 818 | JC I10_A ; | ||
| 819 | MOV CHARACTER_SOURCE,BL ; | ||
| 820 | OR BL,BL ; TEST TYPE OF CP? | ||
| 821 | JE I10_B ; IF CODE PAGE=HDWR THEN RESOLUTION OK! | ||
| 822 | ; | ||
| 823 | CALL FIND_FONT ; CHECK IF THE FONT RESOLUTION IS HERE | ||
| 824 | JC I10_A ; IF CY=0 THEN ES:DI POINT TO FONT | ||
| 825 | MOV CS:CP_DI,DI ; | ||
| 826 | MOV DI,ES ; | ||
| 827 | MOV CS:CP_ES,DI ; | ||
| 828 | JUMP I10_B ; | ||
| 829 | ; | ||
| 830 | I10_A: XOR AX,AX ; | ||
| 831 | STC ; | ||
| 832 | I10_B: POP ES ; | ||
| 833 | POP DS ; | ||
| 834 | POP DI ; | ||
| 835 | POP SI ; | ||
| 836 | POP DX ; WGR ;AN000; | ||
| 837 | POP CX ; | ||
| 838 | POP BX ; | ||
| 839 | MOV CS:LOAD_CP_SEMA,ZERO ; SET ROUTINE NOW COMPLETED.... | ||
| 840 | RET ; | ||
| 841 | TEST_CP ENDP ; | ||
| 842 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 843 | ; | ||
| 844 | ; INVOKE DATA | ||
| 845 | ; | ||
| 846 | ; THIS ROUTINE PERFORMS THE LOADING OF THE CODE PAGE | ||
| 847 | ; INFORMATION. IT USES THE POINTERS FROM THE TEST_CP | ||
| 848 | ; ROUTINE. | ||
| 849 | ; | ||
| 850 | ; ENTRY: | ||
| 851 | ; CP_ES points to the actual data of CP segment | ||
| 852 | ; CP_DI points to the actual data of CP offset | ||
| 853 | ; | ||
| 854 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 855 | INVOKE_DATA PROC ; | ||
| 856 | PUSH BX ; | ||
| 857 | PUSH CX ; | ||
| 858 | PUSH SI ; | ||
| 859 | PUSH DI ; | ||
| 860 | PUSH DS ; | ||
| 861 | PUSH ES ; | ||
| 862 | ; | ||
| 863 | MOV DI,CS:CP_ES ; GET THE ES:DI COMBO FROM TEST_CP | ||
| 864 | MOV ES,DI ; | ||
| 865 | MOV DI,CS:CP_DI ; | ||
| 866 | ; | ||
| 867 | XOR AH,AH ; | ||
| 868 | MOV AL,MODE_VALUE ; CREATE INDEX TO GET LOAD_MECH | ||
| 869 | MOV SI,AX ; | ||
| 870 | MOV AL,[SI].LOAD_MECH ; | ||
| 871 | MOV LOAD_MECHANISM,AL ; SAVE THIS VALUE FOR OTHER ROUTINES | ||
| 872 | TEST AL,MASK_BIOS_LOAD ; FIND OUT IF INT 10H SUPPORTS | ||
| 873 | JZ INV_7 ; | ||
| 874 | ; | ||
| 875 | MOV CX,256 ; **** HARD CODED COUNT **** | ||
| 876 | MOV BH,BYTES_PER_CHAR ; | ||
| 877 | CALL BIOS_LOAD ; GET BIOS CODE TO GIVE THE CP SUPPORT | ||
| 878 | JC INV_A ; | ||
| 879 | ; | ||
| 880 | INV_7: TEST AL,MASK_VECTOR_LOAD ; | ||
| 881 | JZ INV_8 ; | ||
| 882 | ; | ||
| 883 | CALL VECTOR_LOAD ; ESTABLISH THE VECTORS FOR CP SUPPORT | ||
| 884 | JC INV_A ; | ||
| 885 | ; | ||
| 886 | INV_8: CLC ; | ||
| 887 | JUMP INV_B ; | ||
| 888 | INV_A: XOR AX,AX ; | ||
| 889 | STC ; | ||
| 890 | INV_B: POP ES ; | ||
| 891 | POP DS ; | ||
| 892 | POP DI ; | ||
| 893 | POP SI ; | ||
| 894 | POP CX ; | ||
| 895 | POP BX ; | ||
| 896 | RET ; | ||
| 897 | INVOKE_DATA ENDP ; | ||
| 898 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 899 | ; | ||
| 900 | ; GET_CURSOR_POSITION | ||
| 901 | ; | ||
| 902 | ; This routine is called by BIOS_LOAD. It is used | ||
| 903 | ; to ask for the cursor position before a character | ||
| 904 | ; download...since BIOS puts the cursor to (1,1). | ||
| 905 | ; | ||
| 906 | ; | ||
| 907 | ; INPUT: | ||
| 908 | ; none | ||
| 909 | ; OUTPUT: | ||
| 910 | ; BX = page number | ||
| 911 | ; DX = cursor position | ||
| 912 | ; | ||
| 913 | ; DS = CS assumed | ||
| 914 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 915 | ACTIVE_PAGE DW ? ; | ||
| 916 | CURSOR_POS DW ? ; | ||
| 917 | ; | ||
| 918 | GET_CURSOR_POS PROC ; | ||
| 919 | PUSHF ; | ||
| 920 | PUSH DX ; | ||
| 921 | PUSH CX ; | ||
| 922 | PUSH BX ; | ||
| 923 | PUSH AX ; | ||
| 924 | MOV AH,15 ; CALL TO GET CURRENT_VIDEO_STATE | ||
| 925 | PUSHF ; | ||
| 926 | CALL DWORD PTR CS:ROM_INT_10 ; call routine to handle the command | ||
| 927 | MOV ACTIVE_PAGE,BX ; | ||
| 928 | ; | ||
| 929 | MOV AH,3 ; | ||
| 930 | PUSHF ; | ||
| 931 | CALL DWORD PTR CS:ROM_INT_10 ; call routine to handle the command | ||
| 932 | MOV CURSOR_POS,DX ; | ||
| 933 | POP AX ; | ||
| 934 | POP BX ; | ||
| 935 | POP CX ; | ||
| 936 | POP DX ; | ||
| 937 | POPF ; | ||
| 938 | RET ; | ||
| 939 | GET_CURSOR_POS ENDP ; | ||
| 940 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 941 | ; | ||
| 942 | ; SET_CURSOR_POSITION | ||
| 943 | ; | ||
| 944 | ; This routine is called by BIOS_LOAD. It is used | ||
| 945 | ; to tell BIOS where to put the cursor. | ||
| 946 | ; | ||
| 947 | ; INPUT: | ||
| 948 | ; BX = page number | ||
| 949 | ; DX = cursor position | ||
| 950 | ; OUTPUT: | ||
| 951 | ; none | ||
| 952 | ; | ||
| 953 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 954 | SET_CURSOR_POS PROC ; | ||
| 955 | PUSHF ; | ||
| 956 | PUSH DX ; | ||
| 957 | PUSH BX ; | ||
| 958 | PUSH AX ; | ||
| 959 | MOV AH,2 ; | ||
| 960 | MOV BX,ACTIVE_PAGE ; | ||
| 961 | MOV DX,CURSOR_POS ; | ||
| 962 | PUSHF ; | ||
| 963 | CALL DWORD PTR CS:ROM_INT_10 ; call routine to handle the command | ||
| 964 | POP AX ; | ||
| 965 | POP BX ; | ||
| 966 | POP DX ; | ||
| 967 | POPF ; | ||
| 968 | RET ; | ||
| 969 | SET_CURSOR_POS ENDP ; | ||
| 970 | |||
| 971 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 972 | ; Info_Ansi_ModeSet | ||
| 973 | ; | ||
| 974 | ; INPUT:None | ||
| 975 | ; OUTPUT:None | ||
| 976 | ; | ||
| 977 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 978 | Info_Ansi_ModeSet proc near | ||
| 979 | push ax | ||
| 980 | push dx | ||
| 981 | push ds | ||
| 982 | push si | ||
| 983 | pushf | ||
| 984 | push cs | ||
| 985 | pop ds | ||
| 986 | lea si, ANSI_DA_INFO | ||
| 987 | mov [si].DA_SETMODE_FLAG, 1 ;Tell ANSI we are calling int10h, Set Mode funciton | ||
| 988 | mov dx, si | ||
| 989 | mov ah, ANSI_2F | ||
| 990 | mov al, DA_INFO_2F | ||
| 991 | int 2fh ;We don't worry about whether ANSI installed or not. | ||
| 992 | popf | ||
| 993 | pop si | ||
| 994 | pop ds | ||
| 995 | pop dx | ||
| 996 | pop ax | ||
| 997 | ret | ||
| 998 | Info_Ansi_ModeSet endp | ||
| 999 | |||
| 1000 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 1001 | ; Info_Ansi_ModeDone | ||
| 1002 | ; | ||
| 1003 | ; INPUT:None | ||
| 1004 | ; OUTPUT:None | ||
| 1005 | ; | ||
| 1006 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 1007 | Info_Ansi_ModeDone proc near | ||
| 1008 | push ax | ||
| 1009 | push dx | ||
| 1010 | push ds | ||
| 1011 | push si | ||
| 1012 | pushf | ||
| 1013 | push cs | ||
| 1014 | pop ds | ||
| 1015 | lea si, ANSI_DA_INFO | ||
| 1016 | mov [si].DA_SETMODE_FLAG, 0 ;Tell ANSI we are done with int10h, Set Mode funciton | ||
| 1017 | mov dx, si | ||
| 1018 | mov ah, ANSI_2F | ||
| 1019 | mov al, DA_INFO_2F | ||
| 1020 | int 2fh ;We don't worry about whether ANSI installed or not. | ||
| 1021 | popf | ||
| 1022 | pop si | ||
| 1023 | pop ds | ||
| 1024 | pop dx | ||
| 1025 | pop ax | ||
| 1026 | ret | ||
| 1027 | Info_Ansi_ModeDone endp | ||
| 1028 | |||
| 1029 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
diff --git a/v4.0/src/DEV/DISPLAY/INT2FCOM.INC b/v4.0/src/DEV/DISPLAY/INT2FCOM.INC new file mode 100644 index 0000000..c6007a6 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/INT2FCOM.INC | |||
| @@ -0,0 +1,323 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; INTERRUPT 2F HEX COMMUNICATION ROUTINE | ||
| 3 | ; | ||
| 4 | ; This routine is used to communicate between the CON driver | ||
| 5 | ; and the Keyboard routine. The various calls are as follows: | ||
| 6 | ; | ||
| 7 | ; 1) not yet defined | ||
| 8 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 9 | IF1 ; | ||
| 10 | %OUT . ®INT2FCOM.INC¯ | ||
| 11 | ENDIF ; | ||
| 12 | PUBLIC ROM_INT_2F ; | ||
| 13 | PUBLIC INT_2F_COM ; | ||
| 14 | PUBLIC ABORT ; | ||
| 15 | ; | ||
| 16 | CON_REQ LABEL WORD ; THESE CALLS START AT '00H' | ||
| 17 | DW OFFSET CON_INSTALL ; | ||
| 18 | DW OFFSET CON_INVOKE ; | ||
| 19 | DW OFFSET CON_QUERY_CP ; | ||
| 20 | DW OFFSET CON_QUERY_PARAMETER ; | ||
| 21 | CON_MAX EQU ($-CON_REQ)/2 ; | ||
| 22 | ; | ||
| 23 | QPARM_TABLE LABEL WORD ; | ||
| 24 | DW OFFSET CPD_DESG_N ; | ||
| 25 | DW OFFSET CPD_FONTS_N ; | ||
| 26 | DW OFFSET CPD_HDWR_N ; | ||
| 27 | QPARM_ENTRY EQU ($-QPARM_TABLE)/2 ; | ||
| 28 | ; | ||
| 29 | ROM_INT_2F DW ? ; Int 2FH vector offset | ||
| 30 | DW ? ; Int 2FH vector segment | ||
| 31 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 32 | ; | ||
| 33 | ; INTERRUPT 2F HEX | ||
| 34 | ; | ||
| 35 | ; Communication between the KEYBOARD (KEYB.COM) and the | ||
| 36 | ; CON Device Driver. | ||
| 37 | ; | ||
| 38 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 39 | INT_2F_COM PROC FAR ; | ||
| 40 | STI ; | ||
| 41 | CMP AH,0ADH ; TEST THE SUBFUNCTION CALL | ||
| 42 | JNE I2C_6 ; RESERVED FOR THE COM PATH! | ||
| 43 | ; | ||
| 44 | CMP AL,10H ; WGR ;AN000; | ||
| 45 | JNE I2C_0 ; WGR ;AN000; | ||
| 46 | CALL CHECK_VALID ; WGR ;AN000; | ||
| 47 | PUSH SI ; WGR ;AN000; | ||
| 48 | JMP I2C_1 ; WGR ;AN000; | ||
| 49 | I2C_0: ; WGR | ||
| 50 | CMP AL,CON_MAX ; TEST IF IT IS ABOVE HIGH | ||
| 51 | JAE I2C_6 ; CON CALL? | ||
| 52 | ; | ||
| 53 | PUSH SI ; FORMULATE THE JUMP POINTER | ||
| 54 | PUSH AX ; | ||
| 55 | XOR AH,AH ; | ||
| 56 | MOV SI,AX ; | ||
| 57 | POP AX ; | ||
| 58 | ADD SI,SI ; | ||
| 59 | CALL CS:CON_REQ[SI] ; call routine to handle the command | ||
| 60 | I2C_1: ; | ||
| 61 | PUSH AX ; SAVE AX REGISTER TO PLAY WITH STACK | ||
| 62 | MOV SI,SP ; | ||
| 63 | MOV AX,SS:[SI+8] ; ACCOUNT FOR SI & AX ON STACK | ||
| 64 | JC I2C_2 ; | ||
| 65 | AND AX,NOT_CY ; | ||
| 66 | JUMP I2C_3 ; | ||
| 67 | I2C_2: OR AX,CY ; | ||
| 68 | I2C_3: MOV SS:[SI+8],AX ; | ||
| 69 | POP AX ; | ||
| 70 | POP SI ; | ||
| 71 | ABORT: IRET ; | ||
| 72 | I2C_6: JMP DWORD PTR CS:ROM_INT_2F ; | ||
| 73 | INT_2F_COM ENDP ; | ||
| 74 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 75 | ; | ||
| 76 | ; CON_INSTALL | ||
| 77 | ; | ||
| 78 | ; A STRAIGHT FORWARD ROUTINE WHICH INDICATES WHETHER OR NOT | ||
| 79 | ; ANY PC DOS CPS-CON SUPPORT WAS LOADED DURING BOOTSTRAP. | ||
| 80 | ; THE INTERFACE IS AS PER 'DOS FUNCTIONAL SPEC' | ||
| 81 | ; (Program Interfaces). | ||
| 82 | ; | ||
| 83 | ; INPUT: | ||
| 84 | ; none | ||
| 85 | ; | ||
| 86 | ; OUTPUT: | ||
| 87 | ; AX = (-1) if loaded | ||
| 88 | ; no change if not....since this is not even loaded! | ||
| 89 | ; BX = [upper nibble][lower nibble] = MAJOR - MINOR | ||
| 90 | ; release number. | ||
| 91 | ; | ||
| 92 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 93 | CON_INSTALL PROC ; | ||
| 94 | MOV AX,-1 ; CHANGE AX TO '0FFFFH' AND BX TO | ||
| 95 | MOV BX,0100H ; MAJOR - MINOR VERSION # | ||
| 96 | CLC ; NO ERROR TO INDICATE.... | ||
| 97 | RET ; | ||
| 98 | CON_INSTALL ENDP ; | ||
| 99 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 100 | ; | ||
| 101 | ; CHECK_VALID | ||
| 102 | ; | ||
| 103 | ; THIS ROUTINE CHECKS TO SEE IF THE CURRENT CODE PAGE HAS BEEN | ||
| 104 | ; PREPARED FOR AN 8X8 RAM FONT. THIS IS AN INTERFACE TO ANSI.SYS | ||
| 105 | ; TO ENSURE THAT A REQUEST FOR > 25 LINES IS VALID. | ||
| 106 | ; | ||
| 107 | ; INPUT: | ||
| 108 | ; none | ||
| 109 | ; | ||
| 110 | ; OUTPUT: | ||
| 111 | ; CF = 1 IF NOT FONT NOT AVAILABLE | ||
| 112 | ; = 0 IF FONT IS AVAILABLE. | ||
| 113 | ; | ||
| 114 | ; AUTHOR: WGR | ||
| 115 | ; | ||
| 116 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 117 | CHECK_VALID PROC ; ;AN000; | ||
| 118 | CMP CS:CPD_ACTIVE,-1 ; see if a code page has been.. ;AN000; | ||
| 119 | JNE CV_1 ; selected? ;AN000; | ||
| 120 | CLC ; no..therefore hardware code page.. ;AN000; | ||
| 121 | JMP CV_4 ; okay...exit with carry clear. ;AN000; | ||
| 122 | CV_1: ; ;AN000; | ||
| 123 | PUSH BX ; s ;AN000; | ||
| 124 | PUSH CX ; a ;AN000; | ||
| 125 | PUSH DX ; v ;AN000; | ||
| 126 | PUSH DI ; e ;AN000; | ||
| 127 | PUSH SI ; r ;AN000; | ||
| 128 | PUSH DS ; e ;AN000; | ||
| 129 | PUSH ES ; g ;AN000; | ||
| 130 | PUSH CS ; s. ;AN000; | ||
| 131 | POP DS ; establish addressibility to data ;AN000; | ||
| 132 | MOV CX,CPD_ACTIVE ; use active code page... ;AN000; | ||
| 133 | CALL FIND_CP ; is the code page prepared? ;AN000; | ||
| 134 | JC CV_3 ; no....problem..exit with carry set. ;AN000; | ||
| 135 | CMP CX,0 ; okay...check if hardware code page? ;AN000; | ||
| 136 | JNE CV_2 ; ;AN000; | ||
| 137 | CLC ; yes...so okay...exit with carry clear;AN000; | ||
| 138 | JMP CV_3 ; ;AN000; | ||
| 139 | CV_2: ; ;AN000; | ||
| 140 | MOV DL,CS:BYTES_PER_CHAR ; save current box size.. ;AN000; | ||
| 141 | PUSH DX ; ;AN000; | ||
| 142 | MOV CS:BYTES_PER_CHAR,8 ; check for 8x8 box (>25 line support) ;AN000; | ||
| 143 | CALL FIND_FONT ; is font size there?? ;AN000; | ||
| 144 | POP DX ; ;AN000; | ||
| 145 | MOV CS:BYTES_PER_CHAR,DL ; restore old box size...FIND_FONT... ;AN000; | ||
| 146 | CV_3: ; will have returned.. ;AN000; | ||
| 147 | POP ES ; with carry set appropriately ;AN000; | ||
| 148 | POP DS ; ;AN000; | ||
| 149 | POP SI ; restore ;AN000; | ||
| 150 | POP DI ; ;AN000; | ||
| 151 | POP DX ; registers. ;AN000; | ||
| 152 | POP CX ; ;AN000; | ||
| 153 | POP BX ; ;AN000; | ||
| 154 | CV_4: ; ;AN000; | ||
| 155 | RET ; return. ;AN000; | ||
| 156 | CHECK_VALID ENDP ; ;AN000; | ||
| 157 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 158 | ; | ||
| 159 | ; CON_INVOKE | ||
| 160 | ; | ||
| 161 | ; THIS ROUTINE IS A SECOND INTERFACE TO THE CPS CON DEVICE | ||
| 162 | ; TO ACTIVATE A PARTICULAR CODE PAGE. THIS MAKE USE OF THE | ||
| 163 | ; SAME ROUTINES AS THE GENERIC IOCTL CALLS (via INT 21H). | ||
| 164 | ; A SEMAPHORE IS PROVIDED BY THE IOCTL CALLS TO PREVENT | ||
| 165 | ; RE-ENTRANCY....WHICH MAY CAUSE INTERESTING RESULTS!! | ||
| 166 | ; | ||
| 167 | ; INPUT: | ||
| 168 | ; BX = code page to activate | ||
| 169 | ; | ||
| 170 | ; OUTPUT: | ||
| 171 | ; CY = 0 if CP was activated | ||
| 172 | ; 1 if an error occurred during activation | ||
| 173 | ; | ||
| 174 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 175 | CON_INVOKE PROC ; | ||
| 176 | PUSH DS ; | ||
| 177 | PUSH ES ; | ||
| 178 | CMP CS:G_IOCTL_SEMA,ONE ; ARE GENERIC IOCTL ROUTINES ACTIVE??? | ||
| 179 | JE CI_3 ; IF SO, THEN EXIT WITH ERROR... | ||
| 180 | ; | ||
| 181 | PUSH CS ; | ||
| 182 | POP DS ; | ||
| 183 | PUSH CS ; | ||
| 184 | POP ES ; | ||
| 185 | PUSH CPD_ACTIVE ; | ||
| 186 | MOV CPD_ACTIVE,BX ; SET THE ACTIVE CP = REQUESTED | ||
| 187 | CALL TEST_CP ; FIND OUT IF CP IS THERE.... | ||
| 188 | POP CPD_ACTIVE ; | ||
| 189 | JC CI_3 ; IF CY=1, THEN LEAVE OLD CP ALONE! | ||
| 190 | CALL INVOKE_DATA ; LOAD THE DATA.... | ||
| 191 | JC CI_3 ; IF ERROR, THEN FONT NOT AVAILABLE | ||
| 192 | MOV CPD_ACTIVE,BX ; | ||
| 193 | PUSH DX ; | ||
| 194 | MOV DX,BX ; | ||
| 195 | CALL SIGNAL_KBD_INVK ; | ||
| 196 | POP DX ; | ||
| 197 | JC CI_3 ; SET CARRY IF KEYBOARD ERROR OCCURRED. | ||
| 198 | CLC ; NO ERROR TO INDICATE.... | ||
| 199 | POP ES ; | ||
| 200 | POP DS ; | ||
| 201 | RET ; | ||
| 202 | CI_3: STC ; | ||
| 203 | POP ES ; | ||
| 204 | POP DS ; | ||
| 205 | RET ; | ||
| 206 | CON_INVOKE ENDP ; | ||
| 207 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 208 | ; | ||
| 209 | ; CON_QUERY_CP | ||
| 210 | ; | ||
| 211 | ; RETURNS THE ACTIVE CODE PAGE VALUE....CPD_ACTIVE VALUE | ||
| 212 | ; CHECKED FOR INVALID. | ||
| 213 | ; | ||
| 214 | ; INPUT: | ||
| 215 | ; none | ||
| 216 | ; OUTPUT: | ||
| 217 | ; BX = CODE PAGE ACTIVATED <-1 IF NONE ACTIVE> | ||
| 218 | ; CY = 1 IF CP INVALID (BX = -1) | ||
| 219 | ; 0 IF CP VALID | ||
| 220 | ; | ||
| 221 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 222 | CON_QUERY_CP PROC ; | ||
| 223 | MOV BX,CS:CPD_ACTIVE ; | ||
| 224 | CMP BX,-1 ; | ||
| 225 | JNE CQCP_0 ; | ||
| 226 | MOV AX,ONE ; SET ERROR CONDITION TO (non-active) | ||
| 227 | STC ; | ||
| 228 | RET ; | ||
| 229 | CQCP_0: CLC ; | ||
| 230 | RET ; | ||
| 231 | CON_QUERY_CP ENDP ; | ||
| 232 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 233 | ; | ||
| 234 | ; QUERY PARAMETER INFORMATION | ||
| 235 | ; | ||
| 236 | ; ENTRY: ES:DI points to data table | ||
| 237 | ; CX = max size of table to fill (in bytes) | ||
| 238 | ; EXIT: ES:DI filled with formatted data; DW #DESG,#FONTS,#HDWR,CPx's | ||
| 239 | ; CY = 1 if problem with table creation | ||
| 240 | ; | ||
| 241 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 242 | CON_QUERY_PARAMETER PROC ; | ||
| 243 | PUSH DS ; | ||
| 244 | PUSH AX ; | ||
| 245 | PUSH BX ; | ||
| 246 | PUSH CX ; | ||
| 247 | PUSH DI ; | ||
| 248 | ; | ||
| 249 | PUSH CS ; | ||
| 250 | POP DS ; | ||
| 251 | ; PERFORM CHECK ON LGTH OF BUFFER | ||
| 252 | MOV BX,THREE ; MANDATORY THREE WORD-STARTER | ||
| 253 | ADD BX,CPD_HDWR_N ; ADD # CP's IN HARDWARE | ||
| 254 | ADD BX,CPD_DESG_N ; ADD # CP's IN DESIGNATION | ||
| 255 | SHL BX,1 ; CONVERT TO BYTES | ||
| 256 | CMP BX,CX ; VERIFY THAT TABLE WILL FIT... | ||
| 257 | JG CQP_3 ; SET ERROR CONDITION! | ||
| 258 | ; | ||
| 259 | LEA BX,QPARM_TABLE ; | ||
| 260 | MOV CX,QPARM_ENTRY ; | ||
| 261 | CQP_0: MOV SI,[BX] ; | ||
| 262 | MOV AX,[SI] ; | ||
| 263 | MOV ES:[DI],AX ; | ||
| 264 | INC BX ; | ||
| 265 | INC BX ; | ||
| 266 | INC DI ; | ||
| 267 | INC DI ; | ||
| 268 | LOOP CQP_0 ; | ||
| 269 | ; | ||
| 270 | CALL GET_HDWR_CP ; | ||
| 271 | MOV CX,[SI] ; | ||
| 272 | OR CX,CX ; | ||
| 273 | JZ CQP_1 ; | ||
| 274 | INC SI ; | ||
| 275 | INC SI ; | ||
| 276 | REP MOVSW ; | ||
| 277 | ; | ||
| 278 | CQP_1: CALL GET_DESG_CP ; | ||
| 279 | MOV CX,[SI] ; | ||
| 280 | OR CX,CX ; | ||
| 281 | JE CQP_2 ; | ||
| 282 | INC SI ; | ||
| 283 | INC SI ; | ||
| 284 | REP MOVSW ; | ||
| 285 | ; | ||
| 286 | CQP_2: POP DI ; | ||
| 287 | POP CX ; | ||
| 288 | POP BX ; | ||
| 289 | POP AX ; | ||
| 290 | POP DS ; | ||
| 291 | CLC ; CLEAR ERROR CONDITION! | ||
| 292 | RET ; | ||
| 293 | ; | ||
| 294 | CQP_3: POP DI ; | ||
| 295 | POP CX ; | ||
| 296 | POP BX ; | ||
| 297 | POP AX ; | ||
| 298 | POP DS ; | ||
| 299 | STC ; TELL CALLER THAT ERROR OCCURRED! | ||
| 300 | RET ; | ||
| 301 | CON_QUERY_PARAMETER ENDP ; | ||
| 302 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 303 | ; | ||
| 304 | ; SIGNAL KEYBOARD THAT INVOKE JUST OCCURRED! | ||
| 305 | ; | ||
| 306 | ; INPUT: | ||
| 307 | ; DX = code page just invoked! | ||
| 308 | ; OUTPUT: | ||
| 309 | ; none | ||
| 310 | ; | ||
| 311 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 312 | SIGNAL_KBD_INVK PROC ; | ||
| 313 | PUSH AX ; | ||
| 314 | PUSH BX ; | ||
| 315 | MOV AX,0AD81H ; | ||
| 316 | MOV BX,DX ; | ||
| 317 | CLC ; CLEAR THE CARRY IN CASE NOT THERE | ||
| 318 | INT 2FH ; | ||
| 319 | POP BX ; | ||
| 320 | POP AX ; | ||
| 321 | RET ; | ||
| 322 | SIGNAL_KBD_INVK ENDP ; | ||
| 323 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/437-CPI.ASM b/v4.0/src/DEV/DISPLAY/LCD/437-CPI.ASM new file mode 100644 index 0000000..7fa54e0 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/437-CPI.ASM | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 437 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA437: DW LEN_437 ;SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA437,0 ;POINTER TO NEXT HEADER | ||
| 14 | DW 1 ;DEVICE TYPE | ||
| 15 | DB "LCD " ;DEVICE SUBTYPE ID | ||
| 16 | DW 437 ;CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ;RESERVED | ||
| 18 | DW OFFSET DATA437,0 ;POINTER TO FONTS | ||
| 19 | LEN_437 EQU ($-EGA437) | ||
| 20 | |||
| 21 | DATA437:DW 1 ;CART/NON-CART | ||
| 22 | DW 1 ;# OF FONTS | ||
| 23 | DW LEN_D437 ;LENGTH OF DATA | ||
| 24 | D437: ; | ||
| 25 | DB 8,8 ;CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ;ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ;NUMBER OF CHARACTERS | ||
| 28 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 29 | Db 03Ch,042h,0A5h,0A5h,081h,0BDh,05Ah,03Ch ; Hex #1 | ||
| 30 | Db 03Ch,07Eh,0DBh,0DBh,0FFh,0C3h,066h,03Ch ; Hex #2 | ||
| 31 | Db 036h,07Fh,07Fh,07Fh,03Eh,01Ch,008h,000h ; Hex #3 | ||
| 32 | Db 008h,01Ch,03Eh,07Fh,03Eh,01Ch,008h,000h ; Hex #4 | ||
| 33 | Db 01Ch,03Eh,01Ch,07Fh,07Fh,036h,008h,01Ch ; Hex #5 | ||
| 34 | Db 008h,01Ch,03Eh,07Fh,07Fh,036h,008h,01Ch ; Hex #6 | ||
| 35 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 36 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 37 | Db 000h,000h,03Ch,066h,066h,03Ch,000h,000h ; Hex #9 | ||
| 38 | Db 0FFh,0FFh,0C3h,099h,099h,0C3h,0FFh,0FFh ; Hex #A | ||
| 39 | Db 007h,003h,03Eh,066h,066h,066h,03Ch,000h ; Hex #B | ||
| 40 | Db 03Ch,066h,066h,066h,03Ch,018h,03Ch,018h ; Hex #C | ||
| 41 | Db 008h,00Ch,00Eh,00Ah,00Ah,008h,038h,030h ; Hex #D | ||
| 42 | Db 018h,016h,019h,017h,071h,061h,007h,006h ; Hex #E | ||
| 43 | Db 048h,06Bh,03Eh,0E4h,027h,07Ch,0D6h,012h ; Hex #F | ||
| 44 | Db 040h,070h,07Ch,07Fh,07Ch,070h,040h,000h ; Hex #10 | ||
| 45 | Db 001h,007h,01Fh,07Fh,01Fh,007h,001h,000h ; Hex #11 | ||
| 46 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 47 | Db 036h,036h,036h,036h,036h,000h,036h,000h ; Hex #13 | ||
| 48 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #14 | ||
| 49 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #15 | ||
| 50 | Db 000h,000h,000h,07Fh,07Fh,07Fh,000h,000h ; Hex #16 | ||
| 51 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 52 | Db 018h,03Ch,07Eh,05Ah,018h,018h,018h,000h ; Hex #18 | ||
| 53 | Db 018h,018h,018h,05Ah,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 54 | Db 000h,00Ch,006h,07Fh,07Fh,006h,00Ch,000h ; Hex #1A | ||
| 55 | Db 000h,018h,030h,07Fh,07Fh,030h,018h,000h ; Hex #1B | ||
| 56 | Db 000h,000h,060h,060h,07Fh,07Fh,000h,000h ; Hex #1C | ||
| 57 | Db 000h,014h,036h,07Fh,07Fh,036h,014h,000h ; Hex #1D | ||
| 58 | Db 008h,008h,01Ch,01Ch,03Eh,03Eh,07Fh,000h ; Hex #1E | ||
| 59 | Db 07Fh,03Eh,03Eh,01Ch,01Ch,008h,008h,000h ; Hex #1F | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 61 | Db 018h,018h,018h,018h,018h,000h,018h,000h ; Hex #21 | ||
| 62 | Db 036h,036h,014h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 63 | Db 00Ah,00Ah,03Fh,014h,07Eh,028h,028h,000h ; Hex #23 | ||
| 64 | Db 008h,03Eh,068h,03Eh,00Bh,07Eh,008h,000h ; Hex #24 | ||
| 65 | Db 001h,03Fh,052h,06Ch,01Bh,035h,076h,000h ; Hex #25 | ||
| 66 | Db 01Ch,036h,01Ch,03Bh,06Eh,066h,03Bh,000h ; Hex #26 | ||
| 67 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 68 | Db 006h,00Ch,018h,018h,018h,00Ch,006h,000h ; Hex #28 | ||
| 69 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 70 | Db 000h,036h,01Ch,07Fh,01Ch,036h,000h,000h ; Hex #2A | ||
| 71 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 72 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 73 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 74 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 75 | Db 003h,006h,00Ch,018h,030h,060h,040h,000h ; Hex #2F | ||
| 76 | Db 018h,02Ch,066h,066h,066h,034h,018h,000h ; Hex #30 | ||
| 77 | Db 018h,018h,038h,018h,018h,018h,03Ch,000h ; Hex #31 | ||
| 78 | Db 03Ch,066h,066h,00Ch,018h,032h,07Eh,000h ; Hex #32 | ||
| 79 | Db 03Ch,066h,00Ch,01Ch,006h,066h,03Ch,000h ; Hex #33 | ||
| 80 | Db 00Ch,01Ch,02Ch,06Ch,07Eh,00Ch,01Eh,000h ; Hex #34 | ||
| 81 | Db 07Eh,060h,07Ch,066h,006h,066h,03Ch,000h ; Hex #35 | ||
| 82 | Db 01Ch,030h,060h,07Ch,066h,066h,03Ch,000h ; Hex #36 | ||
| 83 | Db 07Eh,066h,04Ch,00Ch,018h,018h,038h,000h ; Hex #37 | ||
| 84 | Db 03Ch,066h,076h,03Ch,06Eh,066h,03Ch,000h ; Hex #38 | ||
| 85 | Db 03Ch,066h,066h,03Eh,006h,00Ch,038h,000h ; Hex #39 | ||
| 86 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 87 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 88 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 89 | Db 000h,000h,07Eh,000h,07Eh,000h,000h,000h ; Hex #3D | ||
| 90 | Db 030h,018h,00Ch,006h,00Ch,018h,030h,000h ; Hex #3E | ||
| 91 | Db 03Ch,066h,026h,00Ch,018h,000h,018h,000h ; Hex #3F | ||
| 92 | Db 03Eh,041h,05Dh,055h,05Fh,040h,03Eh,000h ; Hex #40 | ||
| 93 | Db 01Ch,00Ch,01Ch,016h,03Eh,023h,063h,000h ; Hex #41 | ||
| 94 | Db 07Ch,036h,036h,03Eh,033h,033h,07Eh,000h ; Hex #42 | ||
| 95 | Db 01Dh,033h,061h,060h,060h,031h,01Eh,000h ; Hex #43 | ||
| 96 | Db 07Ch,036h,033h,033h,033h,036h,07Ch,000h ; Hex #44 | ||
| 97 | Db 07Fh,031h,034h,03Ch,034h,031h,07Fh,000h ; Hex #45 | ||
| 98 | Db 07Fh,031h,034h,03Ch,034h,030h,078h,000h ; Hex #46 | ||
| 99 | Db 01Dh,033h,061h,060h,067h,033h,01Fh,000h ; Hex #47 | ||
| 100 | Db 066h,066h,066h,07Eh,066h,066h,066h,000h ; Hex #48 | ||
| 101 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 102 | Db 01Fh,006h,006h,006h,066h,066h,03Ch,000h ; Hex #4A | ||
| 103 | Db 067h,066h,06Ch,078h,06Ch,066h,067h,000h ; Hex #4B | ||
| 104 | Db 078h,030h,030h,030h,031h,033h,07Fh,000h ; Hex #4C | ||
| 105 | Db 041h,063h,077h,07Fh,06Bh,063h,063h,000h ; Hex #4D | ||
| 106 | Db 043h,063h,073h,07Bh,06Fh,067h,063h,000h ; Hex #4E | ||
| 107 | Db 01Ch,036h,063h,063h,063h,036h,01Ch,000h ; Hex #4F | ||
| 108 | Db 07Eh,033h,033h,03Eh,030h,030h,078h,000h ; Hex #50 | ||
| 109 | Db 01Ch,036h,063h,063h,06Bh,036h,01Ch,007h ; Hex #51 | ||
| 110 | Db 07Ch,066h,066h,07Ch,06Ch,066h,067h,000h ; Hex #52 | ||
| 111 | Db 03Eh,066h,070h,03Ch,00Eh,066h,07Ch,000h ; Hex #53 | ||
| 112 | Db 07Eh,05Ah,018h,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 113 | Db 063h,063h,063h,063h,063h,063h,03Eh,000h ; Hex #55 | ||
| 114 | Db 077h,062h,036h,034h,01Ch,018h,008h,000h ; Hex #56 | ||
| 115 | Db 063h,063h,06Bh,06Bh,03Eh,036h,022h,000h ; Hex #57 | ||
| 116 | Db 066h,066h,03Ch,018h,03Ch,066h,066h,000h ; Hex #58 | ||
| 117 | Db 0E7h,066h,034h,018h,018h,018h,03Ch,000h ; Hex #59 | ||
| 118 | Db 07Eh,066h,04Ch,018h,032h,066h,07Eh,000h ; Hex #5A | ||
| 119 | Db 01Eh,018h,018h,018h,018h,018h,01Eh,000h ; Hex #5B | ||
| 120 | Db 060h,030h,018h,00Ch,006h,003h,001h,000h ; Hex #5C | ||
| 121 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 122 | Db 008h,01Ch,036h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 124 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 125 | Db 000h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #61 | ||
| 126 | Db 070h,030h,03Eh,03Bh,033h,03Bh,06Eh,000h ; Hex #62 | ||
| 127 | Db 000h,000h,03Eh,066h,060h,066h,03Ch,000h ; Hex #63 | ||
| 128 | Db 00Eh,006h,036h,06Eh,066h,066h,03Bh,000h ; Hex #64 | ||
| 129 | Db 000h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #65 | ||
| 130 | Db 00Eh,01Bh,018h,03Eh,018h,018h,03Ch,000h ; Hex #66 | ||
| 131 | Db 000h,000h,03Dh,066h,038h,03Eh,063h,03Eh ; Hex #67 | ||
| 132 | Db 070h,030h,036h,03Bh,033h,033h,073h,000h ; Hex #68 | ||
| 133 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 134 | Db 00Ch,000h,01Ch,00Ch,00Ch,06Ch,06Ch,038h ; Hex #6A | ||
| 135 | Db 070h,030h,033h,036h,03Ch,036h,077h,000h ; Hex #6B | ||
| 136 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 137 | Db 000h,000h,076h,07Fh,06Bh,06Bh,06Bh,000h ; Hex #6D | ||
| 138 | Db 000h,000h,076h,03Bh,033h,033h,073h,000h ; Hex #6E | ||
| 139 | Db 000h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #6F | ||
| 140 | Db 000h,000h,06Eh,033h,033h,03Eh,030h,078h ; Hex #70 | ||
| 141 | Db 000h,000h,03Ah,066h,066h,03Eh,006h,00Fh ; Hex #71 | ||
| 142 | Db 000h,000h,06Eh,03Bh,033h,030h,078h,000h ; Hex #72 | ||
| 143 | Db 000h,000h,03Eh,070h,03Ch,00Eh,07Ch,000h ; Hex #73 | ||
| 144 | Db 008h,018h,03Eh,018h,018h,01Ah,00Ch,000h ; Hex #74 | ||
| 145 | Db 000h,000h,066h,066h,066h,066h,03Bh,000h ; Hex #75 | ||
| 146 | Db 000h,000h,073h,032h,036h,01Ch,008h,000h ; Hex #76 | ||
| 147 | Db 000h,000h,06Bh,06Bh,07Fh,036h,022h,000h ; Hex #77 | ||
| 148 | Db 000h,000h,073h,036h,01Ch,036h,067h,000h ; Hex #78 | ||
| 149 | Db 000h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #79 | ||
| 150 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 151 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 152 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 153 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 154 | Db 039h,04Eh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 155 | Db 008h,01Ch,01Ch,036h,026h,063h,07Fh,07Fh ; Hex #7F | ||
| 156 | Db 01Dh,033h,061h,060h,060h,031h,00Eh,01Ch ; Hex #80 | ||
| 157 | Db 06Ch,000h,066h,066h,066h,066h,03Bh,000h ; Hex #81 | ||
| 158 | Db 00Eh,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #82 | ||
| 159 | Db 018h,03Ch,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #83 | ||
| 160 | Db 036h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #84 | ||
| 161 | Db 030h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #85 | ||
| 162 | Db 018h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #86 | ||
| 163 | Db 000h,000h,03Eh,066h,060h,036h,01Ch,038h ; Hex #87 | ||
| 164 | Db 018h,03Ch,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #88 | ||
| 165 | Db 036h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #89 | ||
| 166 | Db 030h,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #8A | ||
| 167 | Db 06Ch,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 168 | Db 018h,03Ch,000h,038h,018h,018h,03Ch,000h ; Hex #8C | ||
| 169 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 170 | Db 036h,008h,01Ch,016h,036h,03Fh,063h,000h ; Hex #8E | ||
| 171 | Db 01Ch,014h,01Ch,01Eh,036h,03Fh,063h,000h ; Hex #8F | ||
| 172 | Db 007h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #90 | ||
| 173 | Db 000h,000h,076h,01Bh,03Fh,06Ch,077h,000h ; Hex #91 | ||
| 174 | Db 03Fh,03Dh,02Ch,03Eh,06Ch,06Dh,06Fh,000h ; Hex #92 | ||
| 175 | Db 018h,03Ch,03Ch,066h,066h,066h,03Ch,000h ; Hex #93 | ||
| 176 | Db 066h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #94 | ||
| 177 | Db 070h,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #95 | ||
| 178 | Db 018h,03Ch,042h,066h,066h,066h,03Bh,000h ; Hex #96 | ||
| 179 | Db 070h,018h,066h,066h,066h,066h,03Bh,000h ; Hex #97 | ||
| 180 | Db 036h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #98 | ||
| 181 | Db 063h,01Ch,036h,063h,063h,036h,01Ch,000h ; Hex #99 | ||
| 182 | Db 036h,041h,063h,063h,063h,063h,03Eh,000h ; Hex #9A | ||
| 183 | Db 006h,004h,03Ch,06Eh,068h,06Ah,03Ch,030h ; Hex #9B | ||
| 184 | Db 01Eh,033h,033h,07Ch,039h,05Bh,076h,000h ; Hex #9C | ||
| 185 | Db 066h,066h,03Ch,07Eh,018h,07Eh,018h,000h ; Hex #9D | ||
| 186 | Db 078h,06Ch,06Ch,07Ah,066h,06Fh,066h,003h ; Hex #9E | ||
| 187 | Db 00Eh,01Bh,018h,03Eh,018h,018h,058h,070h ; Hex #9F | ||
| 188 | Db 00Eh,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #A0 | ||
| 189 | Db 01Ch,030h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 190 | Db 00Eh,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #A2 | ||
| 191 | Db 00Eh,018h,066h,066h,066h,066h,03Bh,000h ; Hex #A3 | ||
| 192 | Db 01Ah,02Ch,076h,03Bh,033h,033h,073h,000h ; Hex #A4 | ||
| 193 | Db 01Ah,02Ch,073h,07Bh,06Fh,067h,063h,000h ; Hex #A5 | ||
| 194 | Db 01Eh,036h,036h,01Fh,000h,03Fh,000h,000h ; Hex #A6 | ||
| 195 | Db 01Ch,036h,036h,01Ch,000h,03Eh,000h,000h ; Hex #A7 | ||
| 196 | Db 018h,000h,018h,030h,064h,066h,03Ch,000h ; Hex #A8 | ||
| 197 | Db 000h,000h,000h,07Eh,060h,060h,000h,000h ; Hex #A9 | ||
| 198 | Db 000h,000h,000h,07Eh,006h,006h,000h,000h ; Hex #AA | ||
| 199 | Db 060h,066h,06Ch,07Eh,03Bh,066h,04Ch,00Fh ; Hex #AB | ||
| 200 | Db 060h,066h,06Ch,07Bh,037h,06Bh,04Fh,003h ; Hex #AC | ||
| 201 | Db 018h,000h,018h,018h,018h,018h,018h,000h ; Hex #AD | ||
| 202 | Db 000h,01Bh,036h,06Ch,06Ch,036h,01Bh,000h ; Hex #AE | ||
| 203 | Db 000h,06Ch,036h,01Bh,01Bh,036h,06Ch,000h ; Hex #AF | ||
| 204 | Db 011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 205 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 206 | Db 0EEh,0BBh,0EEh,0BBh,0EEh,0BBh,0EEh,0BBh ; Hex #B2 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 208 | Db 018h,018h,018h,0F8h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 209 | Db 018h,018h,0F8h,0F8h,018h,0F8h,018h,018h ; Hex #B5 | ||
| 210 | Db 034h,034h,034h,0F4h,0F4h,034h,034h,034h ; Hex #B6 | ||
| 211 | Db 000h,000h,000h,0F8h,0FCh,034h,034h,034h ; Hex #B7 | ||
| 212 | Db 000h,000h,0F0h,0F8h,018h,0F8h,018h,018h ; Hex #B8 | ||
| 213 | Db 034h,034h,0F4h,0F4h,004h,0F4h,034h,034h ; Hex #B9 | ||
| 214 | Db 034h,034h,034h,034h,034h,034h,034h,034h ; Hex #BA | ||
| 215 | Db 000h,000h,0F8h,0FCh,004h,0F4h,034h,034h ; Hex #BB | ||
| 216 | Db 034h,034h,0F4h,0F4h,004h,0FCh,000h,000h ; Hex #BC | ||
| 217 | Db 034h,034h,034h,0FCh,0FCh,000h,000h,000h ; Hex #BD | ||
| 218 | Db 018h,018h,0F8h,0F8h,018h,0F8h,000h,000h ; Hex #BE | ||
| 219 | Db 000h,000h,000h,0F8h,0F8h,018h,018h,018h ; Hex #BF | ||
| 220 | Db 018h,018h,018h,01Fh,01Fh,000h,000h,000h ; Hex #C0 | ||
| 221 | Db 018h,018h,018h,0FFh,0FFh,000h,000h,000h ; Hex #C1 | ||
| 222 | Db 000h,000h,000h,0FFh,0FFh,018h,018h,018h ; Hex #C2 | ||
| 223 | Db 018h,018h,018h,01Fh,01Fh,018h,018h,018h ; Hex #C3 | ||
| 224 | Db 000h,000h,000h,0FFh,0FFh,000h,000h,000h ; Hex #C4 | ||
| 225 | Db 018h,018h,018h,0FFh,0FFh,018h,018h,018h ; Hex #C5 | ||
| 226 | Db 018h,018h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #C6 | ||
| 227 | Db 034h,034h,034h,037h,037h,034h,034h,034h ; Hex #C7 | ||
| 228 | Db 034h,034h,037h,037h,030h,01Fh,000h,000h ; Hex #C8 | ||
| 229 | Db 000h,000h,03Fh,03Fh,030h,037h,034h,034h ; Hex #C9 | ||
| 230 | Db 034h,034h,0F7h,0F7h,000h,0FFh,000h,000h ; Hex #CA | ||
| 231 | Db 000h,000h,0FFh,0FFh,000h,0F7h,034h,034h ; Hex #CB | ||
| 232 | Db 034h,034h,037h,037h,030h,037h,034h,034h ; Hex #CC | ||
| 233 | Db 000h,000h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CD | ||
| 234 | Db 034h,034h,0F7h,0F7h,000h,0F7h,034h,034h ; Hex #CE | ||
| 235 | Db 018h,018h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CF | ||
| 236 | Db 034h,034h,034h,0FFh,0FFh,000h,000h,000h ; Hex #D0 | ||
| 237 | Db 000h,000h,0FFh,0FFh,000h,0FFh,018h,018h ; Hex #D1 | ||
| 238 | Db 000h,000h,000h,0FFh,0FFh,034h,034h,034h ; Hex #D2 | ||
| 239 | Db 034h,034h,034h,03Fh,01Fh,000h,000h,000h ; Hex #D3 | ||
| 240 | Db 018h,018h,01Fh,01Fh,018h,00Fh,000h,000h ; Hex #D4 | ||
| 241 | Db 000h,000h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #D5 | ||
| 242 | Db 000h,000h,000h,03Fh,03Fh,034h,034h,034h ; Hex #D6 | ||
| 243 | Db 034h,034h,034h,0FFh,0FFh,034h,034h,034h ; Hex #D7 | ||
| 244 | Db 018h,018h,0FFh,0FFh,018h,0FFh,018h,018h ; Hex #D8 | ||
| 245 | Db 018h,018h,018h,0F8h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 246 | Db 000h,000h,000h,01Fh,01Fh,018h,018h,018h ; Hex #DA | ||
| 247 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 248 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 249 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 250 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 251 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 252 | Db 000h,000h,03Dh,06Eh,066h,06Eh,03Bh,000h ; Hex #E0 | ||
| 253 | Db 03Ch,066h,06Ch,066h,063h,07Bh,06Eh,000h ; Hex #E1 | ||
| 254 | Db 07Fh,033h,031h,030h,030h,030h,078h,000h ; Hex #E2 | ||
| 255 | Db 000h,03Fh,07Eh,054h,014h,036h,066h,000h ; Hex #E3 | ||
| 256 | Db 07Fh,033h,018h,00Ch,018h,033h,07Fh,000h ; Hex #E4 | ||
| 257 | Db 000h,000h,03Fh,06Ch,06Ch,06Ch,038h,000h ; Hex #E5 | ||
| 258 | Db 000h,000h,033h,033h,033h,037h,06Dh,060h ; Hex #E6 | ||
| 259 | Db 000h,03Fh,07Eh,050h,018h,01Ch,00Ch,000h ; Hex #E7 | ||
| 260 | Db 01Ch,008h,03Eh,06Bh,03Eh,008h,01Ch,000h ; Hex #E8 | ||
| 261 | Db 01Ch,036h,063h,07Fh,063h,036h,01Ch,000h ; Hex #E9 | ||
| 262 | Db 01Ch,036h,063h,063h,036h,055h,077h,000h ; Hex #EA | ||
| 263 | Db 01Ch,030h,018h,02Ch,066h,066h,03Ch,000h ; Hex #EB | ||
| 264 | Db 000h,036h,07Fh,04Dh,059h,07Fh,036h,000h ; Hex #EC | ||
| 265 | Db 001h,003h,03Eh,067h,06Bh,073h,03Eh,040h ; Hex #ED | ||
| 266 | Db 000h,000h,01Eh,030h,03Eh,030h,01Eh,000h ; Hex #EE | ||
| 267 | Db 03Ch,066h,066h,066h,066h,066h,066h,000h ; Hex #EF | ||
| 268 | Db 000h,07Eh,000h,07Eh,000h,07Eh,000h,000h ; Hex #F0 | ||
| 269 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 270 | Db 060h,038h,00Eh,038h,060h,000h,07Eh,000h ; Hex #F2 | ||
| 271 | Db 006h,01Ch,070h,01Ch,006h,000h,07Eh,000h ; Hex #F3 | ||
| 272 | Db 00Eh,01Bh,01Ah,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 273 | Db 018h,018h,018h,018h,058h,0D8h,070h,000h ; Hex #F5 | ||
| 274 | Db 018h,018h,000h,07Eh,000h,018h,018h,000h ; Hex #F6 | ||
| 275 | Db 000h,03Bh,06Eh,000h,03Bh,06Eh,000h,000h ; Hex #F7 | ||
| 276 | Db 01Ch,036h,036h,01Ch,000h,000h,000h,000h ; Hex #F8 | ||
| 277 | Db 000h,000h,018h,03Ch,018h,000h,000h,000h ; Hex #F9 | ||
| 278 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 279 | Db 003h,002h,006h,024h,06Ch,038h,018h,010h ; Hex #FB | ||
| 280 | Db 076h,03Bh,033h,033h,033h,000h,000h,000h ; Hex #FC | ||
| 281 | Db 03Ch,066h,00Ch,038h,07Eh,000h,000h,000h ; Hex #FD | ||
| 282 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 283 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 284 | LEN_D437 EQU ($-D437) | ||
| 285 | ; | ||
| 286 | POST_EGA437 EQU $ ; | ||
| 287 | ; | ||
| 288 | CODE ENDS | ||
| 289 | END | ||
| 290 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/850-CPI.ASM b/v4.0/src/DEV/DISPLAY/LCD/850-CPI.ASM new file mode 100644 index 0000000..317c65d --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/850-CPI.ASM | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 850 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA850: DW LEN_850 ;SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA850,0 ;POINTER TO NEXT HEADER | ||
| 14 | DW 1 ;DEVICE TYPE | ||
| 15 | DB "LCD " ;DEVICE SUBTYPE ID | ||
| 16 | DW 850 ;CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ;RESERVED | ||
| 18 | DW OFFSET DATA850,0 ;POINTER TO FONTS | ||
| 19 | LEN_850 EQU ($-EGA850) | ||
| 20 | |||
| 21 | DATA850:DW 1 ;CART/NON-CART | ||
| 22 | DW 1 ;# OF FONTS | ||
| 23 | DW LEN_D850 ;LENGTH OF DATA | ||
| 24 | D850: ; | ||
| 25 | DB 8,8 ;CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ;ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ;NUMBER OF CHARACTERS | ||
| 28 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 29 | Db 03Ch,042h,0A5h,0A5h,081h,0BDh,05Ah,03Ch ; Hex #1 | ||
| 30 | Db 03Ch,07Eh,0DBh,0DBh,0FFh,0C3h,066h,03Ch ; Hex #2 | ||
| 31 | Db 036h,07Fh,07Fh,07Fh,03Eh,01Ch,008h,000h ; Hex #3 | ||
| 32 | Db 008h,01Ch,03Eh,07Fh,03Eh,01Ch,008h,000h ; Hex #4 | ||
| 33 | Db 01Ch,03Eh,01Ch,07Fh,07Fh,036h,008h,01Ch ; Hex #5 | ||
| 34 | Db 008h,01Ch,03Eh,07Fh,07Fh,036h,008h,01Ch ; Hex #6 | ||
| 35 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 36 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 37 | Db 000h,000h,03Ch,066h,066h,03Ch,000h,000h ; Hex #9 | ||
| 38 | Db 0FFh,0FFh,0C3h,099h,099h,0C3h,0FFh,0FFh ; Hex #A | ||
| 39 | Db 007h,003h,03Eh,066h,066h,066h,03Ch,000h ; Hex #B | ||
| 40 | Db 03Ch,066h,066h,066h,03Ch,018h,03Ch,018h ; Hex #C | ||
| 41 | Db 008h,00Ch,00Eh,00Ah,00Ah,008h,038h,030h ; Hex #D | ||
| 42 | Db 018h,016h,019h,017h,071h,061h,007h,006h ; Hex #E | ||
| 43 | Db 048h,06Bh,03Eh,0E4h,027h,07Ch,0D6h,012h ; Hex #F | ||
| 44 | Db 040h,070h,07Ch,07Fh,07Ch,070h,040h,000h ; Hex #10 | ||
| 45 | Db 001h,007h,01Fh,07Fh,01Fh,007h,001h,000h ; Hex #11 | ||
| 46 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 47 | Db 036h,036h,036h,036h,036h,000h,036h,000h ; Hex #13 | ||
| 48 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #14 | ||
| 49 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #15 | ||
| 50 | Db 000h,000h,000h,07Fh,07Fh,07Fh,000h,000h ; Hex #16 | ||
| 51 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 52 | Db 018h,03Ch,07Eh,05Ah,018h,018h,018h,000h ; Hex #18 | ||
| 53 | Db 018h,018h,018h,05Ah,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 54 | Db 000h,00Ch,006h,07Fh,07Fh,006h,00Ch,000h ; Hex #1A | ||
| 55 | Db 000h,018h,030h,07Fh,07Fh,030h,018h,000h ; Hex #1B | ||
| 56 | Db 000h,000h,060h,060h,07Fh,07Fh,000h,000h ; Hex #1C | ||
| 57 | Db 000h,014h,036h,07Fh,07Fh,036h,014h,000h ; Hex #1D | ||
| 58 | Db 008h,008h,01Ch,01Ch,03Eh,03Eh,07Fh,000h ; Hex #1E | ||
| 59 | Db 07Fh,03Eh,03Eh,01Ch,01Ch,008h,008h,000h ; Hex #1F | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 61 | Db 018h,018h,018h,018h,018h,000h,018h,000h ; Hex #21 | ||
| 62 | Db 036h,036h,014h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 63 | Db 00Ah,00Ah,03Fh,014h,07Eh,028h,028h,000h ; Hex #23 | ||
| 64 | Db 008h,03Eh,068h,03Eh,00Bh,07Eh,008h,000h ; Hex #24 | ||
| 65 | Db 001h,03Fh,052h,06Ch,01Bh,035h,076h,000h ; Hex #25 | ||
| 66 | Db 01Ch,036h,01Ch,03Bh,06Eh,066h,03Bh,000h ; Hex #26 | ||
| 67 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 68 | Db 006h,00Ch,018h,018h,018h,00Ch,006h,000h ; Hex #28 | ||
| 69 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 70 | Db 000h,036h,01Ch,07Fh,01Ch,036h,000h,000h ; Hex #2A | ||
| 71 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 72 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 73 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 74 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 75 | Db 003h,006h,00Ch,018h,030h,060h,040h,000h ; Hex #2F | ||
| 76 | Db 018h,02Ch,066h,066h,066h,034h,018h,000h ; Hex #30 | ||
| 77 | Db 018h,018h,038h,018h,018h,018h,03Ch,000h ; Hex #31 | ||
| 78 | Db 03Ch,066h,066h,00Ch,018h,032h,07Eh,000h ; Hex #32 | ||
| 79 | Db 03Ch,066h,00Ch,01Ch,006h,066h,03Ch,000h ; Hex #33 | ||
| 80 | Db 00Ch,01Ch,02Ch,06Ch,07Eh,00Ch,01Eh,000h ; Hex #34 | ||
| 81 | Db 07Eh,060h,07Ch,066h,006h,066h,03Ch,000h ; Hex #35 | ||
| 82 | Db 01Ch,030h,060h,07Ch,066h,066h,03Ch,000h ; Hex #36 | ||
| 83 | Db 07Eh,066h,04Ch,00Ch,018h,018h,038h,000h ; Hex #37 | ||
| 84 | Db 03Ch,066h,076h,03Ch,06Eh,066h,03Ch,000h ; Hex #38 | ||
| 85 | Db 03Ch,066h,066h,03Eh,006h,00Ch,038h,000h ; Hex #39 | ||
| 86 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 87 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 88 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 89 | Db 000h,000h,07Eh,000h,07Eh,000h,000h,000h ; Hex #3D | ||
| 90 | Db 030h,018h,00Ch,006h,00Ch,018h,030h,000h ; Hex #3E | ||
| 91 | Db 03Ch,066h,026h,00Ch,018h,000h,018h,000h ; Hex #3F | ||
| 92 | Db 03Eh,041h,05Dh,055h,05Fh,040h,03Eh,000h ; Hex #40 | ||
| 93 | Db 01Ch,00Ch,01Ch,016h,03Eh,023h,063h,000h ; Hex #41 | ||
| 94 | Db 07Ch,036h,036h,03Eh,033h,033h,07Eh,000h ; Hex #42 | ||
| 95 | Db 01Dh,033h,061h,060h,060h,031h,01Eh,000h ; Hex #43 | ||
| 96 | Db 07Ch,036h,033h,033h,033h,036h,07Ch,000h ; Hex #44 | ||
| 97 | Db 07Fh,031h,034h,03Ch,034h,031h,07Fh,000h ; Hex #45 | ||
| 98 | Db 07Fh,031h,034h,03Ch,034h,030h,078h,000h ; Hex #46 | ||
| 99 | Db 01Dh,033h,061h,060h,067h,033h,01Fh,000h ; Hex #47 | ||
| 100 | Db 066h,066h,066h,07Eh,066h,066h,066h,000h ; Hex #48 | ||
| 101 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 102 | Db 01Fh,006h,006h,006h,066h,066h,03Ch,000h ; Hex #4A | ||
| 103 | Db 067h,066h,06Ch,078h,06Ch,066h,067h,000h ; Hex #4B | ||
| 104 | Db 078h,030h,030h,030h,031h,033h,07Fh,000h ; Hex #4C | ||
| 105 | Db 041h,063h,077h,07Fh,06Bh,063h,063h,000h ; Hex #4D | ||
| 106 | Db 043h,063h,073h,07Bh,06Fh,067h,063h,000h ; Hex #4E | ||
| 107 | Db 01Ch,036h,063h,063h,063h,036h,01Ch,000h ; Hex #4F | ||
| 108 | Db 07Eh,033h,033h,03Eh,030h,030h,078h,000h ; Hex #50 | ||
| 109 | Db 01Ch,036h,063h,063h,06Bh,036h,01Ch,007h ; Hex #51 | ||
| 110 | Db 07Ch,066h,066h,07Ch,06Ch,066h,067h,000h ; Hex #52 | ||
| 111 | Db 03Eh,066h,070h,03Ch,00Eh,066h,07Ch,000h ; Hex #53 | ||
| 112 | Db 07Eh,05Ah,018h,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 113 | Db 063h,063h,063h,063h,063h,063h,03Eh,000h ; Hex #55 | ||
| 114 | Db 077h,062h,036h,034h,01Ch,018h,008h,000h ; Hex #56 | ||
| 115 | Db 063h,063h,06Bh,06Bh,03Eh,036h,022h,000h ; Hex #57 | ||
| 116 | Db 066h,066h,03Ch,018h,03Ch,066h,066h,000h ; Hex #58 | ||
| 117 | Db 0E7h,066h,034h,018h,018h,018h,03Ch,000h ; Hex #59 | ||
| 118 | Db 07Eh,066h,04Ch,018h,032h,066h,07Eh,000h ; Hex #5A | ||
| 119 | Db 01Eh,018h,018h,018h,018h,018h,01Eh,000h ; Hex #5B | ||
| 120 | Db 060h,030h,018h,00Ch,006h,003h,001h,000h ; Hex #5C | ||
| 121 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 122 | Db 008h,01Ch,036h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 124 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 125 | Db 000h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #61 | ||
| 126 | Db 070h,030h,03Eh,03Bh,033h,03Bh,06Eh,000h ; Hex #62 | ||
| 127 | Db 000h,000h,03Eh,066h,060h,066h,03Ch,000h ; Hex #63 | ||
| 128 | Db 00Eh,006h,036h,06Eh,066h,066h,03Bh,000h ; Hex #64 | ||
| 129 | Db 000h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #65 | ||
| 130 | Db 00Eh,01Bh,018h,03Eh,018h,018h,03Ch,000h ; Hex #66 | ||
| 131 | Db 000h,000h,03Dh,066h,038h,03Eh,063h,03Eh ; Hex #67 | ||
| 132 | Db 070h,030h,036h,03Bh,033h,033h,073h,000h ; Hex #68 | ||
| 133 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 134 | Db 00Ch,000h,01Ch,00Ch,00Ch,06Ch,06Ch,038h ; Hex #6A | ||
| 135 | Db 070h,030h,033h,036h,03Ch,036h,077h,000h ; Hex #6B | ||
| 136 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 137 | Db 000h,000h,076h,07Fh,06Bh,06Bh,06Bh,000h ; Hex #6D | ||
| 138 | Db 000h,000h,076h,03Bh,033h,033h,073h,000h ; Hex #6E | ||
| 139 | Db 000h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #6F | ||
| 140 | Db 000h,000h,06Eh,033h,033h,03Eh,030h,078h ; Hex #70 | ||
| 141 | Db 000h,000h,03Ah,066h,066h,03Eh,006h,00Fh ; Hex #71 | ||
| 142 | Db 000h,000h,06Eh,03Bh,033h,030h,078h,000h ; Hex #72 | ||
| 143 | Db 000h,000h,03Eh,070h,03Ch,00Eh,07Ch,000h ; Hex #73 | ||
| 144 | Db 008h,018h,03Eh,018h,018h,01Ah,00Ch,000h ; Hex #74 | ||
| 145 | Db 000h,000h,066h,066h,066h,066h,03Bh,000h ; Hex #75 | ||
| 146 | Db 000h,000h,073h,032h,036h,01Ch,008h,000h ; Hex #76 | ||
| 147 | Db 000h,000h,06Bh,06Bh,07Fh,036h,022h,000h ; Hex #77 | ||
| 148 | Db 000h,000h,073h,036h,01Ch,036h,067h,000h ; Hex #78 | ||
| 149 | Db 000h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #79 | ||
| 150 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 151 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 152 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 153 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 154 | Db 039h,04Eh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 155 | Db 008h,01Ch,01Ch,036h,026h,063h,07Fh,07Fh ; Hex #7F | ||
| 156 | Db 01Dh,033h,061h,060h,060h,031h,00Eh,01Ch ; Hex #80 | ||
| 157 | Db 06Ch,000h,066h,066h,066h,066h,03Bh,000h ; Hex #81 | ||
| 158 | Db 00Ch,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #82 | ||
| 159 | Db 018h,03Ch,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #83 | ||
| 160 | Db 036h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #84 | ||
| 161 | Db 030h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #85 | ||
| 162 | Db 018h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #86 | ||
| 163 | Db 000h,000h,03Eh,066h,060h,036h,01Ch,038h ; Hex #87 | ||
| 164 | Db 018h,03Ch,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #88 | ||
| 165 | Db 036h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #89 | ||
| 166 | Db 030h,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #8A | ||
| 167 | Db 06Ch,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 168 | Db 018h,03Ch,000h,038h,018h,018h,03Ch,000h ; Hex #8C | ||
| 169 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 170 | Db 036h,008h,01Ch,016h,036h,03Fh,063h,000h ; Hex #8E | ||
| 171 | Db 01Ch,014h,01Ch,01Eh,036h,03Fh,063h,000h ; Hex #8F | ||
| 172 | Db 006h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #90 | ||
| 173 | Db 000h,000h,076h,01Bh,03Fh,06Ch,077h,000h ; Hex #91 | ||
| 174 | Db 03Fh,03Dh,02Ch,03Eh,06Ch,06Dh,06Fh,000h ; Hex #92 | ||
| 175 | Db 018h,03Ch,03Ch,066h,066h,066h,03Ch,000h ; Hex #93 | ||
| 176 | Db 066h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #94 | ||
| 177 | Db 030h,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #95 | ||
| 178 | Db 018h,03Ch,042h,066h,066h,066h,03Bh,000h ; Hex #96 | ||
| 179 | Db 030h,018h,066h,066h,066h,066h,03Bh,000h ; Hex #97 | ||
| 180 | Db 036h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #98 | ||
| 181 | Db 063h,01Ch,036h,063h,063h,036h,01Ch,000h ; Hex #99 | ||
| 182 | Db 036h,041h,063h,063h,063h,063h,03Eh,000h ; Hex #9A | ||
| 183 | Db 000h,004h,03Ch,06Eh,07Eh,076h,03Ch,020h ; Hex #9B | ||
| 184 | Db 01Eh,033h,033h,07Ch,039h,05Bh,076h,000h ; Hex #9C | ||
| 185 | Db 01Dh,036h,067h,06Bh,073h,036h,05Ch,000h ; Hex #9D | ||
| 186 | Db 000h,066h,03Ch,018h,03Ch,066h,000h,000h ; Hex #9E | ||
| 187 | Db 00Eh,01Bh,018h,03Eh,018h,018h,058h,070h ; Hex #9F | ||
| 188 | Db 00Ch,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #A0 | ||
| 189 | Db 018h,030h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 190 | Db 00Ch,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #A2 | ||
| 191 | Db 00Ch,018h,066h,066h,066h,066h,03Bh,000h ; Hex #A3 | ||
| 192 | Db 01Ah,02Ch,076h,03Bh,033h,033h,073h,000h ; Hex #A4 | ||
| 193 | Db 01Ah,02Ch,073h,07Bh,06Fh,067h,063h,000h ; Hex #A5 | ||
| 194 | Db 01Eh,036h,036h,01Fh,000h,03Fh,000h,000h ; Hex #A6 | ||
| 195 | Db 01Ch,036h,036h,01Ch,000h,03Eh,000h,000h ; Hex #A7 | ||
| 196 | Db 018h,000h,018h,030h,064h,066h,03Ch,000h ; Hex #A8 | ||
| 197 | Db 03Eh,07Bh,055h,059h,05Dh,077h,03Eh,000h ; Hex #A9 | ||
| 198 | Db 000h,000h,000h,07Eh,006h,006h,000h,000h ; Hex #AA | ||
| 199 | Db 060h,066h,06Ch,07Eh,03Bh,066h,04Ch,00Fh ; Hex #AB | ||
| 200 | Db 060h,066h,06Ch,07Bh,037h,06Bh,04Fh,003h ; Hex #AC | ||
| 201 | Db 018h,000h,018h,018h,018h,018h,018h,000h ; Hex #AD | ||
| 202 | Db 000h,01Bh,036h,06Ch,06Ch,036h,01Bh,000h ; Hex #AE | ||
| 203 | Db 000h,06Ch,036h,01Bh,01Bh,036h,06Ch,000h ; Hex #AF | ||
| 204 | Db 011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 205 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 206 | Db 0EEh,0BBh,0EEh,0BBh,0EEh,0BBh,0EEh,0BBh ; Hex #B2 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 208 | Db 018h,018h,018h,0F8h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 209 | Db 00Ch,018h,01Ch,016h,036h,03Fh,063h,000h ; Hex #B5 | ||
| 210 | Db 01Ch,036h,008h,01Eh,036h,03Fh,063h,000h ; Hex #B6 | ||
| 211 | Db 01Ch,006h,01Ch,016h,036h,03Fh,063h,000h ; Hex #B7 | ||
| 212 | Db 03Eh,06Bh,05Dh,051h,05Dh,06Bh,03Eh,000h ; Hex #B8 | ||
| 213 | Db 034h,034h,0F4h,0F4h,004h,0F4h,034h,034h ; Hex #B9 | ||
| 214 | Db 034h,034h,034h,034h,034h,034h,034h,034h ; Hex #BA | ||
| 215 | Db 000h,000h,0F8h,0FCh,004h,0F4h,034h,034h ; Hex #BB | ||
| 216 | Db 034h,034h,0F4h,0F4h,004h,0FCh,000h,000h ; Hex #BC | ||
| 217 | Db 006h,004h,03Ch,06Eh,068h,06Ah,03Ch,030h ; Hex #BD | ||
| 218 | Db 066h,066h,03Ch,07Eh,018h,07Eh,018h,000h ; Hex #BE | ||
| 219 | Db 000h,000h,000h,0F8h,0F8h,018h,018h,018h ; Hex #BF | ||
| 220 | Db 018h,018h,018h,01Fh,01Fh,000h,000h,000h ; Hex #C0 | ||
| 221 | Db 018h,018h,018h,0FFh,0FFh,000h,000h,000h ; Hex #C1 | ||
| 222 | Db 000h,000h,000h,0FFh,0FFh,018h,018h,018h ; Hex #C2 | ||
| 223 | Db 018h,018h,018h,01Fh,01Fh,018h,018h,018h ; Hex #C3 | ||
| 224 | Db 000h,000h,000h,0FFh,0FFh,000h,000h,000h ; Hex #C4 | ||
| 225 | Db 018h,018h,018h,0FFh,0FFh,018h,018h,018h ; Hex #C5 | ||
| 226 | Db 039h,04Eh,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #C6 | ||
| 227 | Db 03Bh,06Eh,01Ch,016h,036h,03Fh,063h,000h ; Hex #C7 | ||
| 228 | Db 034h,034h,037h,037h,030h,01Fh,000h,000h ; Hex #C8 | ||
| 229 | Db 000h,000h,03Fh,03Fh,030h,037h,034h,034h ; Hex #C9 | ||
| 230 | Db 034h,034h,0F7h,0F7h,000h,0FFh,000h,000h ; Hex #CA | ||
| 231 | Db 000h,000h,0FFh,0FFh,000h,0F7h,034h,034h ; Hex #CB | ||
| 232 | Db 034h,034h,037h,037h,030h,037h,034h,034h ; Hex #CC | ||
| 233 | Db 000h,000h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CD | ||
| 234 | Db 034h,034h,0F7h,0F7h,000h,0F7h,034h,034h ; Hex #CE | ||
| 235 | Db 000h,066h,07Eh,024h,024h,07Eh,066h,000h ; Hex #CF | ||
| 236 | Db 036h,018h,06Ch,036h,066h,066h,03Ch,000h ; Hex #D0 | ||
| 237 | Db 07Ch,036h,033h,07Bh,033h,036h,07Ch,000h ; Hex #D1 | ||
| 238 | Db 01Ch,036h,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #D2 | ||
| 239 | Db 036h,000h,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #D3 | ||
| 240 | Db 018h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #D4 | ||
| 241 | Db 000h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #D5 | ||
| 242 | Db 00Ch,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #D6 | ||
| 243 | Db 018h,024h,03Ch,018h,018h,018h,03Ch,000h ; Hex #D7 | ||
| 244 | Db 066h,000h,03Ch,018h,018h,018h,03Ch,000h ; Hex #D8 | ||
| 245 | Db 018h,018h,018h,0F8h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 246 | Db 000h,000h,000h,01Fh,01Fh,018h,018h,018h ; Hex #DA | ||
| 247 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 248 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 249 | Db 018h,018h,018h,000h,000h,018h,018h,018h ; Hex #DD | ||
| 250 | Db 030h,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #DE | ||
| 251 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 252 | Db 006h,00Ch,036h,063h,063h,036h,01Ch,000h ; Hex #E0 | ||
| 253 | Db 03Ch,066h,06Ch,06Eh,063h,07Bh,06Eh,000h ; Hex #E1 | ||
| 254 | Db 01Ch,036h,03Eh,063h,063h,036h,01Ch,000h ; Hex #E2 | ||
| 255 | Db 018h,00Ch,036h,063h,063h,036h,01Ch,000h ; Hex #E3 | ||
| 256 | Db 03Ah,06Eh,03Ch,066h,066h,066h,03Ch,000h ; Hex #E4 | ||
| 257 | Db 03Bh,06Eh,036h,063h,063h,036h,01Ch,000h ; Hex #E5 | ||
| 258 | Db 000h,000h,033h,033h,033h,037h,06Dh,060h ; Hex #E6 | ||
| 259 | Db 070h,030h,03Eh,033h,033h,03Eh,030h,078h ; Hex #E7 | ||
| 260 | Db 078h,03Eh,033h,033h,03Eh,030h,078h,000h ; Hex #E8 | ||
| 261 | Db 00Ch,05Bh,063h,063h,063h,063h,03Eh,000h ; Hex #E9 | ||
| 262 | Db 01Ch,077h,063h,063h,063h,063h,03Eh,000h ; Hex #EA | ||
| 263 | Db 018h,06Dh,063h,063h,063h,063h,03Eh,000h ; Hex #EB | ||
| 264 | Db 006h,00Ch,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #EC | ||
| 265 | Db 00Ch,0DBh,066h,034h,018h,018h,03Ch,000h ; Hex #ED | ||
| 266 | Db 0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #EE | ||
| 267 | Db 00Ch,018h,030h,000h,000h,000h,000h,000h ; Hex #EF | ||
| 268 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #F0 | ||
| 269 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 270 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh ; Hex #F2 | ||
| 271 | Db 070h,05Bh,036h,05Fh,07Fh,03Bh,06Fh,043h ; Hex #F3 | ||
| 272 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #F4 | ||
| 273 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #F5 | ||
| 274 | Db 018h,018h,000h,07Eh,000h,018h,018h,000h ; Hex #F6 | ||
| 275 | Db 000h,000h,000h,000h,000h,000h,00Eh,01Ch ; Hex #F7 | ||
| 276 | Db 01Ch,036h,036h,01Ch,000h,000h,000h,000h ; Hex #F8 | ||
| 277 | Db 036h,000h,000h,000h,000h,000h,000h,000h ; Hex #F9 | ||
| 278 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 279 | Db 018h,038h,018h,018h,03Ch,000h,000h,000h ; Hex #FB | ||
| 280 | Db 03Ch,066h,01Ch,066h,03Ch,000h,000h,000h ; Hex #FC | ||
| 281 | Db 03Ch,066h,00Ch,038h,07Eh,000h,000h,000h ; Hex #FD | ||
| 282 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 283 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 284 | LEN_D850 EQU ($-D850) | ||
| 285 | ; | ||
| 286 | POST_EGA850 EQU $ ; | ||
| 287 | ; | ||
| 288 | CODE ENDS | ||
| 289 | END | ||
| 290 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/860-CPI.ASM b/v4.0/src/DEV/DISPLAY/LCD/860-CPI.ASM new file mode 100644 index 0000000..0c3e76c --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/860-CPI.ASM | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 860 | ||
| 10 | ENDIF | ||
| 11 | ; | ||
| 12 | EGA860: DW LEN_860 ;SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA860,0 ;POINTER TO NEXT HEADER | ||
| 14 | DW 1 ;DEVICE TYPE | ||
| 15 | DB "LCD " ;DEVICE SUBTYPE ID | ||
| 16 | DW 860 ;CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ;RESERVED | ||
| 18 | DW OFFSET DATA860,0 ;POINTER TO FONTS | ||
| 19 | LEN_860 EQU ($-EGA860) | ||
| 20 | |||
| 21 | DATA860:DW 1 ;CART/NON-CART | ||
| 22 | DW 1 ;# OF FONTS | ||
| 23 | DW LEN_D860 ;LENGTH OF DATA | ||
| 24 | D860: ; | ||
| 25 | DB 8,8 ;CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ;ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ;NUMBER OF CHARACTERS | ||
| 28 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 29 | Db 03Ch,042h,0A5h,0A5h,081h,0BDh,05Ah,03Ch ; Hex #1 | ||
| 30 | Db 03Ch,07Eh,0DBh,0DBh,0FFh,0C3h,066h,03Ch ; Hex #2 | ||
| 31 | Db 036h,07Fh,07Fh,07Fh,03Eh,01Ch,008h,000h ; Hex #3 | ||
| 32 | Db 008h,01Ch,03Eh,07Fh,03Eh,01Ch,008h,000h ; Hex #4 | ||
| 33 | Db 01Ch,03Eh,01Ch,07Fh,07Fh,036h,008h,01Ch ; Hex #5 | ||
| 34 | Db 008h,01Ch,03Eh,07Fh,07Fh,036h,008h,01Ch ; Hex #6 | ||
| 35 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 36 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 37 | Db 000h,000h,03Ch,066h,066h,03Ch,000h,000h ; Hex #9 | ||
| 38 | Db 0FFh,0FFh,0C3h,099h,099h,0C3h,0FFh,0FFh ; Hex #A | ||
| 39 | Db 007h,003h,03Eh,066h,066h,066h,03Ch,000h ; Hex #B | ||
| 40 | Db 03Ch,066h,066h,066h,03Ch,018h,03Ch,018h ; Hex #C | ||
| 41 | Db 008h,00Ch,00Eh,00Ah,00Ah,008h,038h,030h ; Hex #D | ||
| 42 | Db 018h,016h,019h,017h,071h,061h,007h,006h ; Hex #E | ||
| 43 | Db 048h,06Bh,03Eh,0E4h,027h,07Ch,0D6h,012h ; Hex #F | ||
| 44 | Db 040h,070h,07Ch,07Fh,07Ch,070h,040h,000h ; Hex #10 | ||
| 45 | Db 001h,007h,01Fh,07Fh,01Fh,007h,001h,000h ; Hex #11 | ||
| 46 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 47 | Db 036h,036h,036h,036h,036h,000h,036h,000h ; Hex #13 | ||
| 48 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #14 | ||
| 49 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #15 | ||
| 50 | Db 000h,000h,000h,07Fh,07Fh,07Fh,000h,000h ; Hex #16 | ||
| 51 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 52 | Db 018h,03Ch,07Eh,05Ah,018h,018h,018h,000h ; Hex #18 | ||
| 53 | Db 018h,018h,018h,05Ah,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 54 | Db 000h,00Ch,006h,07Fh,07Fh,006h,00Ch,000h ; Hex #1A | ||
| 55 | Db 000h,018h,030h,07Fh,07Fh,030h,018h,000h ; Hex #1B | ||
| 56 | Db 000h,000h,060h,060h,07Fh,07Fh,000h,000h ; Hex #1C | ||
| 57 | Db 000h,014h,036h,07Fh,07Fh,036h,014h,000h ; Hex #1D | ||
| 58 | Db 008h,008h,01Ch,01Ch,03Eh,03Eh,07Fh,000h ; Hex #1E | ||
| 59 | Db 07Fh,03Eh,03Eh,01Ch,01Ch,008h,008h,000h ; Hex #1F | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 61 | Db 018h,018h,018h,018h,018h,000h,018h,000h ; Hex #21 | ||
| 62 | Db 036h,036h,014h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 63 | Db 00Ah,00Ah,03Fh,014h,07Eh,028h,028h,000h ; Hex #23 | ||
| 64 | Db 008h,03Eh,068h,03Eh,00Bh,07Eh,008h,000h ; Hex #24 | ||
| 65 | Db 001h,03Fh,052h,06Ch,01Bh,035h,076h,000h ; Hex #25 | ||
| 66 | Db 01Ch,036h,01Ch,03Bh,06Eh,066h,03Bh,000h ; Hex #26 | ||
| 67 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 68 | Db 006h,00Ch,018h,018h,018h,00Ch,006h,000h ; Hex #28 | ||
| 69 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 70 | Db 000h,036h,01Ch,07Fh,01Ch,036h,000h,000h ; Hex #2A | ||
| 71 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 72 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 73 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 74 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 75 | Db 003h,006h,00Ch,018h,030h,060h,040h,000h ; Hex #2F | ||
| 76 | Db 018h,02Ch,066h,066h,066h,034h,018h,000h ; Hex #30 | ||
| 77 | Db 018h,018h,038h,018h,018h,018h,03Ch,000h ; Hex #31 | ||
| 78 | Db 03Ch,066h,066h,00Ch,018h,032h,07Eh,000h ; Hex #32 | ||
| 79 | Db 03Ch,066h,00Ch,01Ch,006h,066h,03Ch,000h ; Hex #33 | ||
| 80 | Db 00Ch,01Ch,02Ch,06Ch,07Eh,00Ch,01Eh,000h ; Hex #34 | ||
| 81 | Db 07Eh,060h,07Ch,066h,006h,066h,03Ch,000h ; Hex #35 | ||
| 82 | Db 01Ch,030h,060h,07Ch,066h,066h,03Ch,000h ; Hex #36 | ||
| 83 | Db 07Eh,066h,04Ch,00Ch,018h,018h,038h,000h ; Hex #37 | ||
| 84 | Db 03Ch,066h,076h,03Ch,06Eh,066h,03Ch,000h ; Hex #38 | ||
| 85 | Db 03Ch,066h,066h,03Eh,006h,00Ch,038h,000h ; Hex #39 | ||
| 86 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 87 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 88 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 89 | Db 000h,000h,07Eh,000h,07Eh,000h,000h,000h ; Hex #3D | ||
| 90 | Db 030h,018h,00Ch,006h,00Ch,018h,030h,000h ; Hex #3E | ||
| 91 | Db 03Ch,066h,026h,00Ch,018h,000h,018h,000h ; Hex #3F | ||
| 92 | Db 03Eh,041h,05Dh,055h,05Fh,040h,03Eh,000h ; Hex #40 | ||
| 93 | Db 01Ch,00Ch,01Ch,016h,03Eh,023h,063h,000h ; Hex #41 | ||
| 94 | Db 07Ch,036h,036h,03Eh,033h,033h,07Eh,000h ; Hex #42 | ||
| 95 | Db 01Dh,033h,061h,060h,060h,031h,01Eh,000h ; Hex #43 | ||
| 96 | Db 07Ch,036h,033h,033h,033h,036h,07Ch,000h ; Hex #44 | ||
| 97 | Db 07Fh,031h,034h,03Ch,034h,031h,07Fh,000h ; Hex #45 | ||
| 98 | Db 07Fh,031h,034h,03Ch,034h,030h,078h,000h ; Hex #46 | ||
| 99 | Db 01Dh,033h,061h,060h,067h,033h,01Fh,000h ; Hex #47 | ||
| 100 | Db 066h,066h,066h,07Eh,066h,066h,066h,000h ; Hex #48 | ||
| 101 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 102 | Db 01Fh,006h,006h,006h,066h,066h,03Ch,000h ; Hex #4A | ||
| 103 | Db 067h,066h,06Ch,078h,06Ch,066h,067h,000h ; Hex #4B | ||
| 104 | Db 078h,030h,030h,030h,031h,033h,07Fh,000h ; Hex #4C | ||
| 105 | Db 041h,063h,077h,07Fh,06Bh,063h,063h,000h ; Hex #4D | ||
| 106 | Db 043h,063h,073h,07Bh,06Fh,067h,063h,000h ; Hex #4E | ||
| 107 | Db 01Ch,036h,063h,063h,063h,036h,01Ch,000h ; Hex #4F | ||
| 108 | Db 07Eh,033h,033h,03Eh,030h,030h,078h,000h ; Hex #50 | ||
| 109 | Db 01Ch,036h,063h,063h,06Bh,036h,01Ch,007h ; Hex #51 | ||
| 110 | Db 07Ch,066h,066h,07Ch,06Ch,066h,067h,000h ; Hex #52 | ||
| 111 | Db 03Eh,066h,070h,03Ch,00Eh,066h,07Ch,000h ; Hex #53 | ||
| 112 | Db 07Eh,05Ah,018h,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 113 | Db 063h,063h,063h,063h,063h,063h,03Eh,000h ; Hex #55 | ||
| 114 | Db 077h,062h,036h,034h,01Ch,018h,008h,000h ; Hex #56 | ||
| 115 | Db 063h,063h,06Bh,06Bh,03Eh,036h,022h,000h ; Hex #57 | ||
| 116 | Db 066h,066h,03Ch,018h,03Ch,066h,066h,000h ; Hex #58 | ||
| 117 | Db 0E7h,066h,034h,018h,018h,018h,03Ch,000h ; Hex #59 | ||
| 118 | Db 07Eh,066h,04Ch,018h,032h,066h,07Eh,000h ; Hex #5A | ||
| 119 | Db 01Eh,018h,018h,018h,018h,018h,01Eh,000h ; Hex #5B | ||
| 120 | Db 060h,030h,018h,00Ch,006h,003h,001h,000h ; Hex #5C | ||
| 121 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 122 | Db 008h,01Ch,036h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 124 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 125 | Db 000h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #61 | ||
| 126 | Db 070h,030h,03Eh,03Bh,033h,03Bh,06Eh,000h ; Hex #62 | ||
| 127 | Db 000h,000h,03Eh,066h,060h,066h,03Ch,000h ; Hex #63 | ||
| 128 | Db 00Eh,006h,036h,06Eh,066h,066h,03Bh,000h ; Hex #64 | ||
| 129 | Db 000h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #65 | ||
| 130 | Db 00Eh,01Bh,018h,03Eh,018h,018h,03Ch,000h ; Hex #66 | ||
| 131 | Db 000h,000h,03Dh,066h,038h,03Eh,063h,03Eh ; Hex #67 | ||
| 132 | Db 070h,030h,036h,03Bh,033h,033h,073h,000h ; Hex #68 | ||
| 133 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 134 | Db 00Ch,000h,01Ch,00Ch,00Ch,06Ch,06Ch,038h ; Hex #6A | ||
| 135 | Db 070h,030h,033h,036h,03Ch,036h,077h,000h ; Hex #6B | ||
| 136 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 137 | Db 000h,000h,076h,07Fh,06Bh,06Bh,06Bh,000h ; Hex #6D | ||
| 138 | Db 000h,000h,076h,03Bh,033h,033h,073h,000h ; Hex #6E | ||
| 139 | Db 000h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #6F | ||
| 140 | Db 000h,000h,06Eh,033h,033h,03Eh,030h,078h ; Hex #70 | ||
| 141 | Db 000h,000h,03Ah,066h,066h,03Eh,006h,00Fh ; Hex #71 | ||
| 142 | Db 000h,000h,06Eh,03Bh,033h,030h,078h,000h ; Hex #72 | ||
| 143 | Db 000h,000h,03Eh,070h,03Ch,00Eh,07Ch,000h ; Hex #73 | ||
| 144 | Db 008h,018h,03Eh,018h,018h,01Ah,00Ch,000h ; Hex #74 | ||
| 145 | Db 000h,000h,066h,066h,066h,066h,03Bh,000h ; Hex #75 | ||
| 146 | Db 000h,000h,073h,032h,036h,01Ch,008h,000h ; Hex #76 | ||
| 147 | Db 000h,000h,06Bh,06Bh,07Fh,036h,022h,000h ; Hex #77 | ||
| 148 | Db 000h,000h,073h,036h,01Ch,036h,067h,000h ; Hex #78 | ||
| 149 | Db 000h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #79 | ||
| 150 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 151 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 152 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 153 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 154 | Db 039h,04Eh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 155 | Db 008h,01Ch,01Ch,036h,026h,063h,07Fh,07Fh ; Hex #7F | ||
| 156 | Db 01Dh,033h,061h,060h,060h,031h,00Eh,01Ch ; Hex #80 | ||
| 157 | Db 06Ch,000h,066h,066h,066h,066h,03Bh,000h ; Hex #81 | ||
| 158 | Db 00Ch,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #82 | ||
| 159 | Db 018h,03Ch,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #83 | ||
| 160 | Db 039h,04Eh,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #84 | ||
| 161 | Db 030h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #85 | ||
| 162 | Db 00Ch,018h,01Ch,016h,036h,03Fh,063h,000h ; Hex #86 | ||
| 163 | Db 000h,000h,03Eh,066h,060h,036h,01Ch,038h ; Hex #87 | ||
| 164 | Db 018h,03Ch,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #88 | ||
| 165 | Db 01Ch,036h,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #89 | ||
| 166 | Db 030h,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #8A | ||
| 167 | Db 00Ch,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 168 | Db 01Ch,036h,03Eh,063h,063h,036h,01Ch,000h ; Hex #8C | ||
| 169 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 170 | Db 03Bh,06Eh,01Ch,016h,036h,03Fh,063h,000h ; Hex #8E | ||
| 171 | Db 01Ch,036h,008h,01Eh,036h,03Fh,063h,000h ; Hex #8F | ||
| 172 | Db 006h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #90 | ||
| 173 | Db 01Ch,006h,01Ch,016h,036h,03Fh,063h,000h ; Hex #91 | ||
| 174 | Db 018h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #92 | ||
| 175 | Db 018h,03Ch,03Ch,066h,066h,066h,03Ch,000h ; Hex #93 | ||
| 176 | Db 03Ah,06Eh,03Ch,066h,066h,066h,03Ch,000h ; Hex #94 | ||
| 177 | Db 030h,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #95 | ||
| 178 | Db 00Ch,05Bh,063h,063h,063h,063h,03Eh,000h ; Hex #96 | ||
| 179 | Db 030h,018h,066h,066h,066h,066h,03Bh,000h ; Hex #97 | ||
| 180 | Db 030h,018h,03Ch,018h,018h,018h,03Ch,000h ; Hex #98 | ||
| 181 | Db 03Bh,06Eh,036h,063h,063h,036h,01Ch,000h ; Hex #99 | ||
| 182 | Db 036h,041h,063h,063h,063h,063h,03Eh,000h ; Hex #9A | ||
| 183 | Db 006h,004h,03Ch,06Eh,068h,06Ah,03Ch,030h ; Hex #9B | ||
| 184 | Db 01Eh,033h,033h,07Ch,039h,05Bh,076h,000h ; Hex #9C | ||
| 185 | Db 018h,06Dh,063h,063h,063h,063h,03Eh,000h ; Hex #9D | ||
| 186 | Db 078h,06Ch,06Ch,07Ah,066h,06Fh,066h,003h ; Hex #9E | ||
| 187 | Db 006h,00Ch,036h,063h,063h,036h,01Ch,000h ; Hex #9F | ||
| 188 | Db 00Ch,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #A0 | ||
| 189 | Db 018h,030h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 190 | Db 00Ch,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #A2 | ||
| 191 | Db 00Ch,018h,066h,066h,066h,066h,03Bh,000h ; Hex #A3 | ||
| 192 | Db 01Ah,02Ch,076h,03Bh,033h,033h,073h,000h ; Hex #A4 | ||
| 193 | Db 01Ah,02Ch,073h,07Bh,06Fh,067h,063h,000h ; Hex #A5 | ||
| 194 | Db 01Eh,036h,036h,01Fh,000h,03Fh,000h,000h ; Hex #A6 | ||
| 195 | Db 01Ch,036h,036h,01Ch,000h,03Eh,000h,000h ; Hex #A7 | ||
| 196 | Db 018h,000h,018h,030h,064h,066h,03Ch,000h ; Hex #A8 | ||
| 197 | Db 018h,00Ch,036h,063h,063h,036h,01Ch,000h ; Hex #A9 | ||
| 198 | Db 000h,000h,000h,07Eh,006h,006h,000h,000h ; Hex #AA | ||
| 199 | Db 060h,066h,06Ch,07Eh,03Bh,066h,04Ch,00Fh ; Hex #AB | ||
| 200 | Db 060h,066h,06Ch,07Bh,037h,06Bh,04Fh,003h ; Hex #AC | ||
| 201 | Db 018h,000h,018h,018h,018h,018h,018h,000h ; Hex #AD | ||
| 202 | Db 000h,01Bh,036h,06Ch,06Ch,036h,01Bh,000h ; Hex #AE | ||
| 203 | Db 000h,06Ch,036h,01Bh,01Bh,036h,06Ch,000h ; Hex #AF | ||
| 204 | Db 011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 205 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 206 | Db 0EEh,0BBh,0EEh,0BBh,0EEh,0BBh,0EEh,0BBh ; Hex #B2 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 208 | Db 018h,018h,018h,0F8h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 209 | Db 018h,018h,0F8h,0F8h,018h,0F8h,018h,018h ; Hex #B5 | ||
| 210 | Db 034h,034h,034h,0F4h,0F4h,034h,034h,034h ; Hex #B6 | ||
| 211 | Db 000h,000h,000h,0F8h,0FCh,034h,034h,034h ; Hex #B7 | ||
| 212 | Db 000h,000h,0F0h,0F8h,018h,0F8h,018h,018h ; Hex #B8 | ||
| 213 | Db 034h,034h,0F4h,0F4h,004h,0F4h,034h,034h ; Hex #B9 | ||
| 214 | Db 034h,034h,034h,034h,034h,034h,034h,034h ; Hex #BA | ||
| 215 | Db 000h,000h,0F8h,0FCh,004h,0F4h,034h,034h ; Hex #BB | ||
| 216 | Db 034h,034h,0F4h,0F4h,004h,0FCh,000h,000h ; Hex #BC | ||
| 217 | Db 034h,034h,034h,0FCh,0FCh,000h,000h,000h ; Hex #BD | ||
| 218 | Db 018h,018h,0F8h,0F8h,018h,0F8h,000h,000h ; Hex #BE | ||
| 219 | Db 000h,000h,000h,0F8h,0F8h,018h,018h,018h ; Hex #BF | ||
| 220 | Db 018h,018h,018h,01Fh,01Fh,000h,000h,000h ; Hex #C0 | ||
| 221 | Db 018h,018h,018h,0FFh,0FFh,000h,000h,000h ; Hex #C1 | ||
| 222 | Db 000h,000h,000h,0FFh,0FFh,018h,018h,018h ; Hex #C2 | ||
| 223 | Db 018h,018h,018h,01Fh,01Fh,018h,018h,018h ; Hex #C3 | ||
| 224 | Db 000h,000h,000h,0FFh,0FFh,000h,000h,000h ; Hex #C4 | ||
| 225 | Db 018h,018h,018h,0FFh,0FFh,018h,018h,018h ; Hex #C5 | ||
| 226 | Db 018h,018h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #C6 | ||
| 227 | Db 034h,034h,034h,037h,037h,034h,034h,034h ; Hex #C7 | ||
| 228 | Db 034h,034h,037h,037h,030h,01Fh,000h,000h ; Hex #C8 | ||
| 229 | Db 000h,000h,03Fh,03Fh,030h,037h,034h,034h ; Hex #C9 | ||
| 230 | Db 034h,034h,0F7h,0F7h,000h,0FFh,000h,000h ; Hex #CA | ||
| 231 | Db 000h,000h,0FFh,0FFh,000h,0F7h,034h,034h ; Hex #CB | ||
| 232 | Db 034h,034h,037h,037h,030h,037h,034h,034h ; Hex #CC | ||
| 233 | Db 000h,000h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CD | ||
| 234 | Db 034h,034h,0F7h,0F7h,000h,0F7h,034h,034h ; Hex #CE | ||
| 235 | Db 018h,018h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CF | ||
| 236 | Db 034h,034h,034h,0FFh,0FFh,000h,000h,000h ; Hex #D0 | ||
| 237 | Db 000h,000h,0FFh,0FFh,000h,0FFh,018h,018h ; Hex #D1 | ||
| 238 | Db 000h,000h,000h,0FFh,0FFh,034h,034h,034h ; Hex #D2 | ||
| 239 | Db 034h,034h,034h,03Fh,01Fh,000h,000h,000h ; Hex #D3 | ||
| 240 | Db 018h,018h,01Fh,01Fh,018h,00Fh,000h,000h ; Hex #D4 | ||
| 241 | Db 000h,000h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #D5 | ||
| 242 | Db 000h,000h,000h,03Fh,03Fh,034h,034h,034h ; Hex #D6 | ||
| 243 | Db 034h,034h,034h,0FFh,0FFh,034h,034h,034h ; Hex #D7 | ||
| 244 | Db 018h,018h,0FFh,0FFh,018h,0FFh,018h,018h ; Hex #D8 | ||
| 245 | Db 018h,018h,018h,0F8h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 246 | Db 000h,000h,000h,01Fh,01Fh,018h,018h,018h ; Hex #DA | ||
| 247 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 248 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 249 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 250 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 251 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 252 | Db 000h,000h,03Dh,06Eh,066h,06Eh,03Bh,000h ; Hex #E0 | ||
| 253 | Db 03Ch,066h,06Ch,066h,063h,07Bh,06Eh,000h ; Hex #E1 | ||
| 254 | Db 07Fh,033h,031h,030h,030h,030h,078h,000h ; Hex #E2 | ||
| 255 | Db 000h,03Fh,07Eh,054h,014h,036h,066h,000h ; Hex #E3 | ||
| 256 | Db 07Fh,033h,018h,00Ch,018h,033h,07Fh,000h ; Hex #E4 | ||
| 257 | Db 000h,000h,03Fh,06Ch,06Ch,06Ch,038h,000h ; Hex #E5 | ||
| 258 | Db 000h,000h,033h,033h,033h,037h,06Dh,060h ; Hex #E6 | ||
| 259 | Db 000h,03Fh,07Eh,050h,018h,01Ch,00Ch,000h ; Hex #E7 | ||
| 260 | Db 01Ch,008h,03Eh,06Bh,03Eh,008h,01Ch,000h ; Hex #E8 | ||
| 261 | Db 01Ch,036h,063h,07Fh,063h,036h,01Ch,000h ; Hex #E9 | ||
| 262 | Db 01Ch,036h,063h,063h,036h,055h,077h,000h ; Hex #EA | ||
| 263 | Db 01Ch,030h,018h,02Ch,066h,066h,03Ch,000h ; Hex #EB | ||
| 264 | Db 000h,036h,07Fh,04Dh,059h,07Fh,036h,000h ; Hex #EC | ||
| 265 | Db 000h,000h,036h,06Fh,06Bh,03Eh,008h,00Ch ; Hex #ED | ||
| 266 | Db 000h,000h,01Eh,030h,03Eh,030h,01Eh,000h ; Hex #EE | ||
| 267 | Db 03Ch,066h,066h,066h,066h,066h,066h,000h ; Hex #EF | ||
| 268 | Db 000h,07Eh,000h,07Eh,000h,07Eh,000h,000h ; Hex #F0 | ||
| 269 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 270 | Db 060h,038h,00Eh,038h,060h,000h,07Eh,000h ; Hex #F2 | ||
| 271 | Db 006h,01Ch,070h,01Ch,006h,000h,07Eh,000h ; Hex #F3 | ||
| 272 | Db 00Eh,01Bh,01Ah,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 273 | Db 018h,018h,018h,018h,058h,0D8h,070h,000h ; Hex #F5 | ||
| 274 | Db 018h,018h,000h,07Eh,000h,018h,018h,000h ; Hex #F6 | ||
| 275 | Db 000h,03Bh,06Eh,000h,03Bh,06Eh,000h,000h ; Hex #F7 | ||
| 276 | Db 01Ch,036h,036h,01Ch,000h,000h,000h,000h ; Hex #F8 | ||
| 277 | Db 000h,000h,018h,03Ch,018h,000h,000h,000h ; Hex #F9 | ||
| 278 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 279 | Db 003h,002h,006h,024h,06Ch,038h,018h,010h ; Hex #FB | ||
| 280 | Db 076h,03Bh,033h,033h,033h,000h,000h,000h ; Hex #FC | ||
| 281 | Db 03Ch,066h,00Ch,038h,07Eh,000h,000h,000h ; Hex #FD | ||
| 282 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 283 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 284 | LEN_D860 EQU ($-D860) | ||
| 285 | ; | ||
| 286 | POST_EGA860 EQU $ ; | ||
| 287 | ; | ||
| 288 | CODE ENDS | ||
| 289 | END | ||
| 290 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/863-CPI.ASM b/v4.0/src/DEV/DISPLAY/LCD/863-CPI.ASM new file mode 100644 index 0000000..90bd0ec --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/863-CPI.ASM | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 863 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA863: DW LEN_863 ;SIZE OF ENTRY HEADER | ||
| 13 | DW POST_EGA863,0 ;POINTER TO NEXT HEADER | ||
| 14 | DW 1 ;DEVICE TYPE | ||
| 15 | DB "LCD " ;DEVICE SUBTYPE ID | ||
| 16 | DW 863 ;CODE PAGE ID | ||
| 17 | DW 3 DUP(0) ;RESERVED | ||
| 18 | DW OFFSET DATA863,0 ;POINTER TO FONTS | ||
| 19 | LEN_863 EQU ($-EGA863) | ||
| 20 | |||
| 21 | DATA863:DW 1 ;CART/NON-CART | ||
| 22 | DW 1 ;# OF FONTS | ||
| 23 | DW LEN_D863 ;LENGTH OF DATA | ||
| 24 | D863: ; | ||
| 25 | DB 8,8 ;CHARACTER BOX SIZE | ||
| 26 | DB 0,0 ;ASPECT RATIO (UNUSED) | ||
| 27 | DW 256 ;NUMBER OF CHARACTERS | ||
| 28 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 29 | Db 03Ch,042h,0A5h,0A5h,081h,0BDh,05Ah,03Ch ; Hex #1 | ||
| 30 | Db 03Ch,07Eh,0DBh,0DBh,0FFh,0C3h,066h,03Ch ; Hex #2 | ||
| 31 | Db 036h,07Fh,07Fh,07Fh,03Eh,01Ch,008h,000h ; Hex #3 | ||
| 32 | Db 008h,01Ch,03Eh,07Fh,03Eh,01Ch,008h,000h ; Hex #4 | ||
| 33 | Db 01Ch,03Eh,01Ch,07Fh,07Fh,036h,008h,01Ch ; Hex #5 | ||
| 34 | Db 008h,01Ch,03Eh,07Fh,07Fh,036h,008h,01Ch ; Hex #6 | ||
| 35 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 36 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 37 | Db 000h,000h,03Ch,066h,066h,03Ch,000h,000h ; Hex #9 | ||
| 38 | Db 0FFh,0FFh,0C3h,099h,099h,0C3h,0FFh,0FFh ; Hex #A | ||
| 39 | Db 007h,003h,03Eh,066h,066h,066h,03Ch,000h ; Hex #B | ||
| 40 | Db 03Ch,066h,066h,066h,03Ch,018h,03Ch,018h ; Hex #C | ||
| 41 | Db 008h,00Ch,00Eh,00Ah,00Ah,008h,038h,030h ; Hex #D | ||
| 42 | Db 018h,016h,019h,017h,071h,061h,007h,006h ; Hex #E | ||
| 43 | Db 048h,06Bh,03Eh,0E4h,027h,07Ch,0D6h,012h ; Hex #F | ||
| 44 | Db 040h,070h,07Ch,07Fh,07Ch,070h,040h,000h ; Hex #10 | ||
| 45 | Db 001h,007h,01Fh,07Fh,01Fh,007h,001h,000h ; Hex #11 | ||
| 46 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 47 | Db 036h,036h,036h,036h,036h,000h,036h,000h ; Hex #13 | ||
| 48 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #14 | ||
| 49 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #15 | ||
| 50 | Db 000h,000h,000h,07Fh,07Fh,07Fh,000h,000h ; Hex #16 | ||
| 51 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 52 | Db 018h,03Ch,07Eh,05Ah,018h,018h,018h,000h ; Hex #18 | ||
| 53 | Db 018h,018h,018h,05Ah,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 54 | Db 000h,00Ch,006h,07Fh,07Fh,006h,00Ch,000h ; Hex #1A | ||
| 55 | Db 000h,018h,030h,07Fh,07Fh,030h,018h,000h ; Hex #1B | ||
| 56 | Db 000h,000h,060h,060h,07Fh,07Fh,000h,000h ; Hex #1C | ||
| 57 | Db 000h,014h,036h,07Fh,07Fh,036h,014h,000h ; Hex #1D | ||
| 58 | Db 008h,008h,01Ch,01Ch,03Eh,03Eh,07Fh,000h ; Hex #1E | ||
| 59 | Db 07Fh,03Eh,03Eh,01Ch,01Ch,008h,008h,000h ; Hex #1F | ||
| 60 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 61 | Db 018h,018h,018h,018h,018h,000h,018h,000h ; Hex #21 | ||
| 62 | Db 036h,036h,014h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 63 | Db 00Ah,00Ah,03Fh,014h,07Eh,028h,028h,000h ; Hex #23 | ||
| 64 | Db 008h,03Eh,068h,03Eh,00Bh,07Eh,008h,000h ; Hex #24 | ||
| 65 | Db 001h,03Fh,052h,06Ch,01Bh,035h,076h,000h ; Hex #25 | ||
| 66 | Db 01Ch,036h,01Ch,03Bh,06Eh,066h,03Bh,000h ; Hex #26 | ||
| 67 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 68 | Db 006h,00Ch,018h,018h,018h,00Ch,006h,000h ; Hex #28 | ||
| 69 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 70 | Db 000h,036h,01Ch,07Fh,01Ch,036h,000h,000h ; Hex #2A | ||
| 71 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 72 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 73 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 74 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 75 | Db 003h,006h,00Ch,018h,030h,060h,040h,000h ; Hex #2F | ||
| 76 | Db 018h,02Ch,066h,066h,066h,034h,018h,000h ; Hex #30 | ||
| 77 | Db 018h,018h,038h,018h,018h,018h,03Ch,000h ; Hex #31 | ||
| 78 | Db 03Ch,066h,066h,00Ch,018h,032h,07Eh,000h ; Hex #32 | ||
| 79 | Db 03Ch,066h,00Ch,01Ch,006h,066h,03Ch,000h ; Hex #33 | ||
| 80 | Db 00Ch,01Ch,02Ch,06Ch,07Eh,00Ch,01Eh,000h ; Hex #34 | ||
| 81 | Db 07Eh,060h,07Ch,066h,006h,066h,03Ch,000h ; Hex #35 | ||
| 82 | Db 01Ch,030h,060h,07Ch,066h,066h,03Ch,000h ; Hex #36 | ||
| 83 | Db 07Eh,066h,04Ch,00Ch,018h,018h,038h,000h ; Hex #37 | ||
| 84 | Db 03Ch,066h,076h,03Ch,06Eh,066h,03Ch,000h ; Hex #38 | ||
| 85 | Db 03Ch,066h,066h,03Eh,006h,00Ch,038h,000h ; Hex #39 | ||
| 86 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 87 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 88 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 89 | Db 000h,000h,07Eh,000h,07Eh,000h,000h,000h ; Hex #3D | ||
| 90 | Db 030h,018h,00Ch,006h,00Ch,018h,030h,000h ; Hex #3E | ||
| 91 | Db 03Ch,066h,026h,00Ch,018h,000h,018h,000h ; Hex #3F | ||
| 92 | Db 03Eh,041h,05Dh,055h,05Fh,040h,03Eh,000h ; Hex #40 | ||
| 93 | Db 01Ch,00Ch,01Ch,016h,03Eh,023h,063h,000h ; Hex #41 | ||
| 94 | Db 07Ch,036h,036h,03Eh,033h,033h,07Eh,000h ; Hex #42 | ||
| 95 | Db 01Dh,033h,061h,060h,060h,031h,01Eh,000h ; Hex #43 | ||
| 96 | Db 07Ch,036h,033h,033h,033h,036h,07Ch,000h ; Hex #44 | ||
| 97 | Db 07Fh,031h,034h,03Ch,034h,031h,07Fh,000h ; Hex #45 | ||
| 98 | Db 07Fh,031h,034h,03Ch,034h,030h,078h,000h ; Hex #46 | ||
| 99 | Db 01Dh,033h,061h,060h,067h,033h,01Fh,000h ; Hex #47 | ||
| 100 | Db 066h,066h,066h,07Eh,066h,066h,066h,000h ; Hex #48 | ||
| 101 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 102 | Db 01Fh,006h,006h,006h,066h,066h,03Ch,000h ; Hex #4A | ||
| 103 | Db 067h,066h,06Ch,078h,06Ch,066h,067h,000h ; Hex #4B | ||
| 104 | Db 078h,030h,030h,030h,031h,033h,07Fh,000h ; Hex #4C | ||
| 105 | Db 041h,063h,077h,07Fh,06Bh,063h,063h,000h ; Hex #4D | ||
| 106 | Db 043h,063h,073h,07Bh,06Fh,067h,063h,000h ; Hex #4E | ||
| 107 | Db 01Ch,036h,063h,063h,063h,036h,01Ch,000h ; Hex #4F | ||
| 108 | Db 07Eh,033h,033h,03Eh,030h,030h,078h,000h ; Hex #50 | ||
| 109 | Db 01Ch,036h,063h,063h,06Bh,036h,01Ch,007h ; Hex #51 | ||
| 110 | Db 07Ch,066h,066h,07Ch,06Ch,066h,067h,000h ; Hex #52 | ||
| 111 | Db 03Eh,066h,070h,03Ch,00Eh,066h,07Ch,000h ; Hex #53 | ||
| 112 | Db 07Eh,05Ah,018h,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 113 | Db 063h,063h,063h,063h,063h,063h,03Eh,000h ; Hex #55 | ||
| 114 | Db 077h,062h,036h,034h,01Ch,018h,008h,000h ; Hex #56 | ||
| 115 | Db 063h,063h,06Bh,06Bh,03Eh,036h,022h,000h ; Hex #57 | ||
| 116 | Db 066h,066h,03Ch,018h,03Ch,066h,066h,000h ; Hex #58 | ||
| 117 | Db 0E7h,066h,034h,018h,018h,018h,03Ch,000h ; Hex #59 | ||
| 118 | Db 07Eh,066h,04Ch,018h,032h,066h,07Eh,000h ; Hex #5A | ||
| 119 | Db 01Eh,018h,018h,018h,018h,018h,01Eh,000h ; Hex #5B | ||
| 120 | Db 060h,030h,018h,00Ch,006h,003h,001h,000h ; Hex #5C | ||
| 121 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 122 | Db 008h,01Ch,036h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 123 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 124 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 125 | Db 000h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #61 | ||
| 126 | Db 070h,030h,03Eh,03Bh,033h,03Bh,06Eh,000h ; Hex #62 | ||
| 127 | Db 000h,000h,03Eh,066h,060h,066h,03Ch,000h ; Hex #63 | ||
| 128 | Db 00Eh,006h,036h,06Eh,066h,066h,03Bh,000h ; Hex #64 | ||
| 129 | Db 000h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #65 | ||
| 130 | Db 00Eh,01Bh,018h,03Eh,018h,018h,03Ch,000h ; Hex #66 | ||
| 131 | Db 000h,000h,03Dh,066h,038h,03Eh,063h,03Eh ; Hex #67 | ||
| 132 | Db 070h,030h,036h,03Bh,033h,033h,073h,000h ; Hex #68 | ||
| 133 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 134 | Db 00Ch,000h,01Ch,00Ch,00Ch,06Ch,06Ch,038h ; Hex #6A | ||
| 135 | Db 070h,030h,033h,036h,03Ch,036h,077h,000h ; Hex #6B | ||
| 136 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 137 | Db 000h,000h,076h,07Fh,06Bh,06Bh,06Bh,000h ; Hex #6D | ||
| 138 | Db 000h,000h,076h,03Bh,033h,033h,073h,000h ; Hex #6E | ||
| 139 | Db 000h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #6F | ||
| 140 | Db 000h,000h,06Eh,033h,033h,03Eh,030h,078h ; Hex #70 | ||
| 141 | Db 000h,000h,03Ah,066h,066h,03Eh,006h,00Fh ; Hex #71 | ||
| 142 | Db 000h,000h,06Eh,03Bh,033h,030h,078h,000h ; Hex #72 | ||
| 143 | Db 000h,000h,03Eh,070h,03Ch,00Eh,07Ch,000h ; Hex #73 | ||
| 144 | Db 008h,018h,03Eh,018h,018h,01Ah,00Ch,000h ; Hex #74 | ||
| 145 | Db 000h,000h,066h,066h,066h,066h,03Bh,000h ; Hex #75 | ||
| 146 | Db 000h,000h,073h,032h,036h,01Ch,008h,000h ; Hex #76 | ||
| 147 | Db 000h,000h,06Bh,06Bh,07Fh,036h,022h,000h ; Hex #77 | ||
| 148 | Db 000h,000h,073h,036h,01Ch,036h,067h,000h ; Hex #78 | ||
| 149 | Db 000h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #79 | ||
| 150 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 151 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 152 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 153 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 154 | Db 039h,04Eh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 155 | Db 008h,01Ch,01Ch,036h,026h,063h,07Fh,07Fh ; Hex #7F | ||
| 156 | Db 01Dh,033h,061h,060h,060h,031h,00Eh,01Ch ; Hex #80 | ||
| 157 | Db 06Ch,000h,066h,066h,066h,066h,03Bh,000h ; Hex #81 | ||
| 158 | Db 00Ch,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #82 | ||
| 159 | Db 018h,03Ch,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #83 | ||
| 160 | Db 01Ch,036h,008h,01Eh,036h,03Fh,063h,000h ; Hex #84 | ||
| 161 | Db 030h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #85 | ||
| 162 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #86 | ||
| 163 | Db 000h,000h,03Eh,066h,060h,036h,01Ch,038h ; Hex #87 | ||
| 164 | Db 018h,03Ch,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #88 | ||
| 165 | Db 036h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #89 | ||
| 166 | Db 030h,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #8A | ||
| 167 | Db 06Ch,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 168 | Db 018h,03Ch,000h,038h,018h,018h,03Ch,000h ; Hex #8C | ||
| 169 | Db 000h,000h,000h,000h,000h,0FFh,000h,0FFh ; Hex #8D | ||
| 170 | Db 01Ch,006h,01Ch,016h,036h,03Fh,063h,000h ; Hex #8E | ||
| 171 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #8F | ||
| 172 | Db 006h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #90 | ||
| 173 | Db 018h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #91 | ||
| 174 | Db 01Ch,036h,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #92 | ||
| 175 | Db 018h,03Ch,03Ch,066h,066h,066h,03Ch,000h ; Hex #93 | ||
| 176 | Db 036h,000h,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #94 | ||
| 177 | Db 066h,000h,03Ch,018h,018h,018h,03Ch,000h ; Hex #95 | ||
| 178 | Db 018h,03Ch,042h,066h,066h,066h,03Bh,000h ; Hex #96 | ||
| 179 | Db 030h,018h,066h,066h,066h,066h,03Bh,000h ; Hex #97 | ||
| 180 | Db 000h,066h,07Eh,024h,024h,07Eh,066h,000h ; Hex #98 | ||
| 181 | Db 01Ch,036h,03Eh,063h,063h,036h,01Ch,000h ; Hex #99 | ||
| 182 | Db 036h,041h,063h,063h,063h,063h,03Eh,000h ; Hex #9A | ||
| 183 | Db 006h,004h,03Ch,06Eh,068h,06Ah,03Ch,030h ; Hex #9B | ||
| 184 | Db 01Eh,033h,033h,07Ch,039h,05Bh,076h,000h ; Hex #9C | ||
| 185 | Db 018h,06Dh,063h,063h,063h,063h,03Eh,000h ; Hex #9D | ||
| 186 | Db 01Ch,036h,041h,063h,063h,063h,03Eh,000h ; Hex #9E | ||
| 187 | Db 00Eh,01Bh,018h,03Eh,018h,018h,058h,070h ; Hex #9F | ||
| 188 | Db 018h,018h,018h,000h,000h,018h,018h,018h ; Hex #A0 | ||
| 189 | Db 00Ch,018h,030h,000h,000h,000h,000h,000h ; Hex #A1 | ||
| 190 | Db 00Ch,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #A2 | ||
| 191 | Db 00Ch,018h,066h,066h,066h,066h,03Bh,000h ; Hex #A3 | ||
| 192 | Db 036h,000h,000h,000h,000h,000h,000h,000h ; Hex #A4 | ||
| 193 | Db 000h,000h,000h,000h,000h,000h,00Eh,01Ch ; Hex #A5 | ||
| 194 | Db 03Ch,066h,01Ch,066h,03Ch,000h,000h,000h ; Hex #A6 | ||
| 195 | Db 0FFh,000h,000h,000h,000h,000h,000h,000h ; Hex #A7 | ||
| 196 | Db 018h,024h,03Ch,018h,018h,018h,03Ch,000h ; Hex #A8 | ||
| 197 | Db 000h,000h,000h,07Eh,060h,060h,000h,000h ; Hex #A9 | ||
| 198 | Db 000h,000h,000h,07Eh,006h,006h,000h,000h ; Hex #AA | ||
| 199 | Db 060h,066h,06Ch,07Eh,03Bh,066h,04Ch,00Fh ; Hex #AB | ||
| 200 | Db 060h,066h,06Ch,07Bh,037h,06Bh,04Fh,003h ; Hex #AC | ||
| 201 | Db 070h,05Bh,036h,05Fh,07Fh,03Bh,06Fh,043h ; Hex #AD | ||
| 202 | Db 000h,01Bh,036h,06Ch,06Ch,036h,01Bh,000h ; Hex #AE | ||
| 203 | Db 000h,06Ch,036h,01Bh,01Bh,036h,06Ch,000h ; Hex #AF | ||
| 204 | Db 011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 205 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 206 | Db 0EEh,0BBh,0EEh,0BBh,0EEh,0BBh,0EEh,0BBh ; Hex #B2 | ||
| 207 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 208 | Db 018h,018h,018h,0F8h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 209 | Db 018h,018h,0F8h,0F8h,018h,0F8h,018h,018h ; Hex #B5 | ||
| 210 | Db 034h,034h,034h,0F4h,0F4h,034h,034h,034h ; Hex #B6 | ||
| 211 | Db 000h,000h,000h,0F8h,0FCh,034h,034h,034h ; Hex #B7 | ||
| 212 | Db 000h,000h,0F0h,0F8h,018h,0F8h,018h,018h ; Hex #B8 | ||
| 213 | Db 034h,034h,0F4h,0F4h,004h,0F4h,034h,034h ; Hex #B9 | ||
| 214 | Db 034h,034h,034h,034h,034h,034h,034h,034h ; Hex #BA | ||
| 215 | Db 000h,000h,0F8h,0FCh,004h,0F4h,034h,034h ; Hex #BB | ||
| 216 | Db 034h,034h,0F4h,0F4h,004h,0FCh,000h,000h ; Hex #BC | ||
| 217 | Db 034h,034h,034h,0FCh,0FCh,000h,000h,000h ; Hex #BD | ||
| 218 | Db 018h,018h,0F8h,0F8h,018h,0F8h,000h,000h ; Hex #BE | ||
| 219 | Db 000h,000h,000h,0F8h,0F8h,018h,018h,018h ; Hex #BF | ||
| 220 | Db 018h,018h,018h,01Fh,01Fh,000h,000h,000h ; Hex #C0 | ||
| 221 | Db 018h,018h,018h,0FFh,0FFh,000h,000h,000h ; Hex #C1 | ||
| 222 | Db 000h,000h,000h,0FFh,0FFh,018h,018h,018h ; Hex #C2 | ||
| 223 | Db 018h,018h,018h,01Fh,01Fh,018h,018h,018h ; Hex #C3 | ||
| 224 | Db 000h,000h,000h,0FFh,0FFh,000h,000h,000h ; Hex #C4 | ||
| 225 | Db 018h,018h,018h,0FFh,0FFh,018h,018h,018h ; Hex #C5 | ||
| 226 | Db 018h,018h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #C6 | ||
| 227 | Db 034h,034h,034h,037h,037h,034h,034h,034h ; Hex #C7 | ||
| 228 | Db 034h,034h,037h,037h,030h,01Fh,000h,000h ; Hex #C8 | ||
| 229 | Db 000h,000h,03Fh,03Fh,030h,037h,034h,034h ; Hex #C9 | ||
| 230 | Db 034h,034h,0F7h,0F7h,000h,0FFh,000h,000h ; Hex #CA | ||
| 231 | Db 000h,000h,0FFh,0FFh,000h,0F7h,034h,034h ; Hex #CB | ||
| 232 | Db 034h,034h,037h,037h,030h,037h,034h,034h ; Hex #CC | ||
| 233 | Db 000h,000h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CD | ||
| 234 | Db 034h,034h,0F7h,0F7h,000h,0F7h,034h,034h ; Hex #CE | ||
| 235 | Db 018h,018h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CF | ||
| 236 | Db 034h,034h,034h,0FFh,0FFh,000h,000h,000h ; Hex #D0 | ||
| 237 | Db 000h,000h,0FFh,0FFh,000h,0FFh,018h,018h ; Hex #D1 | ||
| 238 | Db 000h,000h,000h,0FFh,0FFh,034h,034h,034h ; Hex #D2 | ||
| 239 | Db 034h,034h,034h,03Fh,01Fh,000h,000h,000h ; Hex #D3 | ||
| 240 | Db 018h,018h,01Fh,01Fh,018h,00Fh,000h,000h ; Hex #D4 | ||
| 241 | Db 000h,000h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #D5 | ||
| 242 | Db 000h,000h,000h,03Fh,03Fh,034h,034h,034h ; Hex #D6 | ||
| 243 | Db 034h,034h,034h,0FFh,0FFh,034h,034h,034h ; Hex #D7 | ||
| 244 | Db 018h,018h,0FFh,0FFh,018h,0FFh,018h,018h ; Hex #D8 | ||
| 245 | Db 018h,018h,018h,0F8h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 246 | Db 000h,000h,000h,01Fh,01Fh,018h,018h,018h ; Hex #DA | ||
| 247 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 248 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 249 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 250 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 251 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 252 | Db 000h,000h,03Dh,06Eh,066h,06Eh,03Bh,000h ; Hex #E0 | ||
| 253 | Db 03Ch,066h,06Ch,066h,063h,07Bh,06Eh,000h ; Hex #E1 | ||
| 254 | Db 07Fh,033h,031h,030h,030h,030h,078h,000h ; Hex #E2 | ||
| 255 | Db 000h,03Fh,07Eh,054h,014h,036h,066h,000h ; Hex #E3 | ||
| 256 | Db 07Fh,033h,018h,00Ch,018h,033h,07Fh,000h ; Hex #E4 | ||
| 257 | Db 000h,000h,03Fh,06Ch,06Ch,06Ch,038h,000h ; Hex #E5 | ||
| 258 | Db 000h,000h,033h,033h,033h,037h,06Dh,060h ; Hex #E6 | ||
| 259 | Db 000h,03Fh,07Eh,050h,018h,01Ch,00Ch,000h ; Hex #E7 | ||
| 260 | Db 01Ch,008h,03Eh,06Bh,03Eh,008h,01Ch,000h ; Hex #E8 | ||
| 261 | Db 01Ch,036h,063h,07Fh,063h,036h,01Ch,000h ; Hex #E9 | ||
| 262 | Db 01Ch,036h,063h,063h,036h,055h,077h,000h ; Hex #EA | ||
| 263 | Db 01Ch,030h,018h,02Ch,066h,066h,03Ch,000h ; Hex #EB | ||
| 264 | Db 000h,036h,07Fh,04Dh,059h,07Fh,036h,000h ; Hex #EC | ||
| 265 | Db 000h,000h,036h,06Fh,06Bh,03Eh,008h,00Ch ; Hex #ED | ||
| 266 | Db 000h,000h,01Eh,030h,03Eh,030h,01Eh,000h ; Hex #EE | ||
| 267 | Db 03Ch,066h,066h,066h,066h,066h,066h,000h ; Hex #EF | ||
| 268 | Db 000h,07Eh,000h,07Eh,000h,07Eh,000h,000h ; Hex #F0 | ||
| 269 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 270 | Db 060h,038h,00Eh,038h,060h,000h,07Eh,000h ; Hex #F2 | ||
| 271 | Db 006h,01Ch,070h,01Ch,006h,000h,07Eh,000h ; Hex #F3 | ||
| 272 | Db 00Eh,01Bh,01Ah,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 273 | Db 018h,018h,018h,018h,058h,0D8h,070h,000h ; Hex #F5 | ||
| 274 | Db 018h,018h,000h,07Eh,000h,018h,018h,000h ; Hex #F6 | ||
| 275 | Db 000h,03Bh,06Eh,000h,03Bh,06Eh,000h,000h ; Hex #F7 | ||
| 276 | Db 01Ch,036h,036h,01Ch,000h,000h,000h,000h ; Hex #F8 | ||
| 277 | Db 000h,000h,018h,03Ch,018h,000h,000h,000h ; Hex #F9 | ||
| 278 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 279 | Db 003h,002h,006h,024h,06Ch,038h,018h,010h ; Hex #FB | ||
| 280 | Db 076h,03Bh,033h,033h,033h,000h,000h,000h ; Hex #FC | ||
| 281 | Db 03Ch,066h,00Ch,038h,07Eh,000h,000h,000h ; Hex #FD | ||
| 282 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 283 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 284 | LEN_D863 EQU ($-D863) | ||
| 285 | ; | ||
| 286 | POST_EGA863 EQU $ ; | ||
| 287 | ; | ||
| 288 | ; | ||
| 289 | CODE ENDS ; | ||
| 290 | END ; | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/865-CPI.ASM b/v4.0/src/DEV/DISPLAY/LCD/865-CPI.ASM new file mode 100644 index 0000000..3dff339 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/865-CPI.ASM | |||
| @@ -0,0 +1,292 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | IF1 | ||
| 5 | %OUT EGA.CPI creation file | ||
| 6 | %OUT . | ||
| 7 | %OUT CP SRC files: | ||
| 8 | %OUT . | ||
| 9 | %OUT . CODE PAGE: 865 | ||
| 10 | ENDIF | ||
| 11 | |||
| 12 | EGA865: DW LEN_865 ;SIZE OF ENTRY HEADER | ||
| 13 | ;;;;;;;;DW POST_EGA865,0 ;POINTER TO NEXT HEADER | ||
| 14 | DW -1,-1 ;NO MORE TO COME......LAST ENTRY | ||
| 15 | DW 1 ;DEVICE TYPE | ||
| 16 | DB "LCD " ;DEVICE SUBTYPE ID | ||
| 17 | DW 865 ;CODE PAGE ID | ||
| 18 | DW 3 DUP(0) ;RESERVED | ||
| 19 | DW OFFSET DATA865,0 ;POINTER TO FONTS | ||
| 20 | LEN_865 EQU ($-EGA865) | ||
| 21 | |||
| 22 | DATA865:DW 1 ;CART/NON-CART | ||
| 23 | DW 1 ;# OF FONTS | ||
| 24 | DW LEN_D865 ;LENGTH OF DATA | ||
| 25 | D865: ; | ||
| 26 | DB 8,8 ;CHARACTER BOX SIZE | ||
| 27 | DB 0,0 ;ASPECT RATIO (UNUSED) | ||
| 28 | DW 256 ;NUMBER OF CHARACTERS | ||
| 29 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #0 | ||
| 30 | Db 03Ch,042h,0A5h,0A5h,081h,0BDh,05Ah,03Ch ; Hex #1 | ||
| 31 | Db 03Ch,07Eh,0DBh,0DBh,0FFh,0C3h,066h,03Ch ; Hex #2 | ||
| 32 | Db 036h,07Fh,07Fh,07Fh,03Eh,01Ch,008h,000h ; Hex #3 | ||
| 33 | Db 008h,01Ch,03Eh,07Fh,03Eh,01Ch,008h,000h ; Hex #4 | ||
| 34 | Db 01Ch,03Eh,01Ch,07Fh,07Fh,036h,008h,01Ch ; Hex #5 | ||
| 35 | Db 008h,01Ch,03Eh,07Fh,07Fh,036h,008h,01Ch ; Hex #6 | ||
| 36 | Db 000h,000h,018h,03Ch,03Ch,018h,000h,000h ; Hex #7 | ||
| 37 | Db 0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh ; Hex #8 | ||
| 38 | Db 000h,000h,03Ch,066h,066h,03Ch,000h,000h ; Hex #9 | ||
| 39 | Db 0FFh,0FFh,0C3h,099h,099h,0C3h,0FFh,0FFh ; Hex #A | ||
| 40 | Db 007h,003h,03Eh,066h,066h,066h,03Ch,000h ; Hex #B | ||
| 41 | Db 03Ch,066h,066h,066h,03Ch,018h,03Ch,018h ; Hex #C | ||
| 42 | Db 008h,00Ch,00Eh,00Ah,00Ah,008h,038h,030h ; Hex #D | ||
| 43 | Db 018h,016h,019h,017h,071h,061h,007h,006h ; Hex #E | ||
| 44 | Db 048h,06Bh,03Eh,0E4h,027h,07Ch,0D6h,012h ; Hex #F | ||
| 45 | Db 040h,070h,07Ch,07Fh,07Ch,070h,040h,000h ; Hex #10 | ||
| 46 | Db 001h,007h,01Fh,07Fh,01Fh,007h,001h,000h ; Hex #11 | ||
| 47 | Db 018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h ; Hex #12 | ||
| 48 | Db 036h,036h,036h,036h,036h,000h,036h,000h ; Hex #13 | ||
| 49 | Db 03Fh,06Ah,06Ah,03Ah,00Ah,00Ah,01Ah,000h ; Hex #14 | ||
| 50 | Db 03Ch,076h,038h,06Ch,036h,01Ch,06Eh,03Ch ; Hex #15 | ||
| 51 | Db 000h,000h,000h,07Fh,07Fh,07Fh,000h,000h ; Hex #16 | ||
| 52 | Db 018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh ; Hex #17 | ||
| 53 | Db 018h,03Ch,07Eh,05Ah,018h,018h,018h,000h ; Hex #18 | ||
| 54 | Db 018h,018h,018h,05Ah,07Eh,03Ch,018h,000h ; Hex #19 | ||
| 55 | Db 000h,00Ch,006h,07Fh,07Fh,006h,00Ch,000h ; Hex #1A | ||
| 56 | Db 000h,018h,030h,07Fh,07Fh,030h,018h,000h ; Hex #1B | ||
| 57 | Db 000h,000h,060h,060h,07Fh,07Fh,000h,000h ; Hex #1C | ||
| 58 | Db 000h,014h,036h,07Fh,07Fh,036h,014h,000h ; Hex #1D | ||
| 59 | Db 008h,008h,01Ch,01Ch,03Eh,03Eh,07Fh,000h ; Hex #1E | ||
| 60 | Db 07Fh,03Eh,03Eh,01Ch,01Ch,008h,008h,000h ; Hex #1F | ||
| 61 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #20 | ||
| 62 | Db 018h,018h,018h,018h,018h,000h,018h,000h ; Hex #21 | ||
| 63 | Db 036h,036h,014h,000h,000h,000h,000h,000h ; Hex #22 | ||
| 64 | Db 00Ah,00Ah,03Fh,014h,07Eh,028h,028h,000h ; Hex #23 | ||
| 65 | Db 008h,03Eh,068h,03Eh,00Bh,07Eh,008h,000h ; Hex #24 | ||
| 66 | Db 001h,03Fh,052h,06Ch,01Bh,035h,076h,000h ; Hex #25 | ||
| 67 | Db 01Ch,036h,01Ch,03Bh,06Eh,066h,03Bh,000h ; Hex #26 | ||
| 68 | Db 018h,018h,030h,000h,000h,000h,000h,000h ; Hex #27 | ||
| 69 | Db 006h,00Ch,018h,018h,018h,00Ch,006h,000h ; Hex #28 | ||
| 70 | Db 030h,018h,00Ch,00Ch,00Ch,018h,030h,000h ; Hex #29 | ||
| 71 | Db 000h,036h,01Ch,07Fh,01Ch,036h,000h,000h ; Hex #2A | ||
| 72 | Db 000h,018h,018h,07Eh,018h,018h,000h,000h ; Hex #2B | ||
| 73 | Db 000h,000h,000h,000h,000h,018h,018h,030h ; Hex #2C | ||
| 74 | Db 000h,000h,000h,07Eh,000h,000h,000h,000h ; Hex #2D | ||
| 75 | Db 000h,000h,000h,000h,000h,018h,018h,000h ; Hex #2E | ||
| 76 | Db 003h,006h,00Ch,018h,030h,060h,040h,000h ; Hex #2F | ||
| 77 | Db 018h,02Ch,066h,066h,066h,034h,018h,000h ; Hex #30 | ||
| 78 | Db 018h,018h,038h,018h,018h,018h,03Ch,000h ; Hex #31 | ||
| 79 | Db 03Ch,066h,066h,00Ch,018h,032h,07Eh,000h ; Hex #32 | ||
| 80 | Db 03Ch,066h,00Ch,01Ch,006h,066h,03Ch,000h ; Hex #33 | ||
| 81 | Db 00Ch,01Ch,02Ch,06Ch,07Eh,00Ch,01Eh,000h ; Hex #34 | ||
| 82 | Db 07Eh,060h,07Ch,066h,006h,066h,03Ch,000h ; Hex #35 | ||
| 83 | Db 01Ch,030h,060h,07Ch,066h,066h,03Ch,000h ; Hex #36 | ||
| 84 | Db 07Eh,066h,04Ch,00Ch,018h,018h,038h,000h ; Hex #37 | ||
| 85 | Db 03Ch,066h,076h,03Ch,06Eh,066h,03Ch,000h ; Hex #38 | ||
| 86 | Db 03Ch,066h,066h,03Eh,006h,00Ch,038h,000h ; Hex #39 | ||
| 87 | Db 000h,018h,018h,000h,000h,018h,018h,000h ; Hex #3A | ||
| 88 | Db 000h,018h,018h,000h,000h,018h,018h,030h ; Hex #3B | ||
| 89 | Db 006h,00Ch,018h,030h,018h,00Ch,006h,000h ; Hex #3C | ||
| 90 | Db 000h,000h,07Eh,000h,07Eh,000h,000h,000h ; Hex #3D | ||
| 91 | Db 030h,018h,00Ch,006h,00Ch,018h,030h,000h ; Hex #3E | ||
| 92 | Db 03Ch,066h,026h,00Ch,018h,000h,018h,000h ; Hex #3F | ||
| 93 | Db 03Eh,041h,05Dh,055h,05Fh,040h,03Eh,000h ; Hex #40 | ||
| 94 | Db 01Ch,00Ch,01Ch,016h,03Eh,023h,063h,000h ; Hex #41 | ||
| 95 | Db 07Ch,036h,036h,03Eh,033h,033h,07Eh,000h ; Hex #42 | ||
| 96 | Db 01Dh,033h,061h,060h,060h,031h,01Eh,000h ; Hex #43 | ||
| 97 | Db 07Ch,036h,033h,033h,033h,036h,07Ch,000h ; Hex #44 | ||
| 98 | Db 07Fh,031h,034h,03Ch,034h,031h,07Fh,000h ; Hex #45 | ||
| 99 | Db 07Fh,031h,034h,03Ch,034h,030h,078h,000h ; Hex #46 | ||
| 100 | Db 01Dh,033h,061h,060h,067h,033h,01Fh,000h ; Hex #47 | ||
| 101 | Db 066h,066h,066h,07Eh,066h,066h,066h,000h ; Hex #48 | ||
| 102 | Db 03Ch,018h,018h,018h,018h,018h,03Ch,000h ; Hex #49 | ||
| 103 | Db 01Fh,006h,006h,006h,066h,066h,03Ch,000h ; Hex #4A | ||
| 104 | Db 067h,066h,06Ch,078h,06Ch,066h,067h,000h ; Hex #4B | ||
| 105 | Db 078h,030h,030h,030h,031h,033h,07Fh,000h ; Hex #4C | ||
| 106 | Db 041h,063h,077h,07Fh,06Bh,063h,063h,000h ; Hex #4D | ||
| 107 | Db 043h,063h,073h,07Bh,06Fh,067h,063h,000h ; Hex #4E | ||
| 108 | Db 01Ch,036h,063h,063h,063h,036h,01Ch,000h ; Hex #4F | ||
| 109 | Db 07Eh,033h,033h,03Eh,030h,030h,078h,000h ; Hex #50 | ||
| 110 | Db 01Ch,036h,063h,063h,06Bh,036h,01Ch,007h ; Hex #51 | ||
| 111 | Db 07Ch,066h,066h,07Ch,06Ch,066h,067h,000h ; Hex #52 | ||
| 112 | Db 03Eh,066h,070h,03Ch,00Eh,066h,07Ch,000h ; Hex #53 | ||
| 113 | Db 07Eh,05Ah,018h,018h,018h,018h,03Ch,000h ; Hex #54 | ||
| 114 | Db 063h,063h,063h,063h,063h,063h,03Eh,000h ; Hex #55 | ||
| 115 | Db 077h,062h,036h,034h,01Ch,018h,008h,000h ; Hex #56 | ||
| 116 | Db 063h,063h,06Bh,06Bh,03Eh,036h,022h,000h ; Hex #57 | ||
| 117 | Db 066h,066h,03Ch,018h,03Ch,066h,066h,000h ; Hex #58 | ||
| 118 | Db 0E7h,066h,034h,018h,018h,018h,03Ch,000h ; Hex #59 | ||
| 119 | Db 07Eh,066h,04Ch,018h,032h,066h,07Eh,000h ; Hex #5A | ||
| 120 | Db 01Eh,018h,018h,018h,018h,018h,01Eh,000h ; Hex #5B | ||
| 121 | Db 060h,030h,018h,00Ch,006h,003h,001h,000h ; Hex #5C | ||
| 122 | Db 03Ch,00Ch,00Ch,00Ch,00Ch,00Ch,03Ch,000h ; Hex #5D | ||
| 123 | Db 008h,01Ch,036h,000h,000h,000h,000h,000h ; Hex #5E | ||
| 124 | Db 000h,000h,000h,000h,000h,000h,000h,0FFh ; Hex #5F | ||
| 125 | Db 030h,018h,00Ch,000h,000h,000h,000h,000h ; Hex #60 | ||
| 126 | Db 000h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #61 | ||
| 127 | Db 070h,030h,03Eh,03Bh,033h,03Bh,06Eh,000h ; Hex #62 | ||
| 128 | Db 000h,000h,03Eh,066h,060h,066h,03Ch,000h ; Hex #63 | ||
| 129 | Db 00Eh,006h,036h,06Eh,066h,066h,03Bh,000h ; Hex #64 | ||
| 130 | Db 000h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #65 | ||
| 131 | Db 00Eh,01Bh,018h,03Eh,018h,018h,03Ch,000h ; Hex #66 | ||
| 132 | Db 000h,000h,03Dh,066h,038h,03Eh,063h,03Eh ; Hex #67 | ||
| 133 | Db 070h,030h,036h,03Bh,033h,033h,073h,000h ; Hex #68 | ||
| 134 | Db 018h,000h,038h,018h,018h,018h,03Ch,000h ; Hex #69 | ||
| 135 | Db 00Ch,000h,01Ch,00Ch,00Ch,06Ch,06Ch,038h ; Hex #6A | ||
| 136 | Db 070h,030h,033h,036h,03Ch,036h,077h,000h ; Hex #6B | ||
| 137 | Db 038h,018h,018h,018h,018h,018h,03Ch,000h ; Hex #6C | ||
| 138 | Db 000h,000h,076h,07Fh,06Bh,06Bh,06Bh,000h ; Hex #6D | ||
| 139 | Db 000h,000h,076h,03Bh,033h,033h,073h,000h ; Hex #6E | ||
| 140 | Db 000h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #6F | ||
| 141 | Db 000h,000h,06Eh,033h,033h,03Eh,030h,078h ; Hex #70 | ||
| 142 | Db 000h,000h,03Ah,066h,066h,03Eh,006h,00Fh ; Hex #71 | ||
| 143 | Db 000h,000h,06Eh,03Bh,033h,030h,078h,000h ; Hex #72 | ||
| 144 | Db 000h,000h,03Eh,070h,03Ch,00Eh,07Ch,000h ; Hex #73 | ||
| 145 | Db 008h,018h,03Eh,018h,018h,01Ah,00Ch,000h ; Hex #74 | ||
| 146 | Db 000h,000h,066h,066h,066h,066h,03Bh,000h ; Hex #75 | ||
| 147 | Db 000h,000h,073h,032h,036h,01Ch,008h,000h ; Hex #76 | ||
| 148 | Db 000h,000h,06Bh,06Bh,07Fh,036h,022h,000h ; Hex #77 | ||
| 149 | Db 000h,000h,073h,036h,01Ch,036h,067h,000h ; Hex #78 | ||
| 150 | Db 000h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #79 | ||
| 151 | Db 000h,000h,07Eh,04Ch,018h,032h,07Eh,000h ; Hex #7A | ||
| 152 | Db 00Eh,018h,018h,070h,018h,018h,00Eh,000h ; Hex #7B | ||
| 153 | Db 018h,018h,018h,018h,018h,018h,018h,000h ; Hex #7C | ||
| 154 | Db 070h,018h,018h,00Eh,018h,018h,070h,000h ; Hex #7D | ||
| 155 | Db 039h,04Eh,000h,000h,000h,000h,000h,000h ; Hex #7E | ||
| 156 | Db 008h,01Ch,01Ch,036h,026h,063h,07Fh,07Fh ; Hex #7F | ||
| 157 | Db 01Dh,033h,061h,060h,060h,031h,00Eh,01Ch ; Hex #80 | ||
| 158 | Db 06Ch,000h,066h,066h,066h,066h,03Bh,000h ; Hex #81 | ||
| 159 | Db 00Ch,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #82 | ||
| 160 | Db 018h,03Ch,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #83 | ||
| 161 | Db 036h,000h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #84 | ||
| 162 | Db 030h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #85 | ||
| 163 | Db 018h,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #86 | ||
| 164 | Db 000h,000h,03Eh,066h,060h,036h,01Ch,038h ; Hex #87 | ||
| 165 | Db 018h,03Ch,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #88 | ||
| 166 | Db 036h,000h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #89 | ||
| 167 | Db 030h,018h,03Ch,066h,07Eh,060h,03Eh,000h ; Hex #8A | ||
| 168 | Db 06Ch,000h,038h,018h,018h,018h,03Ch,000h ; Hex #8B | ||
| 169 | Db 018h,03Ch,000h,038h,018h,018h,03Ch,000h ; Hex #8C | ||
| 170 | Db 030h,018h,000h,038h,018h,018h,03Ch,000h ; Hex #8D | ||
| 171 | Db 036h,008h,01Ch,016h,036h,03Fh,063h,000h ; Hex #8E | ||
| 172 | Db 01Ch,014h,01Ch,01Eh,036h,03Fh,063h,000h ; Hex #8F | ||
| 173 | Db 006h,00Ch,07Fh,031h,03Ch,031h,07Fh,000h ; Hex #90 | ||
| 174 | Db 000h,000h,076h,01Bh,03Fh,06Ch,077h,000h ; Hex #91 | ||
| 175 | Db 03Fh,03Dh,02Ch,03Eh,06Ch,06Dh,06Fh,000h ; Hex #92 | ||
| 176 | Db 018h,03Ch,03Ch,066h,066h,066h,03Ch,000h ; Hex #93 | ||
| 177 | Db 066h,000h,03Ch,066h,066h,066h,03Ch,000h ; Hex #94 | ||
| 178 | Db 030h,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #95 | ||
| 179 | Db 018h,03Ch,042h,066h,066h,066h,03Bh,000h ; Hex #96 | ||
| 180 | Db 030h,018h,066h,066h,066h,066h,03Bh,000h ; Hex #97 | ||
| 181 | Db 036h,000h,077h,033h,01Ah,00Ch,06Ch,038h ; Hex #98 | ||
| 182 | Db 063h,01Ch,036h,063h,063h,036h,01Ch,000h ; Hex #99 | ||
| 183 | Db 036h,041h,063h,063h,063h,063h,03Eh,000h ; Hex #9A | ||
| 184 | Db 000h,004h,03Ch,06Eh,07Eh,076h,03Ch,020h ; Hex #9B | ||
| 185 | Db 01Eh,033h,033h,07Ch,039h,05Bh,076h,000h ; Hex #9C | ||
| 186 | Db 01Dh,036h,067h,06Bh,073h,036h,05Ch,000h ; Hex #9D | ||
| 187 | Db 078h,06Ch,06Ch,07Ah,066h,06Fh,066h,003h ; Hex #9E | ||
| 188 | Db 00Eh,01Bh,018h,03Eh,018h,018h,058h,070h ; Hex #9F | ||
| 189 | Db 00Ch,018h,03Ch,066h,01Eh,066h,07Bh,000h ; Hex #A0 | ||
| 190 | Db 018h,030h,000h,038h,018h,018h,03Ch,000h ; Hex #A1 | ||
| 191 | Db 00Ch,018h,03Ch,066h,066h,066h,03Ch,000h ; Hex #A2 | ||
| 192 | Db 00Ch,018h,066h,066h,066h,066h,03Bh,000h ; Hex #A3 | ||
| 193 | Db 01Ah,02Ch,076h,03Bh,033h,033h,073h,000h ; Hex #A4 | ||
| 194 | Db 01Ah,02Ch,073h,07Bh,06Fh,067h,063h,000h ; Hex #A5 | ||
| 195 | Db 01Eh,036h,036h,01Fh,000h,03Fh,000h,000h ; Hex #A6 | ||
| 196 | Db 01Ch,036h,036h,01Ch,000h,03Eh,000h,000h ; Hex #A7 | ||
| 197 | Db 018h,000h,018h,030h,064h,066h,03Ch,000h ; Hex #A8 | ||
| 198 | Db 000h,000h,000h,07Eh,060h,060h,000h,000h ; Hex #A9 | ||
| 199 | Db 000h,000h,000h,07Eh,006h,006h,000h,000h ; Hex #AA | ||
| 200 | Db 060h,066h,06Ch,07Eh,03Bh,066h,04Ch,00Fh ; Hex #AB | ||
| 201 | Db 060h,066h,06Ch,07Bh,037h,06Bh,04Fh,003h ; Hex #AC | ||
| 202 | Db 018h,000h,018h,018h,018h,018h,018h,000h ; Hex #AD | ||
| 203 | Db 000h,01Bh,036h,06Ch,06Ch,036h,01Bh,000h ; Hex #AE | ||
| 204 | Db 000h,066h,07Eh,024h,024h,07Eh,066h,000h ; Hex #AF | ||
| 205 | Db 011h,044h,011h,044h,011h,044h,011h,044h ; Hex #B0 | ||
| 206 | Db 055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh ; Hex #B1 | ||
| 207 | Db 0EEh,0BBh,0EEh,0BBh,0EEh,0BBh,0EEh,0BBh ; Hex #B2 | ||
| 208 | Db 018h,018h,018h,018h,018h,018h,018h,018h ; Hex #B3 | ||
| 209 | Db 018h,018h,018h,0F8h,0F8h,018h,018h,018h ; Hex #B4 | ||
| 210 | Db 018h,018h,0F8h,0F8h,018h,0F8h,018h,018h ; Hex #B5 | ||
| 211 | Db 034h,034h,034h,0F4h,0F4h,034h,034h,034h ; Hex #B6 | ||
| 212 | Db 000h,000h,000h,0F8h,0FCh,034h,034h,034h ; Hex #B7 | ||
| 213 | Db 000h,000h,0F0h,0F8h,018h,0F8h,018h,018h ; Hex #B8 | ||
| 214 | Db 034h,034h,0F4h,0F4h,004h,0F4h,034h,034h ; Hex #B9 | ||
| 215 | Db 034h,034h,034h,034h,034h,034h,034h,034h ; Hex #BA | ||
| 216 | Db 000h,000h,0F8h,0FCh,004h,0F4h,034h,034h ; Hex #BB | ||
| 217 | Db 034h,034h,0F4h,0F4h,004h,0FCh,000h,000h ; Hex #BC | ||
| 218 | Db 034h,034h,034h,0FCh,0FCh,000h,000h,000h ; Hex #BD | ||
| 219 | Db 018h,018h,0F8h,0F8h,018h,0F8h,000h,000h ; Hex #BE | ||
| 220 | Db 000h,000h,000h,0F8h,0F8h,018h,018h,018h ; Hex #BF | ||
| 221 | Db 018h,018h,018h,01Fh,01Fh,000h,000h,000h ; Hex #C0 | ||
| 222 | Db 018h,018h,018h,0FFh,0FFh,000h,000h,000h ; Hex #C1 | ||
| 223 | Db 000h,000h,000h,0FFh,0FFh,018h,018h,018h ; Hex #C2 | ||
| 224 | Db 018h,018h,018h,01Fh,01Fh,018h,018h,018h ; Hex #C3 | ||
| 225 | Db 000h,000h,000h,0FFh,0FFh,000h,000h,000h ; Hex #C4 | ||
| 226 | Db 018h,018h,018h,0FFh,0FFh,018h,018h,018h ; Hex #C5 | ||
| 227 | Db 018h,018h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #C6 | ||
| 228 | Db 034h,034h,034h,037h,037h,034h,034h,034h ; Hex #C7 | ||
| 229 | Db 034h,034h,037h,037h,030h,01Fh,000h,000h ; Hex #C8 | ||
| 230 | Db 000h,000h,03Fh,03Fh,030h,037h,034h,034h ; Hex #C9 | ||
| 231 | Db 034h,034h,0F7h,0F7h,000h,0FFh,000h,000h ; Hex #CA | ||
| 232 | Db 000h,000h,0FFh,0FFh,000h,0F7h,034h,034h ; Hex #CB | ||
| 233 | Db 034h,034h,037h,037h,030h,037h,034h,034h ; Hex #CC | ||
| 234 | Db 000h,000h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CD | ||
| 235 | Db 034h,034h,0F7h,0F7h,000h,0F7h,034h,034h ; Hex #CE | ||
| 236 | Db 018h,018h,0FFh,0FFh,000h,0FFh,000h,000h ; Hex #CF | ||
| 237 | Db 034h,034h,034h,0FFh,0FFh,000h,000h,000h ; Hex #D0 | ||
| 238 | Db 000h,000h,0FFh,0FFh,000h,0FFh,018h,018h ; Hex #D1 | ||
| 239 | Db 000h,000h,000h,0FFh,0FFh,034h,034h,034h ; Hex #D2 | ||
| 240 | Db 034h,034h,034h,03Fh,01Fh,000h,000h,000h ; Hex #D3 | ||
| 241 | Db 018h,018h,01Fh,01Fh,018h,00Fh,000h,000h ; Hex #D4 | ||
| 242 | Db 000h,000h,01Fh,01Fh,018h,01Fh,018h,018h ; Hex #D5 | ||
| 243 | Db 000h,000h,000h,03Fh,03Fh,034h,034h,034h ; Hex #D6 | ||
| 244 | Db 034h,034h,034h,0FFh,0FFh,034h,034h,034h ; Hex #D7 | ||
| 245 | Db 018h,018h,0FFh,0FFh,018h,0FFh,018h,018h ; Hex #D8 | ||
| 246 | Db 018h,018h,018h,0F8h,0F8h,000h,000h,000h ; Hex #D9 | ||
| 247 | Db 000h,000h,000h,01Fh,01Fh,018h,018h,018h ; Hex #DA | ||
| 248 | Db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh ; Hex #DB | ||
| 249 | Db 000h,000h,000h,000h,0FFh,0FFh,0FFh,0FFh ; Hex #DC | ||
| 250 | Db 0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h ; Hex #DD | ||
| 251 | Db 00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh ; Hex #DE | ||
| 252 | Db 0FFh,0FFh,0FFh,0FFh,000h,000h,000h,000h ; Hex #DF | ||
| 253 | Db 000h,000h,03Dh,06Eh,066h,06Eh,03Bh,000h ; Hex #E0 | ||
| 254 | Db 03Ch,066h,06Ch,066h,063h,07Bh,06Eh,000h ; Hex #E1 | ||
| 255 | Db 07Fh,033h,031h,030h,030h,030h,078h,000h ; Hex #E2 | ||
| 256 | Db 000h,03Fh,07Eh,054h,014h,036h,066h,000h ; Hex #E3 | ||
| 257 | Db 07Fh,033h,018h,00Ch,018h,033h,07Fh,000h ; Hex #E4 | ||
| 258 | Db 000h,000h,03Fh,06Ch,06Ch,06Ch,038h,000h ; Hex #E5 | ||
| 259 | Db 000h,000h,033h,033h,033h,037h,06Dh,060h ; Hex #E6 | ||
| 260 | Db 000h,03Fh,07Eh,050h,018h,01Ch,00Ch,000h ; Hex #E7 | ||
| 261 | Db 01Ch,008h,03Eh,06Bh,03Eh,008h,01Ch,000h ; Hex #E8 | ||
| 262 | Db 01Ch,036h,063h,07Fh,063h,036h,01Ch,000h ; Hex #E9 | ||
| 263 | Db 01Ch,036h,063h,063h,036h,055h,077h,000h ; Hex #EA | ||
| 264 | Db 01Ch,030h,018h,02Ch,066h,066h,03Ch,000h ; Hex #EB | ||
| 265 | Db 000h,036h,07Fh,04Dh,059h,07Fh,036h,000h ; Hex #EC | ||
| 266 | Db 001h,003h,03Eh,067h,06Bh,073h,03Eh,040h ; Hex #ED | ||
| 267 | Db 000h,000h,01Eh,030h,03Eh,030h,01Eh,000h ; Hex #EE | ||
| 268 | Db 03Ch,066h,066h,066h,066h,066h,066h,000h ; Hex #EF | ||
| 269 | Db 000h,07Eh,000h,07Eh,000h,07Eh,000h,000h ; Hex #F0 | ||
| 270 | Db 018h,018h,07Eh,018h,018h,000h,07Eh,000h ; Hex #F1 | ||
| 271 | Db 060h,038h,00Eh,038h,060h,000h,07Eh,000h ; Hex #F2 | ||
| 272 | Db 006h,01Ch,070h,01Ch,006h,000h,07Eh,000h ; Hex #F3 | ||
| 273 | Db 00Eh,01Bh,01Ah,018h,018h,018h,018h,018h ; Hex #F4 | ||
| 274 | Db 018h,018h,018h,018h,058h,0D8h,070h,000h ; Hex #F5 | ||
| 275 | Db 018h,018h,000h,07Eh,000h,018h,018h,000h ; Hex #F6 | ||
| 276 | Db 000h,03Bh,06Eh,000h,03Bh,06Eh,000h,000h ; Hex #F7 | ||
| 277 | Db 01Ch,036h,036h,01Ch,000h,000h,000h,000h ; Hex #F8 | ||
| 278 | Db 000h,000h,018h,03Ch,018h,000h,000h,000h ; Hex #F9 | ||
| 279 | Db 000h,000h,000h,018h,000h,000h,000h,000h ; Hex #FA | ||
| 280 | Db 003h,002h,006h,024h,06Ch,038h,018h,010h ; Hex #FB | ||
| 281 | Db 076h,03Bh,033h,033h,033h,000h,000h,000h ; Hex #FC | ||
| 282 | Db 03Ch,066h,00Ch,038h,07Eh,000h,000h,000h ; Hex #FD | ||
| 283 | Db 000h,000h,03Ch,03Ch,03Ch,03Ch,000h,000h ; Hex #FE | ||
| 284 | Db 000h,000h,000h,000h,000h,000h,000h,000h ; Hex #FF | ||
| 285 | LEN_D865 EQU ($-D865) | ||
| 286 | ; | ||
| 287 | POST_EGA865 EQU $ ; | ||
| 288 | ; | ||
| 289 | include copyrigh.inc | ||
| 290 | |||
| 291 | CODE ENDS | ||
| 292 | END | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/COPYRIGH.ASM b/v4.0/src/DEV/DISPLAY/LCD/COPYRIGH.ASM new file mode 100644 index 0000000..d144cf9 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/COPYRIGH.ASM | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | DB 13,10 | ||
| 5 | DB "Microsoft MS-DOS (R) LCD Display Font File",13,10 | ||
| 6 | include copyrigh.inc | ||
| 7 | DB 1Ah | ||
| 8 | |||
| 9 | CODE ENDS | ||
| 10 | END | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/FONT-R3.ASM b/v4.0/src/DEV/DISPLAY/LCD/FONT-R3.ASM new file mode 100644 index 0000000..b450e61 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/FONT-R3.ASM | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | CODE SEGMENT BYTE PUBLIC 'CODE' | ||
| 2 | ASSUME CS:CODE,DS:CODE | ||
| 3 | |||
| 4 | BEGIN: ORG 0 | ||
| 5 | |||
| 6 | FNTHEAD:DB 0FFH,"FONT " ;FILE TAG | ||
| 7 | DB 8 DUP(0) ;RESERVED | ||
| 8 | DW 1 ;CNT OF POINTERS IN HEADER | ||
| 9 | DB 1 ;TYPE FOR INFO POINTER | ||
| 10 | DW OFFSET INFO,0 ;POINTER TO INFO IN FILE | ||
| 11 | INFO: DW 5 ;COUNT OF ENTRIES | ||
| 12 | |||
| 13 | CODE ENDS | ||
| 14 | END | ||
| 15 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/LCD.LNK b/v4.0/src/DEV/DISPLAY/LCD/LCD.LNK new file mode 100644 index 0000000..ef24e8f --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/LCD.LNK | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | FONT-R3+ | ||
| 2 | 437-CPI+ | ||
| 3 | 850-CPI+ | ||
| 4 | 860-CPI+ | ||
| 5 | 863-CPI+ | ||
| 6 | 865-CPI+ | ||
| 7 | COPYRIGH; | ||
| 8 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/LCD/MAKEFILE b/v4.0/src/DEV/DISPLAY/LCD/MAKEFILE new file mode 100644 index 0000000..18ba576 --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/LCD/MAKEFILE | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | #************************ Makefile for Display\LCD ************************ | ||
| 2 | |||
| 3 | inc =..\..\..\inc | ||
| 4 | msg =..\..\..\message | ||
| 5 | dos =..\..\..\dos | ||
| 6 | hinc =..\..\..\h | ||
| 7 | |||
| 8 | # | ||
| 9 | ######################### Dependencies Begin Here ######################### | ||
| 10 | # | ||
| 11 | |||
| 12 | all: lcd.cpi | ||
| 13 | |||
| 14 | 865-cpi.obj: 865-cpi.asm | ||
| 15 | |||
| 16 | 860-cpi.obj: 860-cpi.asm | ||
| 17 | |||
| 18 | 437-cpi.obj: 437-cpi.asm | ||
| 19 | |||
| 20 | 863-cpi.obj: 863-cpi.asm | ||
| 21 | |||
| 22 | 850-cpi.obj: 850-cpi.asm | ||
| 23 | |||
| 24 | copyrigh.obj: copyrigh.asm $(inc)\copyrigh.inc | ||
| 25 | |||
| 26 | font-r3.obj: font-r3.asm | ||
| 27 | |||
| 28 | lcd.cpi: font-r3.obj 437-cpi.obj 850-cpi.obj 860-cpi.obj \ | ||
| 29 | 863-cpi.obj 865-cpi.obj copyrigh.obj lcd.lnk makefile | ||
| 30 | link @lcd.lnk | ||
| 31 | exe2bin font-r3.exe lcd.cpi | ||
| 32 | del font-r3.exe | ||
diff --git a/v4.0/src/DEV/DISPLAY/MACROS.INC b/v4.0/src/DEV/DISPLAY/MACROS.INC new file mode 100644 index 0000000..6e316ac --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/MACROS.INC | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; *** MACROS **** MACROS **** MACROS **** | ||
| 3 | ; | ||
| 4 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 5 | IF1 ; | ||
| 6 | %OUT . ®MACROS .INC¯ | ||
| 7 | ENDIF ; | ||
| 8 | ; | ||
| 9 | JUMP MACRO LBL ; | ||
| 10 | LOCAL A ; | ||
| 11 | .XCREF ; | ||
| 12 | IFNDEF LBL&_J ; IS THIS FIRST INVOKATION | ||
| 13 | A: JMP LBL ; | ||
| 14 | ELSE ; | ||
| 15 | IF (LBL&_J GE $) OR ($-LBL&_J GT 126) | ||
| 16 | A: JMP LBL ; IS THE JUMP TOO FAR AWAY? | ||
| 17 | ELSE ; | ||
| 18 | A: JMP LBL&_J ; PERFORM SHORT JUMP | ||
| 19 | ENDIF ; | ||
| 20 | ENDIF ; | ||
| 21 | LBL&_J=A ; | ||
| 22 | .CREF ; | ||
| 23 | ENDM ; | ||
| 24 | .XCREF JUMP ; | ||
| 25 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 26 | ; | ||
| 27 | ; *** MACROS **** MACROS **** MACROS **** | ||
| 28 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 29 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/MAKEFILE b/v4.0/src/DEV/DISPLAY/MAKEFILE new file mode 100644 index 0000000..a0eb06e --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/MAKEFILE | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | #************************* Makefile for Display *************************** | ||
| 2 | |||
| 3 | inc =..\..\inc | ||
| 4 | msg =..\..\messages | ||
| 5 | dos =..\..\dos | ||
| 6 | hinc =..\..\h | ||
| 7 | make =nmake | ||
| 8 | |||
| 9 | # | ||
| 10 | ######################## Dependencies Begin Here ########################## | ||
| 11 | |||
| 12 | all: display.sys ega.cpi lcd.cpi | ||
| 13 | |||
| 14 | display.ctl: display.skl $(msg)\$(COUNTRY).msg | ||
| 15 | |||
| 16 | display.obj: display.asm makefile \ | ||
| 17 | macros.inc \ | ||
| 18 | def-equ.inc \ | ||
| 19 | int2fcom.inc \ | ||
| 20 | int10com.inc \ | ||
| 21 | cps-func.inc \ | ||
| 22 | write.inc \ | ||
| 23 | f-parser.inc | ||
| 24 | |||
| 25 | init.obj: init.asm makefile \ | ||
| 26 | macros.inc \ | ||
| 27 | def-equ.inc \ | ||
| 28 | $(inc)\sysmsg.inc \ | ||
| 29 | $(inc)\versiona.inc \ | ||
| 30 | display.ctl \ | ||
| 31 | tables.inc | ||
| 32 | |||
| 33 | parser.obj: parser.asm makefile \ | ||
| 34 | def-equ.inc \ | ||
| 35 | $(inc)\struc.inc \ | ||
| 36 | $(inc)\parse.asm | ||
| 37 | |||
| 38 | display.sys: display.obj init.obj parser.obj display.lnk makefile zero.dat | ||
| 39 | link @display.lnk | ||
| 40 | exe2bin display.exe display.sys < zero.dat | ||
| 41 | del display.exe | ||
| 42 | |||
| 43 | ega.cpi: | ||
| 44 | cd ega | ||
| 45 | $(make) | ||
| 46 | cd .. | ||
| 47 | |||
| 48 | lcd.cpi: | ||
| 49 | cd lcd | ||
| 50 | $(make) | ||
| 51 | cd .. | ||
| 52 | |||
| 53 | |||
diff --git a/v4.0/src/DEV/DISPLAY/PARSER.ASM b/v4.0/src/DEV/DISPLAY/PARSER.ASM new file mode 100644 index 0000000..d72a40e --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/PARSER.ASM | |||
| @@ -0,0 +1,809 @@ | |||
| 1 | PAGE ,132 | ||
| 2 | TITLE PARSE CODE AND CONTROL BLOCKS FOR DISPLAY.SYS | ||
| 3 | |||
| 4 | ;****************** START OF SPECIFICATIONS ************************** | ||
| 5 | ; | ||
| 6 | ; MODULE NAME: PARSER.ASM | ||
| 7 | ; | ||
| 8 | ; DESCRIPTIVE NAME: PARSES THE DEVICE= STATEMENT IN CONFIG.SYS FOR | ||
| 9 | ; DISPLAY.SYS | ||
| 10 | ; | ||
| 11 | ; FUNCTION: THE COMMAND LINE PASSED TO DISPLAY.SYS IN THE CONFIG.SYS | ||
| 12 | ; STATEMENT IS PARSED TO CHECK FOR CORRECT SYNTAX. A TABLE | ||
| 13 | ; IS SETUP CONTAINING THE VALUES FOUND. | ||
| 14 | ; | ||
| 15 | ; ENTRY POINT: PARSER | ||
| 16 | ; | ||
| 17 | ; INPUT: ES:DI POINTS TO REQUEST HEADER | ||
| 18 | ; | ||
| 19 | ; AT EXIT: | ||
| 20 | ; NORMAL: TABLE SET UP WITH VALUES FOUND. | ||
| 21 | ; | ||
| 22 | ; ERROR: 0 RETURNED IN FIRST WORD OF TABLE. | ||
| 23 | ; | ||
| 24 | ; INTERNAL REFERENCES: | ||
| 25 | ; | ||
| 26 | ; ROUTINES: SYSPARSE - PARSING CODE | ||
| 27 | ; | ||
| 28 | ; DATA AREAS: PARMSx - PARSE CONTROL BLOCK FOR SYSPARSE | ||
| 29 | ; TABLE - TO CONTAIN VALUES FOUND IN DEVICE= LINE | ||
| 30 | ; | ||
| 31 | ; EXTERNAL REFERENCES: | ||
| 32 | ; | ||
| 33 | ; ROUTINES: N/A | ||
| 34 | ; | ||
| 35 | ; DATA AREAS: N/A | ||
| 36 | ; | ||
| 37 | ; NOTES: | ||
| 38 | ; | ||
| 39 | ; REVISION HISTORY: | ||
| 40 | ; AN000; - DOS Version 4.00 | ||
| 41 | ; AN001 - GHG P897 - Changes to the parser forced the inclusion | ||
| 42 | ; of the '=' in the device ID. | ||
| 43 | ; | ||
| 44 | ; Label: "The DOS DISPLAY.SYS Device Driver" | ||
| 45 | ; "Version 4.00 (C) Copyright 1988 Microsoft | ||
| 46 | ; "Licensed Material - Program Property of Microsoft" | ||
| 47 | ; | ||
| 48 | ;****************** END OF SPECIFICATIONS **************************** | ||
| 49 | ;Modification history ********************************************************* | ||
| 50 | ;AN002; P1895 DISPLAY.SYS rejects command CON=(cga,(437),(0,0)) 10/22/87 J.K. | ||
| 51 | ;****************************************************************************** | ||
| 52 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 53 | ; | ||
| 54 | ; The following is the table structure of the parser. All fields are | ||
| 55 | ; two bytes field (accept for the device and id name) | ||
| 56 | ; | ||
| 57 | ; TABLE HEADER : | ||
| 58 | ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ | ||
| 59 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 60 | ; ³ N = Number of devices. ³ | ||
| 61 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 62 | ; ³ Device # 1 offset ÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 63 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ | ||
| 64 | ; ³ Device # 2 offset ³ ³ Table_1 (a) ³ | ||
| 65 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ | ||
| 66 | ; ³ Device # 3 offset ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 67 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 68 | ; ³ Device # 4 offset ³ | ||
| 69 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 70 | ; | ||
| 71 | ; | ||
| 72 | ; N = 1,2,3 or 4. A two bytes number indicating the number of device specified. | ||
| 73 | ; DEVICE # N OFFSET : a two bytes offset address to table_1. (ie. Device #1 offset | ||
| 74 | ; is a pointer to table_1 (a). Device #2 offset is a pointer to table_1 | ||
| 75 | ; (b)...etc.). If an error was detected in the command N is set to zero. | ||
| 76 | ; | ||
| 77 | ; | ||
| 78 | ; | ||
| 79 | ; TABLE_1 : | ||
| 80 | ; ÍÍÍÍÍÍÍÍÍ | ||
| 81 | ; | ||
| 82 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 83 | ; ³ N = Number of Offsets. ³ ³ ³ | ||
| 84 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÚÄÄÄÄÄij Table_2 (a) ³ | ||
| 85 | ; ³ Device Name offset ÄÅÄÄÄÄÙ ³ ³ | ||
| 86 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 87 | ; ³ Device Id offset ÄÅÄÄÄÄÄÄ¿ | ||
| 88 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 89 | ; ³ Device HWCP offset ÄÅÄÄÄÄ¿ ³ ³ ³ | ||
| 90 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄij Table_3 (a) ³ | ||
| 91 | ; ³ Device Desg offset ÄÅÄÄ¿ ³ ³ ³ | ||
| 92 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 93 | ; ³ "Reserved" ³ ³ ³ | ||
| 94 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 95 | ; ³ ³ ³ ³ | ||
| 96 | ; ³ ÀÄÄÄÄÄij Table_4 (a) ³ | ||
| 97 | ; ³ ³ ³ | ||
| 98 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 99 | ; ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 100 | ; ³ ³ ³ | ||
| 101 | ; ÀÄÄÄÄÄÄÄij Table_5 (a) ³ | ||
| 102 | ; ³ ³ | ||
| 103 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 104 | ; | ||
| 105 | ; | ||
| 106 | ; N=Length of table_1, or the number of offsets contained in table_1. | ||
| 107 | ; The offsets are pointers (two bytes) to the parameters value of the device. | ||
| 108 | ; "Reserved" : a two byte memory reserved for future use of the "PARMS" option. | ||
| 109 | ; | ||
| 110 | ; | ||
| 111 | ; TABLE_2 : | ||
| 112 | ; ÍÍÍÍÍÍÍÍÍ | ||
| 113 | ; | ||
| 114 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 115 | ; ³ N = Length of devices name ³ | ||
| 116 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 117 | ; ³ Device name ³ | ||
| 118 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 119 | ; | ||
| 120 | ; N = Length of device name. Device length is always 8 byte long. | ||
| 121 | ; Device Name : the name of the device (eg. LPT1, CON, PRN). The name | ||
| 122 | ; is paded with spaces to make up the rest of the 8 characters. | ||
| 123 | ; | ||
| 124 | ; | ||
| 125 | ; | ||
| 126 | ; TABLE_3 : | ||
| 127 | ; ÍÍÍÍÍÍÍÍÍ | ||
| 128 | ; | ||
| 129 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 130 | ; ³ N = Length of Id name. ³ | ||
| 131 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 132 | ; ³ Id Name ³ | ||
| 133 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 134 | ; | ||
| 135 | ; N = Length of id name. Id name length is always 8 byte long. | ||
| 136 | ; Id Name : the name of the id (eg. EGA, VGA). The name | ||
| 137 | ; is paded with spaces to make up the rest of the 8 character. | ||
| 138 | ; | ||
| 139 | ; | ||
| 140 | ; | ||
| 141 | ; TABLE_4 : | ||
| 142 | ; ÍÍÍÍÍÍÍÍÍ | ||
| 143 | ; | ||
| 144 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 145 | ; ³ N = Length of table. ³ | ||
| 146 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 147 | ; ³ HWCP # 1 ³ | ||
| 148 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 149 | ; ³ HWCP # 2 ³ | ||
| 150 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 151 | ; ³ . ³ | ||
| 152 | ; ³ . ³ | ||
| 153 | ; ³ . ³ | ||
| 154 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 155 | ; ³ HWCP # 10 ³ | ||
| 156 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 157 | ; | ||
| 158 | ; | ||
| 159 | ; N = Length of table in words. Or the number of HWCP's. | ||
| 160 | ; HWCP # N : a hardware code page number converted to binary. The maximum | ||
| 161 | ; number of pages allowed is 10. | ||
| 162 | ; | ||
| 163 | ; | ||
| 164 | ; | ||
| 165 | ; TABLE_5 : | ||
| 166 | ; ÍÍÍÍÍÍÍÍÍ | ||
| 167 | ; | ||
| 168 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 169 | ; ³ N = Length of table. ³ | ||
| 170 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 171 | ; ³ Designate ³ | ||
| 172 | ; ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ | ||
| 173 | ; ³ Font ³ | ||
| 174 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 175 | ; | ||
| 176 | ; N = Lenght of table. 0 - nothing was specified | ||
| 177 | ; 1 - Only a designate was specified. | ||
| 178 | ; 2 - Designate and font were given. If the Desg field | ||
| 179 | ; was left empty in the DEVICE command then the | ||
| 180 | ; Designate field is filled with 0FFFFH. | ||
| 181 | ; Designate, Font : Are the Desg. and Font binary numbers. | ||
| 182 | ; | ||
| 183 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 184 | |||
| 185 | INCLUDE DEF-EQU.INC ; structures and equates ;AN000; | ||
| 186 | |||
| 187 | .XLIST | ||
| 188 | INCLUDE STRUC.INC ; Structured macros ;AN000; | ||
| 189 | .LIST | ||
| 190 | |||
| 191 | PUBLIC PARSER ; near procedure for parsing DEVICE= statement ;AN000; | ||
| 192 | PUBLIC TABLE ; table for variable storage used by INIT module. ;AN000; | ||
| 193 | PUBLIC GET_DEVICE_ID ; procedure to determine device adapter ;AN000; | ||
| 194 | |||
| 195 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 196 | ; | ||
| 197 | ; Set assemble switches for parse code | ||
| 198 | ; | ||
| 199 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 200 | |||
| 201 | DateSW EQU 0 ;AN000; | ||
| 202 | DrvSW EQU 0 ;AN000; | ||
| 203 | SwSW EQU 0 ;AN000; | ||
| 204 | Val1SW EQU 0 ;AN000; | ||
| 205 | Val2SW EQU 0 ;AN000; | ||
| 206 | Val3SW EQU 0 ;AN000; | ||
| 207 | |||
| 208 | |||
| 209 | CODE SEGMENT PUBLIC BYTE 'CODE' | ||
| 210 | ASSUME CS:CODE | ||
| 211 | |||
| 212 | |||
| 213 | .XLIST | ||
| 214 | INCLUDE PARSE.ASM ; Parsing code ;AN000; | ||
| 215 | .LIST | ||
| 216 | |||
| 217 | |||
| 218 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 219 | ; | ||
| 220 | ; PARM control block for DISPLAY.SYS - DEVICE= command statement. | ||
| 221 | ; Command line looks like: | ||
| 222 | ; | ||
| 223 | ; DEVICE=[d:][path]DISPLAY.SYS CON[:]=(type[,[hwcp][,n]]) | ||
| 224 | ; or | ||
| 225 | ; DEVICE=[d:][path]DISPLAY.SYS CON[:]=(type[,[hwcp][,(n,m)]]) | ||
| 226 | ; or, for compatibility with DOS 3.3; PTM P1895 | ||
| 227 | ; DEVICE=[d:][path]DISPLAY.SYS CON[:]=(type[,[(hwcp)][,n|(n,m)]]) | ||
| 228 | ; | ||
| 229 | ; The command line will be parsed from left to right, taking care of the | ||
| 230 | ; nesting of complex lists as they occur. | ||
| 231 | ; | ||
| 232 | ; The first level of control blocks is shown below. | ||
| 233 | ; Complex list control blocks follow. | ||
| 234 | ; Null VALUE LIST and RESULT BUFFER are placed after all other PARSE control | ||
| 235 | ; blocks. | ||
| 236 | ; | ||
| 237 | ; d:\path\DISPLAY.SYS CON=(complex list) | ||
| 238 | ; | ||
| 239 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 240 | |||
| 241 | PARMS1 LABEL WORD ;AN000; | ||
| 242 | DW PARMSX1 ;AN000; | ||
| 243 | DB 0 ; no extra delimeters or EOLs. ;AN000; | ||
| 244 | |||
| 245 | PARMSX1 LABEL BYTE ;AN000; | ||
| 246 | DB 1,1 ; min,max positional operands ;AN000; | ||
| 247 | DW D_NAME ; pointer to control block ;AN000; | ||
| 248 | DB 0 ; no switches ;AN000; | ||
| 249 | DB 1 ; 1 keywords ;AN000; | ||
| 250 | DW DSP_LIST ; pointer to control block ;AN000; | ||
| 251 | |||
| 252 | D_NAME LABEL WORD ;AN000; | ||
| 253 | DW 0200H ; file spec ;AN000; | ||
| 254 | DW 0001H ; cap result by file table ;AN000; | ||
| 255 | DW RESULT_BUF ; result ;AN000; | ||
| 256 | DW NOVALS ; no value checking done ;AN000; | ||
| 257 | DB 0 ; no keyword/switch synonyms ;AN000; | ||
| 258 | |||
| 259 | DSP_LIST LABEL WORD ;AN000; | ||
| 260 | DW 0400H ; complex list, ignore colon ;AN000; | ||
| 261 | DW 0012H ; cap result by char table ;AN000; | ||
| 262 | DW RESULT_BUF ; result ;AN000; | ||
| 263 | DW NOVALS ; no value checking done ;AN000; | ||
| 264 | DB 2 ; 1 keyword ;AN000; | ||
| 265 | DB "CON=",0 ;GHG CON[:]= keyword ;AN001; | ||
| 266 | DB "CON:=",0 ;GHG ;AN001; | ||
| 267 | |||
| 268 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 269 | ; | ||
| 270 | ; PARM control block for second level of nesting. | ||
| 271 | ; ie. complex list from first level of nesting | ||
| 272 | ; | ||
| 273 | ; (type, hwcp, n or complex list) | ||
| 274 | ;or, | ||
| 275 | ; (type, (hwcp), n or complex list) | ||
| 276 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 277 | |||
| 278 | PARMS2 LABEL WORD ;AN000; | ||
| 279 | DW PARMSX2 ;AN000; | ||
| 280 | DB 0 ; no extra delimeters or EOLs. ;AN000; | ||
| 281 | |||
| 282 | PARMSX2 LABEL BYTE ;AN000; | ||
| 283 | DB 0,3 ; min,max positional operands ;AN000; | ||
| 284 | DW DSP_TYPE ; pointer to control block ;AN000; | ||
| 285 | DW HWCP ; pointer to control block ;AN000; | ||
| 286 | DW CP_PREPS ; pointer to control block ;AN000; | ||
| 287 | DB 0 ; no switches ;AN000; | ||
| 288 | DB 0 ; no keywords ;AN000; | ||
| 289 | |||
| 290 | DSP_TYPE LABEL BYTE ;AN000; | ||
| 291 | DW 2001H ; sstring (optional) ;AN000; | ||
| 292 | DW 0002H ; cap by char table ;AN000; | ||
| 293 | DW RESULT_BUF ; result ;AN000; | ||
| 294 | DW NOVALS ; value list ;AN000; | ||
| 295 | DB 0 ; no keyword/switch synonyms ;AN000; | ||
| 296 | |||
| 297 | |||
| 298 | HWCP LABEL BYTE ;AN000; | ||
| 299 | DW 8401H ;AN002; numeric or complex list (optional) | ||
| 300 | DW 0 ; no functions ;AN000; | ||
| 301 | DW RESULT_BUF ; result ;AN000; | ||
| 302 | DW NOVALS ; no value checking done ;AN000; | ||
| 303 | DB 0 ; no keyword/switch synonyms ;AN000; | ||
| 304 | |||
| 305 | CP_PREPS LABEL BYTE ;AN000; | ||
| 306 | DW 8401H ; numeric or complex list (optional) ;AN000; | ||
| 307 | DW 0 ; no functions ;AN000; | ||
| 308 | DW RESULT_BUF ; result ;AN000; | ||
| 309 | DW NOVALS ; value list ;AN000; | ||
| 310 | DB 0 ; no keyword/switch synonyms ;AN000; | ||
| 311 | |||
| 312 | |||
| 313 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 314 | ; | ||
| 315 | ; PARM control block for third level of nesting. | ||
| 316 | ; ie. complex list from second nesting level | ||
| 317 | ; | ||
| 318 | ; (hwcp) | ||
| 319 | ; | ||
| 320 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 321 | |||
| 322 | PARMS3_X LABEL WORD ;AN002; | ||
| 323 | DW PARMSX3_X ;AN002; | ||
| 324 | DB 0 ;AN002; no extra delimeters or EOLs. | ||
| 325 | |||
| 326 | PARMSX3_X LABEL BYTE ;AN002; | ||
| 327 | DB 1,1 ;AN002; min,max positional operands | ||
| 328 | DW PREPS ;AN002; pointer to control block | ||
| 329 | DB 0 ;AN002; no switches | ||
| 330 | DB 0 ;AN002; no keywords | ||
| 331 | |||
| 332 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 333 | ; | ||
| 334 | ; PARM control block for third level of nesting. | ||
| 335 | ; ie. complex list from second nesting level | ||
| 336 | ; | ||
| 337 | ; (n,m) | ||
| 338 | ; | ||
| 339 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 340 | |||
| 341 | PARMS3 LABEL WORD ;AN000; | ||
| 342 | DW PARMSX3 ;AN000; | ||
| 343 | DB 0 ; no extra delimeters or EOLs. ;AN000; | ||
| 344 | |||
| 345 | PARMSX3 LABEL BYTE ;AN000; | ||
| 346 | DB 1,2 ; min,max positional operands ;AN000; | ||
| 347 | DW PREPS ; pointer to control block ;AN000; | ||
| 348 | DW SUBFONTS ; pointer to control block ;AN000; | ||
| 349 | DB 0 ; no switches ;AN000; | ||
| 350 | DB 0 ; no keywords ;AN000; | ||
| 351 | |||
| 352 | PREPS LABEL BYTE ;AN000; | ||
| 353 | DW 8000H ; numeric ;AN000; | ||
| 354 | DW 0 ; no functions ;AN000; | ||
| 355 | DW RESULT_BUF ; result ;AN000; | ||
| 356 | DW NOVALS ; value list ;AN000; | ||
| 357 | DB 0 ; no keyword/switch synonyms ;AN000; | ||
| 358 | |||
| 359 | SUBFONTS LABEL BYTE ;AN000; | ||
| 360 | DW 8001H ; numeric (optional) ;AN000; | ||
| 361 | DW 0 ; no functions ;AN000; | ||
| 362 | DW RESULT_BUF ; result ;AN000; | ||
| 363 | DW NOVALS ; no value checking done ;AN000; | ||
| 364 | DB 0 ; no keyword/switch synonyms ;AN000; | ||
| 365 | |||
| 366 | ; Null VALUE LIST and RESULT BUFFER for all PARSE control blocks ;AN000; | ||
| 367 | |||
| 368 | NOVALS LABEL BYTE ;AN000; | ||
| 369 | DB 0 ; no value checking done ;AN000; | ||
| 370 | |||
| 371 | RESULT_BUF LABEL BYTE ;AN000; | ||
| 372 | RESULT_TYPE DB ? ; type returned (number, string, etc.) ;AN000; | ||
| 373 | DB ? ; matched item tag (if applicable) ;AN000; | ||
| 374 | DW ? ; synonym ptr (if applicable) ;AN000; | ||
| 375 | RESULT_VAL DD ? ; value ;AN000; | ||
| 376 | |||
| 377 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 378 | ; | ||
| 379 | ; TABLE STRUCTURE FOR RETURNING VALUES TO THE INIT MODULE | ||
| 380 | ; (ADAPTED FROM VERSION 1.0 DISPLAY.SYS) | ||
| 381 | ; | ||
| 382 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 383 | |||
| 384 | TABLE LABEL BYTE ; table header ;AN000; | ||
| 385 | DEVICE_NUM DW ONE ; should only be one device ;AN000; | ||
| 386 | TABLE2_PTR DW TABLE2 ; pointer to table 2 ;AN000; | ||
| 387 | |||
| 388 | TABLE2 LABEL WORD ;AN000; | ||
| 389 | OFFSET_NUM DW FOUR ; 4 pointer follow ;AN000; | ||
| 390 | TABLE3_PTR DW TABLE3 ; pointer to table 3 (device name) ;AN000; | ||
| 391 | TABLE4_PTR DW TABLE4 ; pointer to table 4 (device id) ;AN000; | ||
| 392 | TABLE5_PTR DW TABLE5 ; pointer to table 5 (hwcp's) ;AN000; | ||
| 393 | TABLE6_PTR DW TABLE6 ; pointer to table 6 (num desg's and fonts) ;AN000; | ||
| 394 | |||
| 395 | TABLE3 LABEL WORD ; device name (ie. CON) ;AN000; | ||
| 396 | T3_LENGTH DW EIGHT ; length ;AN000; | ||
| 397 | T3_NAME DB "CON " ; value ;AN000; | ||
| 398 | |||
| 399 | TABLE4 LABEL WORD ; device id. (eg. EGA,MONO...) ;AN000; | ||
| 400 | T4_LENGTH DW ZERO ; length ;AN000; | ||
| 401 | T4_NAME DB " " ; value ;AN000; | ||
| 402 | |||
| 403 | TABLE5 LABEL WORD ; hardware code pages ;AN000; | ||
| 404 | T5_NUM DW ZERO ; only 1 for CON ;AN000; | ||
| 405 | T5_VALUE DW ? ; value ;AN000; | ||
| 406 | |||
| 407 | TABLE6 LABEL WORD ; Designates and fonts ;AN000; | ||
| 408 | T6_NUM DW ZERO ; values given (0 - 2 valid) ;AN000; | ||
| 409 | T6_DESG DW ? ; n value ;AN000; | ||
| 410 | T6_FONT DW ? ; m value ;AN000; | ||
| 411 | |||
| 412 | |||
| 413 | OK_FLAG DB ON ; FLAG INDICATING PARSE STATUS ;AN000; | ||
| 414 | LOOP1 DB ZERO ;AN000; | ||
| 415 | LOOP2 DB ZERO ;AN000; | ||
| 416 | |||
| 417 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 418 | ; | ||
| 419 | ; PROCEDURE_NAME: PARSER | ||
| 420 | ; | ||
| 421 | ; FUNCTION: | ||
| 422 | ; THIS PROCEDURE PARSES THE DEVICE= PARAMETERS FROM THE INIT REQUEST | ||
| 423 | ; BLOCK. | ||
| 424 | ; | ||
| 425 | ; AT ENTRY: ES:DI POINTS TO REQUEST HEADER | ||
| 426 | ; | ||
| 427 | ; AT EXIT: | ||
| 428 | ; NORMAL: TABLE SET UP WITH VALUES FOUND | ||
| 429 | ; | ||
| 430 | ; ERROR: 0 LOADED IN FIRST WORD OF TABLE | ||
| 431 | ; | ||
| 432 | ; AUTHOR: WGR | ||
| 433 | ; | ||
| 434 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 435 | |||
| 436 | PARSER PROC NEAR ;AN000; | ||
| 437 | PUSH ES ;AN000; | ||
| 438 | PUSH BX ;AN000; | ||
| 439 | PUSH DS ; ;AN000; | ||
| 440 | PUSH SI ; ;AN000; | ||
| 441 | LDS SI,RH.RH0_BPBA ; ;AN000; | ||
| 442 | PUSH CS ; establish ES .. ;AN000; | ||
| 443 | POP ES ; addressability to data ;AN000; | ||
| 444 | LEA DI,PARMS1 ; point to PARMS control block ;AN000; | ||
| 445 | XOR CX,CX ; clear both CX and DX for ;AN000; | ||
| 446 | XOR DX,DX ; SYSPARSE ;AN000; | ||
| 447 | CALL SYSPARSE ; move pointer past file spec ;AN000; | ||
| 448 | CALL SYSPARSE ; do first parse ;AN000; | ||
| 449 | .WHILE <AX NE RC_EOL> AND ; EOL?...then end parse...and.. ;AN000; | ||
| 450 | .WHILE <OK_FLAG EQ ON> ; make sure that flag still ok.. ;AN000; | ||
| 451 | .IF <AX NE RC_NO_ERROR> ; parse error? ;AN000; | ||
| 452 | MOV OK_FLAG,OFF ; yes...reset flag ;AN000; | ||
| 453 | .ELSE ; no...process.. ;AN000; | ||
| 454 | .SELECT ; ;AN000; | ||
| 455 | .WHEN <RESULT_TYPE EQ COMPLEX> ; complex string found? ;AN000; | ||
| 456 | INC LOOP1 ; increment count ;AN000; | ||
| 457 | .IF <LOOP1 GT ONE> ; more than one? ;AN000; | ||
| 458 | MOV OK_FLAG,OFF ; yes....we have an error ;AN000; | ||
| 459 | .ELSE ; no .. ;AN000; | ||
| 460 | CALL PARSE_MAIN ; process complex string.. ;AN000; | ||
| 461 | .ENDIF ; ;AN000; | ||
| 462 | .OTHERWISE ; not a complex string so.. ;AN000; | ||
| 463 | MOV OK_FLAG,OFF ; we have a problem...reset flag ;AN000; | ||
| 464 | .ENDSELECT ; ;AN000; | ||
| 465 | CALL SYSPARSE ; continue parsing.. ;AN000; | ||
| 466 | .ENDIF ; ;AN000; | ||
| 467 | .ENDWHILE ; ;AN000; | ||
| 468 | .IF <OK_FLAG EQ OFF> OR ; flag indicating error? ;AN000; | ||
| 469 | .IF <LOOP1 EQ ZERO> ; or no parameters specified? ;AN000; | ||
| 470 | MOV DEVICE_NUM,ZERO ; yes...set device number to 0 ;AN000; | ||
| 471 | STC ; ;AN000; | ||
| 472 | .ELSE ; ;AN000; | ||
| 473 | CLC ; ;AN000; | ||
| 474 | .ENDIF ; ;AN000; | ||
| 475 | POP SI ; ;AN000; | ||
| 476 | POP DS ; ;AN000; | ||
| 477 | POP BX ; ;AN000; | ||
| 478 | POP ES ; ;AN000; | ||
| 479 | RET ; ;AN000; | ||
| 480 | PARSER ENDP ;AN000; | ||
| 481 | |||
| 482 | |||
| 483 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 484 | ; | ||
| 485 | ; PROCEDURE_NAME: PARSE_MAIN | ||
| 486 | ; | ||
| 487 | ; FUNCTION: | ||
| 488 | ; THIS PROCEDURE PARSES THE CON=( ) COMPLEX LIST DEVICE= LINE FOUND | ||
| 489 | ; IN CONFIG.SYS | ||
| 490 | ; | ||
| 491 | ; AT ENTRY: RESULT BUFFER CONTAINS POINTER TO COMPLEX STRING | ||
| 492 | ; | ||
| 493 | ; AT EXIT: | ||
| 494 | ; NORMAL: TABLE SET UP WITH VALUES FOUND | ||
| 495 | ; | ||
| 496 | ; ERROR: OK_FLAG = 0 | ||
| 497 | ; | ||
| 498 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 499 | |||
| 500 | PARSE_MAIN PROC NEAR ;AN000; | ||
| 501 | PUSH DI ; setup to parse the nested.. ;AN000; | ||
| 502 | PUSH DS ; complex string...but save.. ;AN000; | ||
| 503 | PUSH SI ; current parsing status. ;AN000; | ||
| 504 | PUSH CX ; ;AN000; | ||
| 505 | XOR CX,CX ; ;AN000; | ||
| 506 | LEA DI,PARMS2 ; next control block.. ;AN000; | ||
| 507 | LDS SI,RESULT_VAL ; point to stored string ;AN000; | ||
| 508 | CALL SYSPARSE ; ;AN000; | ||
| 509 | .WHILE <AX NE RC_EOL> AND ; not EOL? and.. ;AN000; | ||
| 510 | .WHILE <OK_FLAG EQ ON> ; error flag still ok? ;AN000; | ||
| 511 | .IF <AX NE RC_NO_ERROR> ; check for parse errors ;AN000; | ||
| 512 | MOV OK_FLAG,OFF ; yes....reset error flag ;AN000; | ||
| 513 | .ELSE ; no...process ;AN000; | ||
| 514 | INC LOOP2 ; ;AN000; | ||
| 515 | .SELECT ; ;AN000; | ||
| 516 | .WHEN <RESULT_TYPE EQ STRING> ; simple string ;AN000; | ||
| 517 | CALL PARSE_STR ; yes...process ;AN000; | ||
| 518 | .WHEN <RESULT_TYPE EQ NUMBER> ; number?.. ;AN000; | ||
| 519 | CALL PARSE_NUM ; yes...process ;AN000; | ||
| 520 | .WHEN <RESULT_TYPE EQ COMPLEX> ; complex string? ;AN000; | ||
| 521 | CALL PARSE_COMPLEX ;AN002; | ||
| 522 | .OTHERWISE ; anything else is.. ;AN000; | ||
| 523 | MOV OK_FLAG,OFF ; an error...reset flag. ;AN000; | ||
| 524 | .ENDSELECT ; ;AN000; | ||
| 525 | CALL SYSPARSE ; continue parsing ;AN000; | ||
| 526 | .ENDIF ; ;AN000; | ||
| 527 | .ENDWHILE ; ;AN000; | ||
| 528 | POP CX ; restore original parse.. ;AN000; | ||
| 529 | POP SI ; registers. ;AN000; | ||
| 530 | POP DS ; ;AN000; | ||
| 531 | POP DI ; ;AN000; | ||
| 532 | RET ; ;AN000; | ||
| 533 | PARSE_MAIN ENDP | ||
| 534 | |||
| 535 | ; | ||
| 536 | PARSE_COMPLEX PROC ;AN002; | ||
| 537 | .IF <LOOP2 EQ TWO> ;AN002; Should be for HWCP | ||
| 538 | CALL PARSE_COMP_X ;AN002; for (hwcp) | ||
| 539 | .ELSE ;AN002; | ||
| 540 | CALL PARSE_COMP ; yes...process for (n,m) ;AN000; | ||
| 541 | .ENDIF ;AN002; | ||
| 542 | ret ;AN002; | ||
| 543 | PARSE_COMPLEX ENDP | ||
| 544 | |||
| 545 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 546 | ; | ||
| 547 | ; PROCEDURE_NAME: PARSE_COMP_X | ||
| 548 | ; | ||
| 549 | ; FUNCTION: | ||
| 550 | ; THIS PROCEDURE PARSES A COMPLEX LIST FOUND WITHIN THE CON=( ) | ||
| 551 | ; COMPLEX LIST for (hwcp). | ||
| 552 | ; | ||
| 553 | ; AT ENTRY: RESULT BUFFER CONTAINS POINTER TO COMPLEX STRING | ||
| 554 | ; | ||
| 555 | ; AT EXIT: | ||
| 556 | ; NORMAL: TABLE SET UP WITH VALUES FOUND | ||
| 557 | ; | ||
| 558 | ; ERROR: OK_FLAG = 0 | ||
| 559 | ; | ||
| 560 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 561 | |||
| 562 | PARSE_COMP_X PROC NEAR ;AN002; | ||
| 563 | PUSH DI ;AN002; setup ro parse the nested.. | ||
| 564 | PUSH DS ;AN002; complex string..saving the.. | ||
| 565 | PUSH SI ;AN002; current parse status. | ||
| 566 | PUSH CX ;AN002; | ||
| 567 | XOR CX,CX ;AN002; | ||
| 568 | LEA DI,PARMS3_X ;AN002; next control block | ||
| 569 | LDS SI,RESULT_VAL ;AN002; point to stored string. | ||
| 570 | CALL SYSPARSE ;AN002; | ||
| 571 | .WHILE <AX NE RC_EOL> AND ;AN002; not EOL?...and.. | ||
| 572 | .WHILE <OK_FLAG EQ ON> ;AN002; error flag still okay? | ||
| 573 | .IF <AX NE RC_NO_ERROR> OR ;AN002; parse error?...or.. | ||
| 574 | .IF <RESULT_TYPE NE NUMBER> ;AN002; something other than a number.. | ||
| 575 | MOV OK_FLAG,OFF ;AN002; found?....yes..reset flag. | ||
| 576 | .ELSE ;AN002; no...process.. | ||
| 577 | INC T5_NUM ;AN002; increment counter | ||
| 578 | MOV AX,WORD PTR RESULT_VAL ;AN002; get numeric value into word | ||
| 579 | MOV T5_VALUE,AX ;AN002; yes...number of designates. | ||
| 580 | CALL SYSPARSE ;AN002; continue parsing | ||
| 581 | .ENDIF ;AN002; | ||
| 582 | .ENDWHILE ;AN002; | ||
| 583 | POP CX ;AN002; restore previous parse.. | ||
| 584 | POP SI ;AN002; registers. | ||
| 585 | POP DS ;AN002; | ||
| 586 | POP DI ;AN002; | ||
| 587 | RET ;AN002; | ||
| 588 | PARSE_COMP_X ENDP ;AN002; | ||
| 589 | |||
| 590 | |||
| 591 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 592 | ; | ||
| 593 | ; PROCEDURE_NAME: PARSE_COMP | ||
| 594 | ; | ||
| 595 | ; FUNCTION: | ||
| 596 | ; THIS PROCEDURE PARSES A COMPLEX LIST FOUND WITHIN THE CON=( ) | ||
| 597 | ; COMPLEX LIST for (n,m). | ||
| 598 | ; | ||
| 599 | ; AT ENTRY: RESULT BUFFER CONTAINS POINTER TO COMPLEX STRING | ||
| 600 | ; | ||
| 601 | ; AT EXIT: | ||
| 602 | ; NORMAL: TABLE SET UP WITH VALUES FOUND | ||
| 603 | ; | ||
| 604 | ; ERROR: OK_FLAG = 0 | ||
| 605 | ; | ||
| 606 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 607 | |||
| 608 | PARSE_COMP PROC NEAR ;AN000; | ||
| 609 | PUSH DI ; setup ro parse the nested.. ;AN000; | ||
| 610 | PUSH DS ; complex string..saving the.. ;AN000; | ||
| 611 | PUSH SI ; current parse status. ;AN000; | ||
| 612 | PUSH CX ; ;AN000; | ||
| 613 | XOR CX,CX ; ;AN000; | ||
| 614 | LEA DI,PARMS3 ; next control block ;AN000; | ||
| 615 | LDS SI,RESULT_VAL ; point to stored string. ;AN000; | ||
| 616 | CALL SYSPARSE ; ;AN000; | ||
| 617 | .WHILE <AX NE RC_EOL> AND ; not EOL?...and.. ;AN000; | ||
| 618 | .WHILE <OK_FLAG EQ ON> ; error flag still okay? ;AN000; | ||
| 619 | .IF <AX NE RC_NO_ERROR> OR ; parse error?...or.. ;AN000; | ||
| 620 | .IF <RESULT_TYPE NE NUMBER> ; something other than a number.. ;AN000; | ||
| 621 | MOV OK_FLAG,OFF ; found?....yes..reset flag. ;AN000; | ||
| 622 | .ELSE ; no...process.. ;AN000; | ||
| 623 | INC T6_NUM ; increment counter ;AN000; | ||
| 624 | MOV AX,WORD PTR RESULT_VAL ; get numeric value into word ;AN000; | ||
| 625 | .IF <T6_NUM EQ ONE> ; first value found? ;AN000; | ||
| 626 | MOV T6_DESG,AX ; yes...number of designates. ;AN000; | ||
| 627 | .ELSE ; else.. ;AN000; | ||
| 628 | MOV T6_FONT,AX ; second number...number of fonts. ;AN000; | ||
| 629 | .ENDIF ; ;AN000; | ||
| 630 | CALL SYSPARSE ; continue parsing ;AN000; | ||
| 631 | .ENDIF ; ;AN000; | ||
| 632 | .ENDWHILE ; ;AN000; | ||
| 633 | POP CX ; restore previous parse.. ;AN000; | ||
| 634 | POP SI ; registers. ;AN000; | ||
| 635 | POP DS ; ;AN000; | ||
| 636 | POP DI ; ;AN000; | ||
| 637 | RET ; ;AN000; | ||
| 638 | PARSE_COMP ENDP | ||
| 639 | |||
| 640 | |||
| 641 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 642 | ; | ||
| 643 | ; PROCEDURE_NAME: PARSE_STR | ||
| 644 | ; | ||
| 645 | ; FUNCTION: | ||
| 646 | ; THIS PROCEDURE PARSES A STRING FOUND WITHIN THE CON=( ) STATEMENT | ||
| 647 | ; | ||
| 648 | ; AT ENTRY: RESULT BUFFER POINTS TO ASCIIZ STRING | ||
| 649 | ; | ||
| 650 | ; AT EXIT: | ||
| 651 | ; NORMAL: TABLE SET UP WITH VALUES FOUND | ||
| 652 | ; | ||
| 653 | ; ERROR: N/A | ||
| 654 | ; | ||
| 655 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 656 | |||
| 657 | PARSE_STR PROC NEAR ;AN000; | ||
| 658 | PUSH DI ; get source and.. ;AN000; | ||
| 659 | PUSH DS ; destination registers.. ;AN000; | ||
| 660 | PUSH SI ; setup. ;AN000; | ||
| 661 | LDS SI,RESULT_VAL ; ;AN000; | ||
| 662 | .IF <<BYTE PTR DS:[SI]> NE ZERO> ; check for null string ;AN000; | ||
| 663 | LEA DI,T4_NAME ; ;AN000; | ||
| 664 | LODSB ; load first character. ;AN000; | ||
| 665 | .WHILE <AL NE ZERO> ; while not at end of ASCIIZ do.. ;AN000; | ||
| 666 | STOSB ; store.. ;AN000; | ||
| 667 | LODSB ; load next character.. ;AN000; | ||
| 668 | .ENDWHILE ; ;AN000; | ||
| 669 | MOV T4_LENGTH,EIGHT ; value found. ;AN000; | ||
| 670 | .ENDIF ; ;AN000; | ||
| 671 | POP SI ; restore registers. ;AN000; | ||
| 672 | POP DS ; ;AN000; | ||
| 673 | POP DI ; ;AN000; | ||
| 674 | RET ;AN000; | ||
| 675 | PARSE_STR ENDP | ||
| 676 | |||
| 677 | |||
| 678 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 679 | ; | ||
| 680 | ; PROCEDURE_NAME: PARSE_NUM | ||
| 681 | ; | ||
| 682 | ; FUNCTION: | ||
| 683 | ; THIS PROCEDURE PARSES NUMBERS FOUND IN THE CON=( ) STATEMENT | ||
| 684 | ; BLOCK. | ||
| 685 | ; | ||
| 686 | ; AT ENTRY: RESULT BUFFER CONTAINS A DWORD NUMBER VALUE | ||
| 687 | ; | ||
| 688 | ; AT EXIT: | ||
| 689 | ; NORMAL: TABLE SET UP WITH VALUES FOUND | ||
| 690 | ; | ||
| 691 | ; ERROR: N/A | ||
| 692 | ; | ||
| 693 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 694 | |||
| 695 | PARSE_NUM PROC NEAR ;AN000; | ||
| 696 | MOV AX,WORD PTR RESULT_VAL ; get value into word form ;AN000; | ||
| 697 | .IF <LOOP2 EQ TWO> ; if this is the code page then.. ;AN000; | ||
| 698 | MOV T5_VALUE,AX ; load that value. ;AN000; | ||
| 699 | INC T5_NUM ; ;AN000; | ||
| 700 | .ELSEIF <LOOP2 EQ THREE> ; ;AN000; | ||
| 701 | MOV T6_DESG,AX ; must be number of designates.. ;AN000; | ||
| 702 | INC T6_NUM ; load and increment count ;AN000; | ||
| 703 | .ENDIF ; ;AN000; | ||
| 704 | RET ; ;AN000; | ||
| 705 | PARSE_NUM ENDP ;AN000; | ||
| 706 | |||
| 707 | |||
| 708 | ASSUME CS:CODE,DS:CODE | ||
| 709 | |||
| 710 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 711 | ; | ||
| 712 | ; PROCEDURE_NAME: GET_DEVICE_ID | ||
| 713 | ; | ||
| 714 | ; FUNCTION: | ||
| 715 | ; THIS PROCEDURE RETURNS THE DISPLAY DEVICE TO THE INIT ROUTINE WHEN | ||
| 716 | ; A DEVICE ID IS NOT SUPPLIED. | ||
| 717 | ; | ||
| 718 | ; AT ENTRY: N/A | ||
| 719 | ; | ||
| 720 | ; AT EXIT: | ||
| 721 | ; NORMAL: DEVICE ID PLACED WITHIN THE TABLE. (EGA OR LCD) | ||
| 722 | ; CARRY IS CLEARED. | ||
| 723 | ; | ||
| 724 | ; ERROR: DEVICE ID IS MONO OR CGA | ||
| 725 | ; CARRY IS SET. | ||
| 726 | ; | ||
| 727 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 728 | |||
| 729 | FUNC_INFO INFO_BLOCK <> ;AN000; | ||
| 730 | |||
| 731 | DEVICE_N_LENGTH EQU EIGHT ;AN000; | ||
| 732 | |||
| 733 | DEVICE_TYPES DB "EGA " ;AN000; | ||
| 734 | DB "LCD " ;AN000; | ||
| 735 | |||
| 736 | NUM_DEVICE_TYPES EQU ($-DEVICE_TYPES)/DEVICE_N_LENGTH ;AN000; | ||
| 737 | |||
| 738 | DEVICE_FLAG DB 00000000B ;AN000; | ||
| 739 | |||
| 740 | |||
| 741 | GET_DEVICE_ID PROC NEAR ;AN000; | ||
| 742 | PUSH AX ;AN000; | ||
| 743 | PUSH BX ; ;AN000; | ||
| 744 | PUSH CX ; s ;AN000; | ||
| 745 | PUSH DX ; a r ;AN000; | ||
| 746 | PUSH DI ; v e ;AN000; | ||
| 747 | PUSH SI ; e g ;AN000; | ||
| 748 | PUSH ES ; i ;AN000; | ||
| 749 | PUSH DS ; s ;AN000; | ||
| 750 | PUSH CS ; t ;AN000; | ||
| 751 | POP DS ; e ;AN000; | ||
| 752 | PUSH CS ; r ;AN000; | ||
| 753 | POP ES ; s ;AN000; | ||
| 754 | XOR AX,AX ; ;AN000; | ||
| 755 | MOV AH,FUNC_CALL ; ;AN000; | ||
| 756 | LEA DI,FUNC_INFO ; ;AN000; | ||
| 757 | XOR BX,BX ; ;AN000; | ||
| 758 | INT 10H ; try VGA functionality call ;AN000; | ||
| 759 | .IF <AL EQ FUNC_CALL> ; worked?....then ;AN000; | ||
| 760 | OR DEVICE_FLAG,VGA_FOUND ; VGA found. ;AN000; | ||
| 761 | .ELSE ; no VGA...try EGA ;AN000; | ||
| 762 | MOV AH,ALT_SELECT ; ;AN000; | ||
| 763 | MOV BL,EGA_INFO_CALL ; ;AN000; | ||
| 764 | INT 10H ; ;AN000; | ||
| 765 | .IF <BL NE EGA_INFO_CALL> ; if changed then EGA present.. ;AN000; | ||
| 766 | OR DEVICE_FLAG,EGA_FOUND ; mark as found. ;AN000; | ||
| 767 | .ELSE ; no EGA...try LCD. ;AN000; | ||
| 768 | MOV AH,GET_SYS_ID ; get system id.. ;AN000; | ||
| 769 | INT 15H ; yup....its a convertible..so ;AN000; | ||
| 770 | .IF <ES:[BX].MODEL_BYTE EQ LCD_MODEL> AND ;AN000; | ||
| 771 | MOV AH,GET_STATUS ; check for LCD.. ;AN000; | ||
| 772 | INT 15H ; ;AN000; | ||
| 773 | .IF <BIT AL NAND ON> ; yes....bit says LCD..so.. ;AN000; | ||
| 774 | OR DEVICE_FLAG,LCD_FOUND ; mark as LCD. ;AN000; | ||
| 775 | .ENDIF ; ;AN000; | ||
| 776 | .ENDIF ; ;AN000; | ||
| 777 | .ENDIF ; ;AN000; | ||
| 778 | .IF <DEVICE_FLAG NE ZERO> ; nothing found?..then exit (eg. MONO) ;AN000; | ||
| 779 | LEA SI,DEVICE_TYPES ; start of new id's ;AN000; | ||
| 780 | SAR DEVICE_FLAG,ONE ; shift flag into carry bit ;AN000; | ||
| 781 | .WHILE NC ; carry not set yet.. ;AN000; | ||
| 782 | ADD SI,DEVICE_N_LENGTH ; next id ;AN000; | ||
| 783 | SAR DEVICE_FLAG,ONE ; next flag... ;AN000; | ||
| 784 | .ENDWHILE ; ;AN000; | ||
| 785 | PUSH CS ; found....transfer id.. ;AN000; | ||
| 786 | POP ES ; into the table.. ;AN000; | ||
| 787 | LEA DI,T4_NAME ; ;AN000; | ||
| 788 | MOV CX,DEVICE_N_LENGTH ; ;AN000; | ||
| 789 | REP MOVSB ; ;AN000; | ||
| 790 | MOV T4_LENGTH,EIGHT ; ;AN000; | ||
| 791 | CLC ; clear error flag ;AN000; | ||
| 792 | .ELSE ; ;AN000; | ||
| 793 | STC ; set error (ie. MONO or CGA found) ;AN000; | ||
| 794 | .ENDIF ; ;AN000; | ||
| 795 | POP DS ; r ;AN000; | ||
| 796 | POP ES ; e r ;AN000; | ||
| 797 | POP SI ; s e ;AN000; | ||
| 798 | POP DI ; t g ;AN000; | ||
| 799 | POP DX ; o i ;AN000; | ||
| 800 | POP CX ; r s ;AN000; | ||
| 801 | POP BX ; e t ;AN000; | ||
| 802 | POP AX ; e ;AN000; | ||
| 803 | RET ; r ;AN000; | ||
| 804 | GET_DEVICE_ID ENDP ; s | ||
| 805 | |||
| 806 | |||
| 807 | |||
| 808 | CODE ENDS | ||
| 809 | END | ||
diff --git a/v4.0/src/DEV/DISPLAY/TABLES.INC b/v4.0/src/DEV/DISPLAY/TABLES.INC new file mode 100644 index 0000000..930762b --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/TABLES.INC | |||
| @@ -0,0 +1,368 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; | ||
| 3 | ; TABLES.INC | ||
| 4 | ; | ||
| 5 | ; THIS FILE CONTAINS THE CONFIGURATION INFORMATION FOR THE CPS CON | ||
| 6 | ; DEVICE DRIVER. THE INFORMATION IS INDEXED USING THE FULL DEVICE | ||
| 7 | ; SUB-TYPE ID. | ||
| 8 | ; | ||
| 9 | ; THE TABLE STRUCTURE IS AS FOLLOWS: | ||
| 10 | ; | ||
| 11 | ; DB "........" device sub-type id | ||
| 12 | ; DB 00000xxxb encoded font resolution byte | ||
| 13 | ; DW OFFSET modes pointer to list of display modes | ||
| 14 | ; DW OFFSET fonts pointer to list of font resolutions | ||
| 15 | ; | ||
| 16 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 17 | ; ³ Loading mechanism bit incoding ³ | ||
| 18 | ; ³ ³ | ||
| 19 | ; ³ USER ? ³ | ||
| 20 | ; ³ ³ BIOS SUPPORT ³ | ||
| 21 | ; ³ ÚÄÄÁÄÄ¿ ÚÄÄÁÄÄ¿ ³ | ||
| 22 | ; ³ ³ | ||
| 23 | ; ³ 7 6 5 4 3 2 1 0 ³ | ||
| 24 | ; ³ x x x x 0 0 x x ³ | ||
| 25 | ; ³ ³ ³ ³ ³ ³ ÀÄÄ 1 - INT 10 - AX=1100H ³ | ||
| 26 | ; ³ ³ ³ ³ ³ ³ ³ | ||
| 27 | ; ³ ³ ³ ³ ³ ÀÄÄÄÄ 1 = INT 10 - AX=1400H ³ | ||
| 28 | ; ³ ³ ³ ³ ³ ³ | ||
| 29 | ; ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄ 1 = INT 1FH ³ | ||
| 30 | ; ³ ³ ³ ³ ³ | ||
| 31 | ; ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄ 1 = INT 43H ³ | ||
| 32 | ; ³ ³ ³ ³ | ||
| 33 | ; ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 = LCD 1FH handling needed ³ | ||
| 34 | ; ³ ³ ³ | ||
| 35 | ; ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 = LCD 44H handling needed ³ | ||
| 36 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 37 | ; | ||
| 38 | ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
| 39 | ; ³ Memory Requirements ³ | ||
| 40 | ; ³ ³ | ||
| 41 | ; ³ 7 6 5 4 3 2 1 0 ³ | ||
| 42 | ; ³ 0 0 0 0 x x x x ³ | ||
| 43 | ; ³ ³ ³ ³ ÀÄÄ 200 scan lines ³ | ||
| 44 | ; ³ ³ ³ ÀÄÄÄÄ 350 scan lines ³ | ||
| 45 | ; ³ ³ ÀÄÄÄÄÄÄ 400 scan lines ³ | ||
| 46 | ; ³ ÀÄÄÄÄÄÄÄÄ 480 scan lines ³ | ||
| 47 | ; ³ ³ | ||
| 48 | ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||
| 49 | ; | ||
| 50 | ; THE TABLES ARE FILLED BEYOND THE SUPPORTED MODES. THIS | ||
| 51 | ; IS 'GUESSING' AT THE APPROACH FOR ANY FUTURE DISPLAY MODES | ||
| 52 | ; WHICH MAY BE BEYOND THE CON-CPS V1.0 SUPPORT. TO DATE, | ||
| 53 | ; NO ADAPTER SUPPORTS THE EXTRA MODES - NOT EVEN <insert IBM codeword>. | ||
| 54 | ; | ||
| 55 | ; Numerous <insert IBM code words> WOULD USE THE | ||
| 56 | ; SUBSET OF THE EGA MODES. | ||
| 57 | ; | ||
| 58 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 59 | IF1 | ||
| 60 | %OUT . ®TABLES .INC¯ | ||
| 61 | ENDIF | ||
| 62 | ; | ||
| 63 | DISPLAY_CONFIG LABEL BYTE ; | ||
| 64 | DB "EGA " ; EGA SUPPORT | ||
| 65 | DC_FONT DB 00000111b ; | ||
| 66 | DW OFFSET EGA_MODES ; | ||
| 67 | DW OFFSET EGA_FONT_SIZE ; | ||
| 68 | DC_ENTRY EQU ($-DISPLAY_CONFIG) ; | ||
| 69 | DB "EGA 8 " ; EGA (5153) | ||
| 70 | DB 00000001b ; | ||
| 71 | DW OFFSET EGA_MODES ; | ||
| 72 | DW OFFSET EGA8_FONT_SIZE ; | ||
| 73 | DB "EGA 14 " ; EGA (5154) | ||
| 74 | DB 00000011b ; | ||
| 75 | DW OFFSET EGA_MODES ; | ||
| 76 | DW OFFSET EGA14_FONT_SIZE ; | ||
| 77 | DB "EGA 14M " ; EGA (5151) | ||
| 78 | DB 00000011b ; WGR load 8x8 for > 25. ;AN000; | ||
| 79 | DW OFFSET EGAM_MODES ; | ||
| 80 | DW OFFSET EGA14_FONT_SIZE ; | ||
| 81 | DB "LCD " ; CONVERTIBLE | ||
| 82 | DB 00000001b ; | ||
| 83 | DW OFFSET LCD_MODES ; | ||
| 84 | DW OFFSET LCD_FONT_SIZE ; | ||
| 85 | DB "MONO " ; MONOCHROME ADAPTER | ||
| 86 | DB 00000000b ; | ||
| 87 | DW OFFSET MONO_MODES ; | ||
| 88 | DW OFFSET MONO_FONT_SIZE ; | ||
| 89 | DB "CGA " ; COLOUR GRAPHICS ADAPTER | ||
| 90 | DB 00000000b ; | ||
| 91 | DW OFFSET MONO_MODES ; | ||
| 92 | DW OFFSET MONO_FONT_SIZE ; | ||
| 93 | NUM_DISPLAY_CONFIG EQU ($-DISPLAY_CONFIG)/DC_ENTRY | ||
| 94 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 95 | EGA_MODES: ; | ||
| 96 | DB 00000001b ;0 | ||
| 97 | DB 00000001b ;1 | ||
| 98 | DB 00000001b ;2 | ||
| 99 | DB 00000001b ;3 | ||
| 100 | DB 00110000b ;4 | ||
| 101 | DB 00110000b ;5 | ||
| 102 | DB 00110000b ;6 | ||
| 103 | DB 00000001b ;7 | ||
| 104 | DB 11111111b ;D;8 ÄÄÄÄÄÄ¿ | ||
| 105 | DB 11111111b ;D;9 ³ | ||
| 106 | DB 11111111b ;D;A RESERVED | ||
| 107 | DB 11111111b ;D;B ³ | ||
| 108 | DB 11111111b ;D;C ÄÄÄÄÄÄÙ | ||
| 109 | DB 00110000b ;D | ||
| 110 | DB 00110000b ;E | ||
| 111 | DB 00100000b ;F | ||
| 112 | DB 00100000b ;10 | ||
| 113 | DB 00100000b ;11 | ||
| 114 | DB 00100000b ;12 | ||
| 115 | DB 00110000b ;13 | ||
| 116 | DB 00110000b ;14 | ||
| 117 | DB 00110000b ;15 | ||
| 118 | DB 00110000b ;16 | ||
| 119 | DB 00110000b ;17 | ||
| 120 | DB 00110000b ;18 | ||
| 121 | DB 00110000b ;19 | ||
| 122 | DB 00110000b ;1A | ||
| 123 | DB 00110000b ;1B | ||
| 124 | DB 00110000b ;1C | ||
| 125 | DB 00110000b ;1D | ||
| 126 | DB 00110000b ;1E | ||
| 127 | DB 00110000b ;1F | ||
| 128 | NUM_MODES EQU ($-EGA_MODES) ; | ||
| 129 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 130 | EGAM_MODES: ; | ||
| 131 | DB 11111111b ;0 | ||
| 132 | DB 11111111b ;1 | ||
| 133 | DB 11111111b ;2 | ||
| 134 | DB 11111111b ;3 | ||
| 135 | DB 11111111b ;4 | ||
| 136 | DB 11111111b ;5 | ||
| 137 | DB 11111111b ;6 | ||
| 138 | DB 00010001b ;7 | ||
| 139 | DB 11111111b ;D;8 ÄÄÄÄÄÄ¿ | ||
| 140 | DB 11111111b ;D;9 ³ | ||
| 141 | DB 11111111b ;D;A RESERVED | ||
| 142 | DB 11111111b ;D;B ³ | ||
| 143 | DB 11111111b ;D;C ÄÄÄÄÄÄÙ | ||
| 144 | DB 11111111b ;D | ||
| 145 | DB 11111111b ;E | ||
| 146 | DB 00100000b ;F | ||
| 147 | DB 11111111b ;10 | ||
| 148 | DB 11111111b ;11 | ||
| 149 | DB 11111111b ;12 | ||
| 150 | DB 11111111b ;13 | ||
| 151 | DB 11111111b ;14 | ||
| 152 | DB 11111111b ;15 | ||
| 153 | DB 11111111b ;16 | ||
| 154 | DB 11111111b ;17 | ||
| 155 | DB 11111111b ;18 | ||
| 156 | DB 11111111b ;19 | ||
| 157 | DB 11111111b ;1A | ||
| 158 | DB 11111111b ;1B | ||
| 159 | DB 11111111b ;1C | ||
| 160 | DB 11111111b ;1D | ||
| 161 | DB 11111111b ;1E | ||
| 162 | DB 11111111b ;1F | ||
| 163 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 164 | LCD_MODES: ; | ||
| 165 | DB 00000010b ;0 | ||
| 166 | DB 00000010b ;1 | ||
| 167 | DB 00000010b ;2 | ||
| 168 | DB 00000010b ;3 | ||
| 169 | DB 11010000b ;4 | ||
| 170 | DB 11010000b ;5 | ||
| 171 | DB 11010000b ;6 | ||
| 172 | DB 00000010b ;7 | ||
| 173 | DB 11111111b ;D;8 ÄÄÄÄÄÄ¿ | ||
| 174 | DB 11111111b ;D;9 ³ | ||
| 175 | DB 11111111b ;D;A RESERVED | ||
| 176 | DB 11111111b ;D;B ³ | ||
| 177 | DB 11111111b ;D;C ÄÄÄÄÄÄÙ | ||
| 178 | DB 11010000b ;D | ||
| 179 | DB 11010000b ;E | ||
| 180 | DB 11010000b ;F | ||
| 181 | DB 11010000b ;10 | ||
| 182 | DB 11010000b ;11 | ||
| 183 | DB 11010000b ;12 | ||
| 184 | DB 11010000b ;13 | ||
| 185 | DB 11010000b ;14 | ||
| 186 | DB 11010000b ;15 | ||
| 187 | DB 11010000b ;16 | ||
| 188 | DB 11010000b ;17 | ||
| 189 | DB 11010000b ;18 | ||
| 190 | DB 11010000b ;19 | ||
| 191 | DB 11010000b ;1A | ||
| 192 | DB 11010000b ;1B | ||
| 193 | DB 11010000b ;1C | ||
| 194 | DB 11010000b ;1D | ||
| 195 | DB 11010000b ;1E | ||
| 196 | DB 11010000b ;1F | ||
| 197 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 198 | MONO_MODES: ; | ||
| 199 | MONO_FONT_SIZE: ; | ||
| 200 | DB 11111111b ;0 | ||
| 201 | DB 11111111b ;1 | ||
| 202 | DB 11111111b ;2 | ||
| 203 | DB 11111111b ;3 | ||
| 204 | DB 11111111b ;4 | ||
| 205 | DB 11111111b ;5 | ||
| 206 | DB 11111111b ;6 | ||
| 207 | DB 11111111b ;7 | ||
| 208 | DB 11111111b ;D;8 ÄÄÄÄÄÄ¿ | ||
| 209 | DB 11111111b ;D;9 ³ | ||
| 210 | DB 11111111b ;D;A RESERVED | ||
| 211 | DB 11111111b ;D;B ³ | ||
| 212 | DB 11111111b ;D;C ÄÄÄÄÄÄÙ | ||
| 213 | DB 11111111b ;D | ||
| 214 | DB 11111111b ;E | ||
| 215 | DB 11111111b ;F | ||
| 216 | DB 11111111b ;10 | ||
| 217 | DB 11111111b ;11 | ||
| 218 | DB 11111111b ;12 | ||
| 219 | DB 11111111b ;13 | ||
| 220 | DB 11111111b ;14 | ||
| 221 | DB 11111111b ;15 | ||
| 222 | DB 11111111b ;16 | ||
| 223 | DB 11111111b ;17 | ||
| 224 | DB 11111111b ;18 | ||
| 225 | DB 11111111b ;19 | ||
| 226 | DB 11111111b ;1A | ||
| 227 | DB 11111111b ;1B | ||
| 228 | DB 11111111b ;1C | ||
| 229 | DB 11111111b ;1D | ||
| 230 | DB 11111111b ;1E | ||
| 231 | DB 11111111b ;1F | ||
| 232 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 233 | EGA_FONT_SIZE: ; this needs to be adjusted | ||
| 234 | DB 0 ;0 ************************* | ||
| 235 | DB 0 ;1 ************************* | ||
| 236 | DB 0 ;2 | ||
| 237 | DB 0 ;3 | ||
| 238 | DB 8 ;4 | ||
| 239 | DB 8 ;5 | ||
| 240 | DB 8 ;6 | ||
| 241 | DB 0 ;7 | ||
| 242 | DB 0FFH ;D;8 ÄÄÄÄÄÄ¿ | ||
| 243 | DB 0FFH ;D;9 ³ | ||
| 244 | DB 0FFH ;D;A RESERVED | ||
| 245 | DB 0FFH ;D;B ³ | ||
| 246 | DB 0FFH ;D;C ÄÄÄÄÄÄÙ | ||
| 247 | DB 0 ;D | ||
| 248 | DB 0 ;E | ||
| 249 | DB 0 ;F | ||
| 250 | DB 0 ;10 | ||
| 251 | DB 0 ;11 | ||
| 252 | DB 0 ;12 | ||
| 253 | DB 0 ;13 | ||
| 254 | DB 0 ;14 | ||
| 255 | DB 0 ;15 | ||
| 256 | DB 0 ;16 | ||
| 257 | DB 0 ;17 | ||
| 258 | DB 0 ;18 | ||
| 259 | DB 0 ;19 | ||
| 260 | DB 0 ;1A | ||
| 261 | DB 0 ;1B | ||
| 262 | DB 0 ;1C | ||
| 263 | DB 0 ;1D | ||
| 264 | DB 0 ;1E | ||
| 265 | DB 0 ;1F | ||
| 266 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 267 | EGA8_FONT_SIZE: ; | ||
| 268 | DB 8 ;0 | ||
| 269 | DB 8 ;1 | ||
| 270 | DB 8 ;2 | ||
| 271 | DB 8 ;3 | ||
| 272 | DB 8 ;4 | ||
| 273 | DB 8 ;5 | ||
| 274 | DB 8 ;6 | ||
| 275 | DB 0FFH ;7 | ||
| 276 | DB 0FFH ;D;8 ÄÄÄÄÄÄ¿ | ||
| 277 | DB 0FFH ;D;9 ³ | ||
| 278 | DB 0FFH ;D;A RESERVED | ||
| 279 | DB 0FFH ;D;B ³ | ||
| 280 | DB 0FFH ;D;C ÄÄÄÄÄÄÙ | ||
| 281 | DB 8 ;D | ||
| 282 | DB 8 ;E | ||
| 283 | DB 8 ;F | ||
| 284 | DB 0FFH ;10 | ||
| 285 | DB 0FFH ;11 | ||
| 286 | DB 0FFH ;12 | ||
| 287 | DB 0FFH ;13 | ||
| 288 | DB 0FFH ;14 | ||
| 289 | DB 0FFH ;15 | ||
| 290 | DB 0FFH ;16 | ||
| 291 | DB 0FFH ;17 | ||
| 292 | DB 0FFH ;18 | ||
| 293 | DB 0FFH ;19 | ||
| 294 | DB 0FFH ;1A | ||
| 295 | DB 0FFH ;1B | ||
| 296 | DB 0FFH ;1C | ||
| 297 | DB 0FFH ;1D | ||
| 298 | DB 0FFH ;1E | ||
| 299 | DB 0FFH ;1F | ||
| 300 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 301 | EGA14_FONT_SIZE: ; | ||
| 302 | DB 14 ;0 | ||
| 303 | DB 14 ;1 | ||
| 304 | DB 14 ;2 | ||
| 305 | DB 14 ;3 | ||
| 306 | DB 8 ;4 | ||
| 307 | DB 8 ;5 | ||
| 308 | DB 8 ;6 | ||
| 309 | DB 14 ;7 | ||
| 310 | DB 0FFH ;D;8 ÄÄÄÄÄÄ¿ | ||
| 311 | DB 0FFH ;D;9 ³ | ||
| 312 | DB 0FFH ;D;A RESERVED | ||
| 313 | DB 0FFH ;D;B ³ | ||
| 314 | DB 0FFH ;D;C ÄÄÄÄÄÄÙ | ||
| 315 | DB 8 ;D | ||
| 316 | DB 8 ;E | ||
| 317 | DB 14 ;F | ||
| 318 | DB 14 ;10 | ||
| 319 | DB 0FFH ;11 | ||
| 320 | DB 0FFH ;12 | ||
| 321 | DB 0FFH ;13 | ||
| 322 | DB 0FFH ;14 | ||
| 323 | DB 0FFH ;15 | ||
| 324 | DB 0FFH ;16 | ||
| 325 | DB 0FFH ;17 | ||
| 326 | DB 0FFH ;18 | ||
| 327 | DB 0FFH ;19 | ||
| 328 | DB 0FFH ;1A | ||
| 329 | DB 0FFH ;1B | ||
| 330 | DB 0FFH ;1C | ||
| 331 | DB 0FFH ;1D | ||
| 332 | DB 0FFH ;1E | ||
| 333 | DB 0FFH ;1F | ||
| 334 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 335 | LCD_FONT_SIZE: ; | ||
| 336 | DB 8 ;0 | ||
| 337 | DB 8 ;1 | ||
| 338 | DB 8 ;2 | ||
| 339 | DB 8 ;3 | ||
| 340 | DB 8 ;4 | ||
| 341 | DB 8 ;5 | ||
| 342 | DB 8 ;6 | ||
| 343 | DB 8 ;7 | ||
| 344 | DB 0FFH ;D;8 ÄÄÄÄÄÄ¿ | ||
| 345 | DB 0FFH ;D;9 ³ | ||
| 346 | DB 0FFH ;D;A RESERVED | ||
| 347 | DB 0FFH ;D;B ³ | ||
| 348 | DB 0FFH ;D;C ÄÄÄÄÄÄÙ | ||
| 349 | DB 8 ;D | ||
| 350 | DB 8 ;E | ||
| 351 | DB 8 ;F | ||
| 352 | DB 8 ;10 | ||
| 353 | DB 8 ;11 | ||
| 354 | DB 8 ;12 | ||
| 355 | DB 8 ;13 | ||
| 356 | DB 8 ;14 | ||
| 357 | DB 8 ;15 | ||
| 358 | DB 8 ;16 | ||
| 359 | DB 8 ;17 | ||
| 360 | DB 8 ;18 | ||
| 361 | DB 8 ;19 | ||
| 362 | DB 8 ;1A | ||
| 363 | DB 8 ;1B | ||
| 364 | DB 8 ;1C | ||
| 365 | DB 8 ;1D | ||
| 366 | DB 8 ;1E | ||
| 367 | DB 8 ;1F | ||
| 368 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
diff --git a/v4.0/src/DEV/DISPLAY/WRITE.INC b/v4.0/src/DEV/DISPLAY/WRITE.INC new file mode 100644 index 0000000..0d6338e --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/WRITE.INC | |||
| @@ -0,0 +1,373 @@ | |||
| 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 2 | ; WRITE ROUTINE FOR DESIGNATE WRITE | ||
| 3 | ; | ||
| 4 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 5 | IF1 ; | ||
| 6 | %OUT . ®WRITE .INC¯ | ||
| 7 | ENDIF ; | ||
| 8 | PUBLIC REDUCED_SUPPORT ; | ||
| 9 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 10 | ; | ||
| 11 | ; WRITE DESIGNATE SUPPORT | ||
| 12 | ; | ||
| 13 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 14 | DESG_WRITE PROC ; | ||
| 15 | CMP CS:DESG_SEMAPHORE,ZERO ; TEST IF DESIGNATE IS ON... | ||
| 16 | JNE DW_2 ; PASS ONTO DOS | ||
| 17 | CLC ; | ||
| 18 | RET ; | ||
| 19 | DW_2: CMP CS:DESG_SEMAPHORE,ONE ; CHECK IF PROPER DESIGNATE | ||
| 20 | JE DW_4 ; | ||
| 21 | OR BUF.STATUS,TEN ; IF NOT, THEN DEVICE ERROR | ||
| 22 | STC ; | ||
| 23 | RET ; | ||
| 24 | DW_4: CALL WRITE ; | ||
| 25 | RET ; | ||
| 26 | DESG_WRITE ENDP ; | ||
| 27 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 28 | ; | ||
| 29 | ; | ||
| 30 | ; | ||
| 31 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 32 | REDUCED_SUPPORT EQU $ ; THIS IS A MARKER FOR REDUCED CPS | ||
| 33 | ; SUPPORT WITH 0 DESGINATES (CGA,MONO) | ||
| 34 | WRITE PROC ; | ||
| 35 | PUSH DS ; | ||
| 36 | ; | ||
| 37 | PUSH CS ; | ||
| 38 | POP DS ; | ||
| 39 | ; | ||
| 40 | PUSH SI ;S; | ||
| 41 | CLI ;S; | ||
| 42 | MOV SI,SP ;S; | ||
| 43 | MOV OLD_STACK_O,SI ;S; | ||
| 44 | MOV SI,SS ;S; | ||
| 45 | MOV OLD_STACK_S,SI ;S; | ||
| 46 | MOV AX,OFFSET STACK_START ;S; | ||
| 47 | MOV SI,CS ;S; | ||
| 48 | MOV SS,SI ;S; | ||
| 49 | MOV SP,AX ;S; | ||
| 50 | STI ;S; | ||
| 51 | ; | ||
| 52 | LES DI,DWORD PTR BUF.RH_PTRO; RESTORE ES:DI AS REQUEST HEADER PTR | ||
| 53 | LEA SI,FTABLE ; GET BASE ADDRESS OF PARSER TABLE | ||
| 54 | ; | ||
| 55 | MOV DS:[SI].FLAG,0 ; NO RESTART | ||
| 56 | MOV AX,RH.RH3_CNT ; | ||
| 57 | MOV DS:[SI].BUFFER_LEN,AX ; LENGTH OF REQUEST PACKET | ||
| 58 | ; | ||
| 59 | PUSH SI ; | ||
| 60 | LEA SI,[SI].BUFFER_ADDR ; PACKET ADDRESS | ||
| 61 | MOV AX,RH.RH3_DTAO ; | ||
| 62 | MOV DS:[SI],AX ; | ||
| 63 | INC SI ; | ||
| 64 | INC SI ; | ||
| 65 | MOV AX,RH.RH3_DTAS ; | ||
| 66 | MOV DS:[SI],AX ; | ||
| 67 | POP SI ; | ||
| 68 | ; | ||
| 69 | CALL FONT_PARSER ; | ||
| 70 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 71 | ; | ||
| 72 | ; FONT PARSER HAS BEEN CALLED, NOW CHECK ALL OF THE | ||
| 73 | ; APPROPRIATE TABLES FOR DATA INFORMATION, ERROR | ||
| 74 | ; CONDITIONS, etc.... | ||
| 75 | ; | ||
| 76 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 77 | LEA SI,FTABLE ; GET BASE ADDRESS OF PARSER TABLE | ||
| 78 | MOV CX,[SI].NUM_FTBLK ; CX = NUMBER OF PARSING TABLES | ||
| 79 | LEA SI,FTB1 ; THEN SET SI = FIRST PARSING TABLE | ||
| 80 | ; | ||
| 81 | W_1: MOV AX,DS:[SI].FTB_STATUS ; | ||
| 82 | CMP AX,0FFF0H ; CHECK THE PARSER STATUS | ||
| 83 | JNB W_3 ; | ||
| 84 | ; | ||
| 85 | OR BUF.STATUS,FAIL ; IF THE PARSER FAILED ON THE DATA | ||
| 86 | MOV RH.RHC_STA,AX ; FILE, THEN SET FLAG AND... | ||
| 87 | CALL HANDLE_WRITE_ERROR ; | ||
| 88 | JUMP W_7 ; ERROR HAS BEEN FOUND..DON'T CONTINUE | ||
| 89 | ; | ||
| 90 | W_3: CMP AX,FSTAT_FONT ; | ||
| 91 | JNE W_6 ; | ||
| 92 | ; | ||
| 93 | MOV AX,DS:[SI].FTB_DLEN ; | ||
| 94 | CALL HANDLE_DATA_WRITE ; | ||
| 95 | ; | ||
| 96 | W_6: ADD SI,TYPE FTBLK ; ADVANCE SI POINTER TO NEXT TABLE | ||
| 97 | LOOP W_1 ; CHECK OUT ALL PARSING TABLES | ||
| 98 | ; | ||
| 99 | W_7: CLI ;S; | ||
| 100 | MOV SI,OLD_STACK_S ;S; | ||
| 101 | MOV AX,OLD_STACK_O ;S; | ||
| 102 | MOV SS,SI ;S; | ||
| 103 | MOV SP,AX ;S; | ||
| 104 | STI ;S; | ||
| 105 | POP SI ;S; | ||
| 106 | POP DS ; | ||
| 107 | STC ; INDICATE NOT TO PASS ON DATA | ||
| 108 | RET ; | ||
| 109 | WRITE ENDP ; | ||
| 110 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 111 | ; | ||
| 112 | ; THIS IS USED TO SET THE CPS DRIVER IN THE CASE OF A | ||
| 113 | ; DESIGNATE ERROR. IT WILL RESET THE DESIGNATED CP's | ||
| 114 | ; TO INVALID, AND IF THE ACTIVE_CP WAS A DESIGNATED CP, | ||
| 115 | ; THEN IT TOO BECOMES INVALID. | ||
| 116 | ; | ||
| 117 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 118 | HANDLE_WRITE_ERROR PROC ; | ||
| 119 | PUSH DS ; | ||
| 120 | PUSH AX ; | ||
| 121 | PUSH CX ; | ||
| 122 | PUSH SI ; | ||
| 123 | ; | ||
| 124 | MOV AX,-1 ; ...SET DESGINATE LIST TO (-1)'S | ||
| 125 | MOV CX,CPD_REQ_DESG ; GET NUMBER AND | ||
| 126 | MOV SI,2 ; +2 | ||
| 127 | HWE_3: CMP CPD_REQ_DESG[SI],AX ; CHECK IF REQUESTED PREP WAS VALID | ||
| 128 | JE HWE_4 ; IF REQUESTED WAS VALID, THEN THE ERROR | ||
| 129 | MOV CPD_DESG_N[SI],AX ; SETS ACTUAL PREP LIST ENTRY TO INVALID | ||
| 130 | HWE_4: INC SI ; | ||
| 131 | INC SI ; | ||
| 132 | LOOP HWE_3 ; REPEAT FOR #DESIGNATES | ||
| 133 | ; | ||
| 134 | MOV CX,CPD_ACTIVE ; | ||
| 135 | CALL FIND_CP ; CHECK IF ACTIVE_CP=STILL VALID | ||
| 136 | JNC HWE_2 ; | ||
| 137 | MOV CX,-1 ; | ||
| 138 | MOV CPD_ACTIVE,CX ; | ||
| 139 | ; | ||
| 140 | HWE_2: POP SI ; | ||
| 141 | POP CX ; | ||
| 142 | POP AX ; | ||
| 143 | POP DS ; | ||
| 144 | RET ; | ||
| 145 | HANDLE_WRITE_ERROR ENDP ; | ||
| 146 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 147 | ; | ||
| 148 | ; THIS SUBROUTINE TAKES THE DATA INFORMATION ISOLATED | ||
| 149 | ; BY THE FONT PARSER AND MOVES INTO THE INTERNAL FONT | ||
| 150 | ; FONT BUFFERS. IT COPIES THE DATA BASED ON THE SIZE | ||
| 151 | ; OF THE INTERNAL FONTS & THE REQUIRED FONT SIZES. | ||
| 152 | ; | ||
| 153 | ; | ||
| 154 | ; INPUT: | ||
| 155 | ; AX = LENGTH OF DATA | ||
| 156 | ; CX = TABLE # TO PARSE | ||
| 157 | ; DS:SI = POINTER TO 'FTBLK' | ||
| 158 | ; | ||
| 159 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 160 | NUM_DATA_FONTS DW ? ; | ||
| 161 | TABLE_INDEX DW ? ; | ||
| 162 | LEN_DATA DW ? ; | ||
| 163 | INDEX_WRITE_PNTER DW ? ; | ||
| 164 | ; | ||
| 165 | HANDLE_DATA_WRITE PROC ; | ||
| 166 | PUSH AX ; | ||
| 167 | PUSH BX ; | ||
| 168 | PUSH CX ; | ||
| 169 | PUSH SI ; | ||
| 170 | PUSH DI ; | ||
| 171 | PUSH DS ; | ||
| 172 | PUSH ES ; | ||
| 173 | ; | ||
| 174 | PUSH CX ; | ||
| 175 | MOV CX,DS:[SI].FTB_FONTS ; READ IN #FONTS FROM DATA FILE | ||
| 176 | MOV CS:NUM_DATA_FONTS,CX ; | ||
| 177 | POP CX ; | ||
| 178 | ; | ||
| 179 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 180 | ; | ||
| 181 | ; ROUTINE TO FIND TABLE_INDEX FOR DATA WRITE'S | ||
| 182 | ; THIS WAS ADDED TO ACCOUNT FOR A REPLACEMENT | ||
| 183 | ; TECHNIQUE APPROACH.....(Sept 3/86) | ||
| 184 | ; | ||
| 185 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 186 | PUSH AX ; | ||
| 187 | PUSH CX ; | ||
| 188 | PUSH ES ; | ||
| 189 | ; | ||
| 190 | PUSH CS ; | ||
| 191 | POP ES ; | ||
| 192 | MOV AX,DS:[SI].FTB_CP ; GET THE CODE PAGE OF THIS FONT BLOCK | ||
| 193 | MOV CX,CPD_DESG_N ; GET THE NUMBER OF CP's TO CHECK | ||
| 194 | MOV DI,TWO ; | ||
| 195 | BBB_0: CMP AX,CPD_DESG_N[DI] ; LOOKING FOR A MATCHED CODE PAGE | ||
| 196 | JE BBB_1 ; | ||
| 197 | INC DI ; | ||
| 198 | INC DI ; | ||
| 199 | LOOP BBB_0 ; | ||
| 200 | ; | ||
| 201 | ;;;;;;INVALID???;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 202 | ; | ||
| 203 | BBB_1: MOV DI,CPD_DESG_N ; | ||
| 204 | SUB DI,CX ; | ||
| 205 | MOV CS:TABLE_INDEX,DI ; | ||
| 206 | BBB_2: POP ES ; | ||
| 207 | POP CX ; | ||
| 208 | POP AX ; | ||
| 209 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 210 | ; | ||
| 211 | ; | ||
| 212 | ; | ||
| 213 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 214 | PUSH SI ; | ||
| 215 | LEA SI,FTABLE ; GET BASE ADDRESS OF PARSER TABLE | ||
| 216 | SHL DI,1 ; | ||
| 217 | SHL DI,1 ; MULTIPLY INDEX BY FOUR..SEG:OFFSET | ||
| 218 | CALL GET_WRITE_PNTR ; GET LOCATION OF 1ST FONT_WRITE PNTER | ||
| 219 | ADD DI,SI ; DI NOW IS THE POINTER TO WRITE_START | ||
| 220 | POP SI ; | ||
| 221 | ; | ||
| 222 | MOV CS:INDEX_WRITE_PNTER,DI ; SAVE ADDRESS OF INDEX WRITE PNTER | ||
| 223 | ; | ||
| 224 | MOV ES,CS:[DI+2] ; SET ES : DI WITH WRITE POINTER! | ||
| 225 | MOV DI,CS:[DI] ; | ||
| 226 | ; | ||
| 227 | MOV CX,DS:[SI].FTB_DAHI ; GET SEGMENT OF DATA | ||
| 228 | MOV SI,DS:[SI].FTB_DALO ; GET OFFSET OF DATA | ||
| 229 | MOV DS,CX ; | ||
| 230 | ; <<SETUP DESTINATION INFO>> | ||
| 231 | MOV CX,AX ; SAVE LENGTH OF DATA TO COPY | ||
| 232 | MOV CS:LEN_DATA,CX ; SAVE THIS VALUE | ||
| 233 | AND CX,CX ; TEST LENGTH OF DATA | ||
| 234 | JNZ TEMP_0 ; | ||
| 235 | JUMP HDW_8 ; | ||
| 236 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 237 | ; | ||
| 238 | ; NOW DS : SI POINTS TO SOURCE DATA INFORMATION, | ||
| 239 | ; ES : DI POINTS TO THE DESTINATION BUFFER! | ||
| 240 | ; CX = NUMBER OF INFORMATION BYTES AVAILABLE | ||
| 241 | ; THE DATA MUST BE CHECKED FOR THE FONT RESOLUTIONS | ||
| 242 | ; AS THEY ARE TO FIT INTO THE INTERNAL BUFFERS. | ||
| 243 | ; | ||
| 244 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 245 | TEMP_0: PUSH AX ; | ||
| 246 | PUSH BX ; | ||
| 247 | PUSH CX ; | ||
| 248 | PUSH SI ; | ||
| 249 | PUSH DI ; | ||
| 250 | ; | ||
| 251 | LEA BX,CPD_FONT_DATA ; TEST IF THERE IS OUTSTANDING DATA | ||
| 252 | ADD BX,CS:TABLE_INDEX ; FOR INFORMATION TO COPY or SKIP OVER. | ||
| 253 | ADD BX,CS:TABLE_INDEX ; (ACCOUNT FOR WORD VALUE) | ||
| 254 | MOV AX,CS:[BX] ; | ||
| 255 | OR AX,AX ; | ||
| 256 | JE HDW_00 ; IF NOTHING TO CONSIDER, THEN MOVE ON | ||
| 257 | TEST AX,8000H ;;;;SKIP/COPY;;;;; TEST IF OUTSTANDING DATA TO COPY/SKIP | ||
| 258 | JNZ HDW_P0 ; | ||
| 259 | MOV CX,AX ; SET VALUE IN CX.... | ||
| 260 | MOV AX,CS:NUM_DATA_FONTS ; | ||
| 261 | PUSH AX ; | ||
| 262 | JUMP HDW_3AA ; | ||
| 263 | HDW_P0: AND AX,7FFFH ; STRIP OFF FIRST BIT... | ||
| 264 | MOV CX,AX ; | ||
| 265 | MOV AX,CS:NUM_DATA_FONTS ; | ||
| 266 | PUSH AX ; | ||
| 267 | JUMP HDW_5AA ; | ||
| 268 | ; | ||
| 269 | HDW_00: MOV CX,CS:NUM_DATA_FONTS ; | ||
| 270 | HDW_0: CMP CS:LEN_DATA,0 ; TEST IF THERE IS ANY DATA LEFT? | ||
| 271 | JNE HDW_0A ; | ||
| 272 | JUMP HDW_6 ; IF 0 LEFT...THEN END... | ||
| 273 | ; | ||
| 274 | HDW_0A: MOV AL,[SI] ; GET #ROWS FROM DATA | ||
| 275 | PUSH CX ; SAVE COUNT | ||
| 276 | MOV CX,NUM_FONT_PRIORITY ; | ||
| 277 | LEA BX,FONT_PRIORITY ; SET DI TO START OF TABLE | ||
| 278 | HDW_1: CMP AL,CS:[BX] ; | ||
| 279 | JE HDW_3 ; IF EQUAL, THEN ALREADY IN TABLE | ||
| 280 | INC BX ; OTHERWISE, TAKE THIS MODES FONT RES | ||
| 281 | LOOP HDW_1 ; AND COMPARE AGAINST NEXT PRIOR.VALUE | ||
| 282 | JUMP HDW_5 ; IF NO MATCH, THEN IGNORE THIS FONT!!! | ||
| 283 | ; | ||
| 284 | HDW_3: XOR AH,AH ; FONT SIZE NEEDED...GET IT! | ||
| 285 | MOV CX,[SI+4] ; GET THE #CHARACTERS IN TABLE | ||
| 286 | PUSH DX ; | ||
| 287 | MUL CX ; | ||
| 288 | POP DX ; | ||
| 289 | ADD AX,SIX ; ACCOUNT FOR DATA HEADER | ||
| 290 | MOV CX,AX ; SET COUNT INTO CX.... | ||
| 291 | ; | ||
| 292 | HDW_3AA:CMP CX,CS:LEN_DATA ; TEST IF SUPPLIED DATA>=NEEDED | ||
| 293 | JBE HDW_3A ; | ||
| 294 | SUB CX,CS:LEN_DATA ; IF NOT ENOUGH DATA HERE, THEN FORWARD | ||
| 295 | MOV AX,CX ; VALUE TO NEXT DATA CALL. | ||
| 296 | CALL SET_CPD_FONT_DATA ; | ||
| 297 | MOV CX,CS:LEN_DATA ; | ||
| 298 | JUMP HDW_3B ; | ||
| 299 | ; | ||
| 300 | HDW_3A: XOR AX,AX ; | ||
| 301 | CALL SET_CPD_FONT_DATA ; | ||
| 302 | HDW_3B: SUB CS:LEN_DATA,CX ; | ||
| 303 | CLD ; | ||
| 304 | REP MOVSB ; MOVE THAT RESOLUTION IN... | ||
| 305 | ; | ||
| 306 | HDW_4: POP CX ; RESTORE #FONTS IN DATA | ||
| 307 | LOOP HDW_0 ; | ||
| 308 | JUMP HDW_6 ; | ||
| 309 | ; | ||
| 310 | HDW_5: XOR AH,AH ; FONT SIZE NEEDED...GET IT! | ||
| 311 | MOV CX,[SI+4] ; GET THE #CHARACTERS IN TABLE | ||
| 312 | PUSH DX ; | ||
| 313 | MUL CX ; | ||
| 314 | POP DX ; | ||
| 315 | ADD AX,SIX ; ACCOUNT FOR DATA HEADER | ||
| 316 | MOV CX,AX ; PUT IN CX FOR NOW | ||
| 317 | ; | ||
| 318 | HDW_5AA:CMP CX,CS:LEN_DATA ; TEST IF SUPPLIED DATA>=NEEDED | ||
| 319 | JBE HDW_5A ; | ||
| 320 | SUB CX,CS:LEN_DATA ; IF NOT ENOUGH DATA HERE, THEN FORWARD | ||
| 321 | MOV AX,CX ; VALUE TO NEXT DATA CALL. | ||
| 322 | OR AX,8000H ; SET TO SKIP NEXT DATA.... | ||
| 323 | CALL SET_CPD_FONT_DATA ; | ||
| 324 | MOV CX,CS:LEN_DATA ; | ||
| 325 | JUMP HDW_5B ; | ||
| 326 | ; | ||
| 327 | HDW_5A: XOR AX,AX ; | ||
| 328 | CALL SET_CPD_FONT_DATA ; | ||
| 329 | HDW_5B: SUB CS:LEN_DATA,CX ; | ||
| 330 | ADD SI,CX ; ADVANCE SOURCE POINTER OVER THIS FONT | ||
| 331 | JUMP HDW_4 ; | ||
| 332 | ; | ||
| 333 | HDW_6: MOV SI,CS:INDEX_WRITE_PNTER ; | ||
| 334 | MOV CS:[SI],DI ; | ||
| 335 | MOV CS:[SI+2],ES ; | ||
| 336 | ; | ||
| 337 | POP DI ; | ||
| 338 | POP SI ; | ||
| 339 | POP CX ; | ||
| 340 | POP BX ; | ||
| 341 | POP AX ; | ||
| 342 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 343 | ; | ||
| 344 | ; | ||
| 345 | ; | ||
| 346 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 347 | HDW_8: POP ES ; | ||
| 348 | POP DS ; | ||
| 349 | POP DI ; | ||
| 350 | POP SI ; | ||
| 351 | POP CX ; | ||
| 352 | POP BX ; | ||
| 353 | POP AX ; | ||
| 354 | RET ; | ||
| 355 | HANDLE_DATA_WRITE ENDP ; | ||
| 356 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 357 | ; | ||
| 358 | ; SET_CPD_FONT_DATA | ||
| 359 | ; | ||
| 360 | ; THIS ROUTINE IS USED TO SET THE COPY/SKIP VALUE | ||
| 361 | ; CONTAINED IN 'AX'. | ||
| 362 | ; | ||
| 363 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 364 | SET_CPD_FONT_DATA PROC ; | ||
| 365 | PUSH SI ; | ||
| 366 | MOV SI,CS:TABLE_INDEX ; | ||
| 367 | ADD SI,SI ; | ||
| 368 | MOV CS:CPD_FONT_DATA.[SI],AX; | ||
| 369 | POP SI ; | ||
| 370 | RET ; | ||
| 371 | SET_CPD_FONT_DATA ENDP ; | ||
| 372 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 373 | \ No newline at end of file | ||
diff --git a/v4.0/src/DEV/DISPLAY/ZERO.DAT b/v4.0/src/DEV/DISPLAY/ZERO.DAT new file mode 100644 index 0000000..573541a --- /dev/null +++ b/v4.0/src/DEV/DISPLAY/ZERO.DAT | |||
| @@ -0,0 +1 @@ | |||
| 0 | |||