Files
lba1-classic/LIB386/LIB_SVGA/S_STRING.ASM

435 lines
16 KiB
NASM

;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
; S_TEST.ASM 386
; (c) Adeline 1993
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
.386p
jumps
.model SMALL, SYSCALL
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
.data
include svga.ash
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
; include Font6X6.asm
; include Font8X8.asm
Font8X8 db 0, 0, 0, 0, 0, 0, 0, 0
db 126, 129, 165, 129, 189, 153, 129, 126
db 126, 255, 219, 255, 195, 231, 255, 126
db 108, 254, 254, 254, 124, 56, 16, 0
db 16, 56, 124, 254, 124, 56, 16, 0
db 56, 124, 56, 254, 254, 146, 16, 124
db 0, 16, 56, 124, 254, 124, 56, 124
db 0, 0, 24, 60, 60, 24, 0, 0
db 255, 255, 231, 195, 195, 231, 255, 255
db 0, 60, 102, 66, 66, 102, 60, 0
db 255, 195, 153, 189, 189, 153, 195, 255
db 15, 7, 15, 125, 204, 204, 204, 120
db 60, 102, 102, 102, 60, 24, 126, 24
db 63, 51, 63, 48, 48, 112, 240, 224
db 127, 99, 127, 99, 99, 103, 230, 192
db 153, 90, 60, 231, 231, 60, 90, 153
db 128, 224, 248, 254, 248, 224, 128, 0
db 2, 14, 62, 254, 62, 14, 2, 0
db 24, 60, 126, 24, 24, 126, 60, 24
db 102, 102, 102, 102, 102, 0, 102, 0
db 127, 219, 219, 123, 27, 27, 27, 0
db 62, 99, 56, 108, 108, 56, 134, 252
db 0, 0, 0, 0, 126, 126, 126, 0
db 24, 60, 126, 24, 126, 60, 24, 255
db 24, 60, 126, 24, 24, 24, 24, 0
db 24, 24, 24, 24, 126, 60, 24, 0
db 0, 24, 12, 254, 12, 24, 0, 0
db 0, 48, 96, 254, 96, 48, 0, 0
db 0, 0, 192, 192, 192, 254, 0, 0
db 0, 36, 102, 255, 102, 36, 0, 0
db 0, 24, 60, 126, 255, 255, 0, 0
db 0, 255, 255, 126, 60, 24, 0, 0
db 0, 0, 0, 0, 0, 0, 0, 0
db 24, 60, 60, 24, 24, 0, 24, 0
db 108, 108, 108, 0, 0, 0, 0, 0
db 108, 108, 254, 108, 254, 108, 108, 0
db 24, 126, 192, 124, 6, 252, 24, 0
db 0, 198, 204, 24, 48, 102, 198, 0
db 56, 108, 56, 118, 220, 204, 118, 0
db 48, 48, 96, 0, 0, 0, 0, 0
db 24, 48, 96, 96, 96, 48, 24, 0
db 96, 48, 24, 24, 24, 48, 96, 0
db 0, 102, 60, 255, 60, 102, 0, 0
db 0, 24, 24, 126, 24, 24, 0, 0
db 0, 0, 0, 0, 0, 24, 24, 48
db 0, 0, 0, 126, 0, 0, 0, 0
db 0, 0, 0, 0, 0, 24, 24, 0
db 6, 12, 24, 48, 96, 192, 128, 0
db 124, 206, 222, 246, 230, 198, 124, 0
db 48, 112, 48, 48, 48, 48, 252, 0
db 120, 204, 12, 56, 96, 204, 252, 0
db 120, 204, 12, 56, 12, 204, 120, 0
db 28, 60, 108, 204, 254, 12, 30, 0
db 252, 192, 248, 12, 12, 204, 120, 0
db 56, 96, 192, 248, 204, 204, 120, 0
db 252, 204, 12, 24, 48, 48, 48, 0
db 120, 204, 204, 120, 204, 204, 120, 0
db 120, 204, 204, 124, 12, 24, 112, 0
db 0, 24, 24, 0, 0, 24, 24, 0
db 0, 24, 24, 0, 0, 24, 24, 48
db 24, 48, 96, 192, 96, 48, 24, 0
db 0, 0, 126, 0, 126, 0, 0, 0
db 96, 48, 24, 12, 24, 48, 96, 0
db 60, 102, 12, 24, 24, 0, 24, 0
db 124, 198, 222, 222, 220, 192, 124, 0
db 48, 120, 204, 204, 252, 204, 204, 0
db 252, 102, 102, 124, 102, 102, 252, 0
db 60, 102, 192, 192, 192, 102, 60, 0
db 248, 108, 102, 102, 102, 108, 248, 0
db 254, 98, 104, 120, 104, 98, 254, 0
db 254, 98, 104, 120, 104, 96, 240, 0
db 60, 102, 192, 192, 206, 102, 58, 0
db 204, 204, 204, 252, 204, 204, 204, 0
db 120, 48, 48, 48, 48, 48, 120, 0
db 30, 12, 12, 12, 204, 204, 120, 0
db 230, 102, 108, 120, 108, 102, 230, 0
db 240, 96, 96, 96, 98, 102, 254, 0
db 198, 238, 254, 254, 214, 198, 198, 0
db 198, 230, 246, 222, 206, 198, 198, 0
db 56, 108, 198, 198, 198, 108, 56, 0
db 252, 102, 102, 124, 96, 96, 240, 0
db 124, 198, 198, 198, 214, 124, 14, 0
db 252, 102, 102, 124, 108, 102, 230, 0
db 124, 198, 224, 120, 14, 198, 124, 0
db 252, 180, 48, 48, 48, 48, 120, 0
db 204, 204, 204, 204, 204, 204, 252, 0
db 204, 204, 204, 204, 204, 120, 48, 0
db 198, 198, 198, 198, 214, 254, 108, 0
db 198, 198, 108, 56, 108, 198, 198, 0
db 204, 204, 204, 120, 48, 48, 120, 0
db 254, 198, 140, 24, 50, 102, 254, 0
db 120, 96, 96, 96, 96, 96, 120, 0
db 192, 96, 48, 24, 12, 6, 2, 0
db 120, 24, 24, 24, 24, 24, 120, 0
db 16, 56, 108, 198, 0, 0, 0, 0
db 0, 0, 0, 0, 0, 0, 0, 255
db 48, 48, 24, 0, 0, 0, 0, 0
db 0, 0, 120, 12, 124, 204, 118, 0
db 224, 96, 96, 124, 102, 102, 220, 0
db 0, 0, 120, 204, 192, 204, 120, 0
db 28, 12, 12, 124, 204, 204, 118, 0
db 0, 0, 120, 204, 252, 192, 120, 0
db 56, 108, 100, 240, 96, 96, 240, 0
db 0, 0, 118, 204, 204, 124, 12, 248
db 224, 96, 108, 118, 102, 102, 230, 0
db 48, 0, 112, 48, 48, 48, 120, 0
db 12, 0, 28, 12, 12, 204, 204, 120
db 224, 96, 102, 108, 120, 108, 230, 0
db 112, 48, 48, 48, 48, 48, 120, 0
db 0, 0, 204, 254, 254, 214, 214, 0
db 0, 0, 184, 204, 204, 204, 204, 0
db 0, 0, 120, 204, 204, 204, 120, 0
db 0, 0, 220, 102, 102, 124, 96, 240
db 0, 0, 118, 204, 204, 124, 12, 30
db 0, 0, 220, 118, 98, 96, 240, 0
db 0, 0, 124, 192, 112, 28, 248, 0
db 16, 48, 252, 48, 48, 52, 24, 0
db 0, 0, 204, 204, 204, 204, 118, 0
db 0, 0, 204, 204, 204, 120, 48, 0
db 0, 0, 198, 198, 214, 254, 108, 0
db 0, 0, 198, 108, 56, 108, 198, 0
db 0, 0, 204, 204, 204, 124, 12, 248
db 0, 0, 252, 152, 48, 100, 252, 0
db 28, 48, 48, 224, 48, 48, 28, 0
db 24, 24, 24, 0, 24, 24, 24, 0
db 224, 48, 48, 28, 48, 48, 224, 0
db 118, 220, 0, 0, 0, 0, 0, 0
db 0, 16, 56, 108, 198, 198, 254, 0
db 124, 198, 192, 198, 124, 12, 6, 124
db 0, 204, 0, 204, 204, 204, 118, 0
db 28, 0, 120, 204, 252, 192, 120, 0
db 126, 129, 60, 6, 62, 102, 59, 0
db 204, 0, 120, 12, 124, 204, 118, 0
db 224, 0, 120, 12, 124, 204, 118, 0
db 48, 48, 120, 12, 124, 204, 118, 0
db 0, 0, 124, 198, 192, 120, 12, 56
db 126, 129, 60, 102, 126, 96, 60, 0
db 204, 0, 120, 204, 252, 192, 120, 0
db 224, 0, 120, 204, 252, 192, 120, 0
db 204, 0, 112, 48, 48, 48, 120, 0
db 124, 130, 56, 24, 24, 24, 60, 0
db 224, 0, 112, 48, 48, 48, 120, 0
db 198, 16, 124, 198, 254, 198, 198, 0
db 48, 48, 0, 120, 204, 252, 204, 0
db 28, 0, 252, 96, 120, 96, 252, 0
db 0, 0, 127, 12, 127, 204, 127, 0
db 62, 108, 204, 254, 204, 204, 206, 0
db 120, 132, 0, 120, 204, 204, 120, 0
db 0, 204, 0, 120, 204, 204, 120, 0
db 0, 224, 0, 120, 204, 204, 120, 0
db 120, 132, 0, 204, 204, 204, 118, 0
db 0, 224, 0, 204, 204, 204, 118, 0
db 0, 204, 0, 204, 204, 124, 12, 248
db 195, 24, 60, 102, 102, 60, 24, 0
db 204, 0, 204, 204, 204, 204, 120, 0
db 24, 24, 126, 192, 192, 126, 24, 24
db 56, 108, 100, 240, 96, 230, 252, 0
db 204, 204, 120, 48, 252, 48, 252, 48
db 248, 204, 204, 250, 198, 207, 198, 195
db 14, 27, 24, 60, 24, 24, 216, 112
db 28, 0, 120, 12, 124, 204, 118, 0
db 56, 0, 112, 48, 48, 48, 120, 0
db 0, 28, 0, 120, 204, 204, 120, 0
db 0, 28, 0, 204, 204, 204, 118, 0
db 0, 248, 0, 184, 204, 204, 204, 0
db 252, 0, 204, 236, 252, 220, 204, 0
db 60, 108, 108, 62, 0, 126, 0, 0
db 56, 108, 108, 56, 0, 124, 0, 0
db 24, 0, 24, 24, 48, 102, 60, 0
db 0, 0, 0, 252, 192, 192, 0, 0
db 0, 0, 0, 252, 12, 12, 0, 0
db 198, 204, 216, 54, 107, 194, 132, 15
db 195, 198, 204, 219, 55, 109, 207, 3
db 24, 0, 24, 24, 60, 60, 24, 0
db 0, 51, 102, 204, 102, 51, 0, 0
db 0, 204, 102, 51, 102, 204, 0, 0
db 34, 136, 34, 136, 34, 136, 34, 136
db 85, 170, 85, 170, 85, 170, 85, 170
db 219, 246, 219, 111, 219, 126, 215, 237
db 24, 24, 24, 24, 24, 24, 24, 24
db 24, 24, 24, 24, 248, 24, 24, 24
db 24, 24, 248, 24, 248, 24, 24, 24
db 54, 54, 54, 54, 246, 54, 54, 54
db 0, 0, 0, 0, 254, 54, 54, 54
db 0, 0, 248, 24, 248, 24, 24, 24
db 54, 54, 246, 6, 246, 54, 54, 54
db 54, 54, 54, 54, 54, 54, 54, 54
db 0, 0, 254, 6, 246, 54, 54, 54
db 54, 54, 246, 6, 254, 0, 0, 0
db 54, 54, 54, 54, 254, 0, 0, 0
db 24, 24, 248, 24, 248, 0, 0, 0
db 0, 0, 0, 0, 248, 24, 24, 24
db 24, 24, 24, 24, 31, 0, 0, 0
db 24, 24, 24, 24, 255, 0, 0, 0
db 0, 0, 0, 0, 255, 24, 24, 24
db 24, 24, 24, 24, 31, 24, 24, 24
db 0, 0, 0, 0, 255, 0, 0, 0
db 24, 24, 24, 24, 255, 24, 24, 24
db 24, 24, 31, 24, 31, 24, 24, 24
db 54, 54, 54, 54, 55, 54, 54, 54
db 54, 54, 55, 48, 63, 0, 0, 0
db 0, 0, 63, 48, 55, 54, 54, 54
db 54, 54, 247, 0, 255, 0, 0, 0
db 0, 0, 255, 0, 247, 54, 54, 54
db 54, 54, 55, 48, 55, 54, 54, 54
db 0, 0, 255, 0, 255, 0, 0, 0
db 54, 54, 247, 0, 247, 54, 54, 54
db 24, 24, 255, 0, 255, 0, 0, 0
db 54, 54, 54, 54, 255, 0, 0, 0
db 0, 0, 255, 0, 255, 24, 24, 24
db 0, 0, 0, 0, 255, 54, 54, 54
db 54, 54, 54, 54, 63, 0, 0, 0
db 24, 24, 31, 24, 31, 0, 0, 0
db 0, 0, 31, 24, 31, 24, 24, 24
db 0, 0, 0, 0, 63, 54, 54, 54
db 54, 54, 54, 54, 255, 54, 54, 54
db 24, 24, 255, 24, 255, 24, 24, 24
db 24, 24, 24, 24, 248, 0, 0, 0
db 0, 0, 0, 0, 31, 24, 24, 24
db 255, 255, 255, 255, 255, 255, 255, 255
db 0, 0, 0, 0, 255, 255, 255, 255
db 240, 240, 240, 240, 240, 240, 240, 240
db 15, 15, 15, 15, 15, 15, 15, 15
db 255, 255, 255, 255, 0, 0, 0, 0
db 0, 0, 118, 220, 200, 220, 118, 0
db 0, 120, 204, 248, 204, 248, 192, 192
db 0, 252, 204, 192, 192, 192, 192, 0
db 0, 0, 254, 108, 108, 108, 108, 0
db 252, 204, 96, 48, 96, 204, 252, 0
db 0, 0, 126, 216, 216, 216, 112, 0
db 0, 102, 102, 102, 102, 124, 96, 192
db 0, 118, 220, 24, 24, 24, 24, 0
db 252, 48, 120, 204, 204, 120, 48, 252
db 56, 108, 198, 254, 198, 108, 56, 0
db 56, 108, 198, 198, 108, 108, 238, 0
db 28, 48, 24, 124, 204, 204, 120, 0
db 0, 0, 126, 219, 219, 126, 0, 0
db 6, 12, 126, 219, 219, 126, 96, 192
db 56, 96, 192, 248, 192, 96, 56, 0
db 120, 204, 204, 204, 204, 204, 204, 0
db 0, 126, 0, 126, 0, 126, 0, 0
db 24, 24, 126, 24, 24, 0, 126, 0
db 96, 48, 24, 48, 96, 0, 252, 0
db 24, 48, 96, 48, 24, 0, 252, 0
db 14, 27, 27, 24, 24, 24, 24, 24
db 24, 24, 24, 24, 24, 216, 216, 112
db 24, 24, 0, 126, 0, 24, 24, 0
db 0, 118, 220, 0, 118, 220, 0, 0
db 56, 108, 108, 56, 0, 0, 0, 0
db 0, 0, 0, 24, 24, 0, 0, 0
db 0, 0, 0, 0, 24, 0, 0, 0
db 15, 12, 12, 12, 236, 108, 60, 28
db 88, 108, 108, 108, 108, 0, 0, 0
db 112, 152, 48, 96, 248, 0, 0, 0
db 0, 0, 60, 60, 60, 60, 0, 0
db 0, 0, 0, 0, 0, 0, 0, 0
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
.code
public NoLanguage AffString
public NoLanguage CoulText
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
; Text( x, y, pttext )
;
;
AffString proc uses ebp ebx edi esi,\
XText:DWORD, YText:DWORD, PtText:DWORD
;----------------------
mov ebx, YText
mov edi, TabOffLine[ebx*4]
add edi, Log
add edi, XText
;----------------------
mov esi, PtText
mov ebp, edi
;----------------------
bcar: xor eax, eax
mov al, [esi]
or al, al
jz short finstr
lea ebx, [esi+1] ; save esi
lea esi, [Font8X8+eax*8]; esi sur caractere
mov dl, 8
;----------------------
blig: mov edi, ebp
mov ah, [esi]
inc esi
mov ecx, 8
;----------------------
bcol: shl ah, 1
jc short coulencre
mov al, byte ptr[Text_Paper]
cmp al, -1
jnz short coulfond
jmp short next
coulencre: mov al, byte ptr[Text_Ink]
coulfond: mov byte ptr[edi], al
next: inc edi
dec ecx
jnz short bcol
add ebp, Screen_X
dec dl
jnz short blig
sub ebp, (640*8)-8
mov esi, ebx
;----------------------
jmp short bcar
finstr:
ret
AffString endp
comment #
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
; Text( x, y, pttext )
;
;
AffString1 proc uses ebp ebx edi esi,\
XText:DWORD, YText:DWORD, PtText:DWORD
;----------------------
mov ebx, YText
mov edi, TabOffLine[ebx*4]
add edi, Log
add edi, XText
;----------------------
mov esi, PtText
mov ebp, edi
;----------------------
bcar: xor eax, eax
lodsb
or al, al
jz short finstr
sub al, 32
shl eax, 2 ; *4
mov edi, eax
shl eax, 3 ; *36
add eax, edi ; *36
;----------------------
mov ebx, esi
lea esi, [Font6X6+eax]; pointe datas car
mov cl, 6
;----------------------
blig: mov edi, ebp
mov ch, 6
;----------------------
bcol: lodsb
or al, al
jnz short coulencre
mov al, byte ptr[Text_Paper]
cmp al, -1
jnz short coulfond
jmp short next
coulencre: mov al, byte ptr[Text_Ink]
coulfond: mov byte ptr[edi], al
next: inc edi
dec ch
jnz short bcol
add ebp, Screen_X
dec cl
jnz short blig
sub ebp, (640*6)-6
mov esi, ebx
;----------------------
jmp short bcar
finstr:
ret
AffString1 endp
#
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
CoulText proc ,\
ink:DWORD, paper:DWORD
mov eax, ink
mov byte ptr [Text_Ink], al
mov eax, paper
mov byte ptr [Text_Paper], al
ret
CoulText endp
;ΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉ
; The
End