; normal: 80 - длина строки ; 30 - число строк ; qview: 38 - длина строки ; 28 - число строк ; len_string equ 80 ; длина строки num_strings equ 30 ; число строк ; Полож. курсора coord: dw 0100h ; Y/X ; Полож. окна winpos: dw 0 ; Y/X ; Размеры окна winsize:dw 0 ; Y/X 1C26h=28/38, 1E50h=30/80 cur_mode_dump: db 0 ; 0/1 флаг тек. окна (ascii/hex) ; Настроить константы вьюера setup_fview: ld de,0100h ; Y/X ld a,(viewer_mode) ; 0/1 режим вьюера (норм./панельный) ld c,a or a jr z,setp__ ; обойти при норм. режиме ld hl,panel_right ; координаты пасс. панели ld d,(hl) ; Y полож. панели inc hl ld e,(hl) ; X полож. панели inc d inc e setp__: ld (coord),de ; полож. курсора ld (winpos),de ; полож. окна ;xor true ;ld (UnWrap),a ; 0/1 режим переноса строк ; ld hl,1E50h ; 30/80 норм. режим dec c inc c jr z,$+5 ld hl,1C26h ; 28/38 панельный режим ld (winsize),hl ; размеры окна ; ; Константа 1 ld hl,82*30 ; норм. режим (len_string * num_strings) dec c inc c jr z,$+5 ld hl,40*28 ; панельный режим ld (const01+1),hl ld (const02+1),hl ld (const03+1),hl ld (const04+1),hl ; Константа 2 ld hl,16*30 ; норм. режим (16 * num_strings) dec c inc c jr z,$+5 ld hl,16*28 ; панельный ld (const20+1),hl ld (const21+1),hl ld (const22+1),hl ld (const23+1),hl ld (ABD79+1),hl ld (const25+1),hl ld (const26+1),hl ; Число строк ; -1 ld a,29 ; норм. режим dec c inc c jr z,$+4 ld a,27 ; панельный ld (mt01+1),a inc a ; +0 ld (met03+1),a ld (met07+1),a ld (met09+1),a ld (met12+1),a ld (AB6C7+1),a ld (AB75C+1),a ld (AB7E5+1),a inc a ; +1 ld (metk04+1),a ld (metk05+1),a ld (metk06+1),a ld (metk07+1),a ld (metk08+1),a ld (metk09+1),a ld (metk10+1),a ld (metk11+1),a ld (metk12+1),a ld (metk13+1),a ; Длина строки ; -2 ld hl,78 ; норм. режим dec c inc c jr z,$+5 ld hl,36 ; панельный ld a,l ld (loc20+1),a ld (loc22+1),a ld (loc21+1),hl ld (loc23+1),hl add a,2 ; +0 ld (loc04+1),a ld (loc06+1),a ld (loc07+1),a ld (loc08+1),a ld (loc09+1),a ld (loc10+1),a ld (loc11+1),a ld (loc12+1),a ld (loc13+1),a ld (loc14+1),a ld (loc15+1),a ld (loc16+1),a ld (loc17+1),a ld (loc18+1),a ld (loc19+1),a ld (AB450+1),a inc a ; +1 ld (loc30+1),a inc a ; +2 ld l,a ld h,0 ld (loc43+1),a ld (loc40+1),hl ld (loc41+1),hl ld (loc42+1),hl ld (loc44+1),hl ld (loc45+1),hl ld (AB8B5+1),hl ; Крайнее X левое полож. окна при скроллинге вправо ld a,255-80 ; 175 норм. режим dec c inc c jr z,$+4 ld a,255-38 ; панельный ld (AB618+1),a ld (AB63A+1),a ret