заработало, похоже я криво ромы склеил
думаб что баг, таки
вот новый код
Код:
RAM:24FA
RAM:24FA __ESC_Q_SetMODE: ; DATA XREF: RAM:_ESC_Q_SetMODEo
RAM:24FA ani 10h
RAM:24FC mvi a, 0
RAM:24FE jnz _1
RAM:2501 mov a, c
RAM:2502 ani 3
RAM:2504 lxi h, _FixModeBits
RAM:2507 mov e, a
RAM:2508 mvi d, 0
RAM:250A dad d
RAM:250B mvi a, 11101100b
RAM:250D ana c
RAM:250E ora m
RAM:250F
RAM:250F _1: ; CODE XREF: RAM:24FEj
RAM:250F sta _ConOut_Mode
RAM:2512 call sub_24BE
RAM:2515
RAM:2515 loc_2515: ; DATA XREF: RAM:2115o
RAM:2515 xra a
RAM:2516 sta _ConOut_WIN_Left
RAM:2519 sta _ConOut_WIN_Up
RAM:251C call _CO_GetWidth
RAM:251F sta _ConOut_WIN_Right
RAM:2522 call _CO_GetScreenLines
RAM:2525 sta _ConOut_WIN_Down
RAM:2528 ret
RAM:2528 ; ---------------------------------------------------------------------------
RAM:2529 _FixModeBits: .db 0 ; DATA XREF: RAM:2504o
RAM:252A .db 10h
RAM:252B .db 1
RAM:252C .db 2
RAM:252D
RAM:252D ; =============== S U B R O U T I N E =======================================
RAM:252D
RAM:252D
RAM:252D _CO_GetWidth: ; CODE XREF: RAM:2254p
RAM:252D ; RAM:251Cp
RAM:252D lda _ConOut_Mode
RAM:2530 ani 1
RAM:2532 mvi a, 40
RAM:2534 rz
RAM:2535 rlc
RAM:2536 ret
RAM:2536 ; End of function _CO_GetWidth
RAM:2536
RAM:2537
RAM:2537 ; =============== S U B R O U T I N E =======================================
RAM:2537
RAM:2537
RAM:2537 _CO_GetScreenLines: ; CODE XREF: RAM:2522p
RAM:2537 lda _ConOut_Mode
RAM:253A ani 1000000b
RAM:253C mvi a, 20
RAM:253E rz
RAM:253F mvi a, 25
RAM:2541 ret
RAM:2541 ; End of function _CO_GetScreenLines
RAM:2541
тут все прямо и понятно