Crazy-Blaster/Crazy/IMG_PART.ASM
2024-07-29 03:53:45 +10:00

783 lines
15 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

LD HL,RESERVED_PAGES
LD DE,#4000 + RESERVED_PAGES_COPY
LD BC,RESERVED_PAGES.Size
LDIR
LD SP,#4000
LD A,SYS_FN_PAGE
OUT (SLOT0),A
JP INIT_SCREEN - #4000
;
.start_code EQU $
;ÛÛÛÛÛÛÛ ¨­¨æ¨ «¨§ æ¨ï íªà ­  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
INIT_SCREEN: CALL FN_SYNC
;
LD IX,VideoModes.graf_mode320x256
LD E,%00010001
CALL WIN_OPEN
;ÛÛÛÛÛÛÛ ¨­¨æ¨ «¨§ æ¨ï ¯ «¨âàë ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
INIT_PALETTE: ;IN A,(SLOT1)
;PUSH AF
LD B,#FF
LD HL,PICTURE.bdPallete ;#8FBC ;!HARDCODE PICTURE.bdPallete
LD DE,0
LD A,1
CALL SET_PALETTE
CALL SET_PICTURE
CALL SET_BOARD_NUMBER
; Ž¯à¥¤¥«¥­¨¥ 稯  <20>‡“
CALL DETECT_ROM
;
; ãáâ ­®¢ª  ॣ¨áâ஢
; ¯à릮ª ­  â®çªã ¢å®¤  ¢® ä«¥è¥à¥
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
SET_BOARD_NUMBER:
IN A,(SLOT3)
EX AF,AF'
LD A,#18 ;!HARDCODE
OUT (SLOT3),A
;
LD HL,(BOARD_ID_DATA.Start)
LD (BoardNumOffsets.Start),HL
LD HL,(BOARD_ID_DATA.Number)
LD (BoardNumOffsets.Number),HL
LD HL,(BOARD_ID_DATA.End)
LD (BoardNumOffsets.End),HL
LD A,(BOARD_ID_DATA.Type)
LD (BoardNumOffsets.Type),A
;
LD A,#10 ;!HARDCODE
OUT (SLOT3),A
LD A,(FOR_ACEX)
LD (#C000 + expBIOS_Vars.msgStrings.str_ACEX_MODEL),A
LD (#C000 + expBIOS_Vars.msgRusStrings.str_ACEX_MODEL),A
;
EX AF,AF'
OUT (SLOT3),A
RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
DISP_WINDOW EQU $
DISP #4000 + DISP_WINDOW
DETECT_ROM: LD HL,0
ADD HL,SP
LD SP,#4000
LD (.sp_save),HL
;
CALL TEST_ROM_CHIP ;!HARDCODE TEST_ROM_CHIP #8E59
LD (TST_R.jp),BC ;!HARDCODE TST_R.jp #81D5
;
.sp_save+1: LD SP,0000
XOR A
OUT (SYS_PORT.RAM),A
RET
ENT
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
SET_PICTURE: LD A,#FF - MAIN_PICTURE.PIC_Y
.loop_pic: PUSH AF
LD A,#50
OUT (SLOT1),A
POP AF
OUT (PORT_Y),A
LD HL,.pic_buffer
LD DE,#4000 + Screen_Offset + MAIN_PICTURE.PIC_X
;
LD BC,MAIN_PICTURE.PIC_WIDTH
LDIR
;
LD H,A
POP AF
OUT (SLOT1),A
PUSH AF
LD A,H
DEC A
CP MAIN_PICTURE.PIC_Y-1
JR NZ,.loop_pic
POP AF
OUT (SLOT1),A
IM 1
EI
RET
.pic_buffer: BLOCK MAIN_PICTURE.PIC_WIDTH,0
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
; “áâ ­®¢ª  ०¨¬  ­  «¨­¨¨
LP_MODE_LINE: BIT 0,(IX+Window_Variables.USER.MODE_S)
JP NZ,LP_MODE_LINE2 ; ¨¤â¨ ­  ᯥªâàã¬
BIT 4,A
JP Z,LP_MODE_LINE3 ; ¨¤â¨ ­  £à ä¨ªã!
DEC D
; ⥪áâ®¢ë© à¥¦¨¬.
EX AF,AF'
LD A,#50
OUT (SLOT3),A
LD A,L ; ¢¥à⨪ «ì­®¥ ¯®«®¦¥­¨¥
CP #80
JR NC,LP_EXIT_MODE
;
LP_MODE_RECURSE:
LD A,D ; £®à¨§®­â «ì­®¥ ¯®«®¦¥­¨¥
AND 7FH
SUB 80
JR C,LP_MODE_LL
SUB 48
NEG
;
LD E,A ; § ¯®¬­¨âì
ADD A,D
LD D,A ; ­®¢®¥ ¯®«®¦¥­¨¥
;
LD A,E ; ¢®ááâ ­®¢¨âì
RRA
AND 3FH
SUB C
JR NC,LP_EXIT_MODE
NEG
LD C,A ; ­®¢®¥ §­ ç¥­¨¥ C
JR LP_MODE_RECURSE
;
LP_MODE_LL: NEG
RRA
AND 3FH
CP C
JR NC,LP_MODE_LR
LD C,A
LP_MODE_LR: EX AF,AF'
INC D
LP_MD_LL1: EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),A ; ०¨¬
INC D
EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),A ; ०¨¬
INC D
DEC C
JR NZ,LP_MD_LL1
EX AF,AF'
LP_EXIT_MODE: LD A,SYS_PAGE
OUT (SLOT3),A
EX AF,AF'
RET
;
; “áâ ­®¢ª  ०¨¬  ­  «¨­¨¨
; Spectrum mode
LP_MODE_LINE2: LD A,(IX+Window_Variables.WORK_2)
LD B,(IX+Window_Variables.WORK_1)
;
DEC D
;
EX AF,AF'
LD A,#50
OUT (SLOT3),A
LD A,L ; ¢¥à⨪ «ì­®¥ ¯®«®¦¥­¨¥
CP #80
JR NC,LP_EXIT_MODE2
;
LP_MODE_RECURSE2:
LD A,D ; £®à¨§®­â «ì­®¥ ¯®«®¦¥­¨¥
AND #7F
SUB 80
JR C,LP_MODE_LL2
SUB 48
NEG
;
LD E,A ; § ¯®¬­¨âì
ADD A,D
LD D,A ; ­®¢®¥ ¯®«®¦¥­¨¥
;
LD A,E ; ¢®ááâ ­®¢¨âì
RRA
AND #3F
SUB C
JR NC,LP_EXIT_MODE2
NEG
LD C,A ; ­®¢®¥ §­ ç¥­¨¥ C
JR LP_MODE_RECURSE2
;
LP_MODE_LL2: NEG
RRA
AND #3F
CP C
JR NC,LP_MODE_LR2
LD C,A
LP_MODE_LR2: EX AF,AF'
INC D
LP_MD_LL2: EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),A ; ०¨¬
INC L
LD (HL),B
INC L
LD (HL),B
DEC L
DEC L
INC D
BIT 4,A
JR NZ,lp_md_ll3x
INC B
lp_md_ll3x: EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),A ; ०¨¬
INC L
LD (HL),B
INC L
LD (HL),B
DEC L
DEC L
INC D
INC B
JR NZ,LP_NO_ADD_40
ADD A,#40
LP_NO_ADD_40: DEC C
JR NZ,LP_MD_LL2
EX AF,AF'
LP_EXIT_MODE2: LD A,SYS_PAGE
OUT (SLOT3),A
EX AF,AF'
LD (IX+Window_Variables.WORK_1),B
LD (IX+Window_Variables.WORK_2),A
RET
;
; “áâ ­®¢ª  ०¨¬  ­  «¨­¨¨
LP_MODE_LINE3: ; Grafic Mode
LD A,(IX+Window_Variables.WORK_1)
LD B,(IX+Window_Variables.WORK_2)
DEC D
EX AF,AF'
LD A,#50
OUT (SLOT3),A
LD A,L ; ¢¥à⨪ «ì­®¥ ¯®«®¦¥­¨¥
CP #80
JR NC,LP_EXIT_MODE3
;
LP_MODE_RECURSE3:
LD A,D ; £®à¨§®­â «ì­®¥ ¯®«®¦¥­¨¥
AND #7F
SUB 80
JR C,LP_MODE_LL3
SUB 48
NEG
LD E,A ; § ¯®¬­¨âì
ADD A,D
LD D,A ; ­®¢®¥ ¯®«®¦¥­¨¥
LD A,E ; ¢®ááâ ­®¢¨âì
RRA
AND #3F
SUB C
JR NC,LP_EXIT_MODE3
NEG
LD C,A ; ­®¢®¥ §­ ç¥­¨¥ C
JR LP_MODE_RECURSE3
;
LP_MODE_LL3: NEG
RRA
AND #3F
CP C
JR NC,LP_MODE_LR3
LD C,A
LP_MODE_LR3: EX AF,AF'
INC D
BIT 5,B
JR Z,LP_GR_640
;
LP_MD_LL3: EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),B ; ०¨¬
INC L
LD (HL),A ; ०¨¬ 2
INC L
LD (HL),0 ; ०¨¬ 2
DEC L
DEC L
INC D
INC D
INC A
LD E,A
AND 7
JR NZ,LP_NO_INC_B
LD A,E
SUB 8
LD E,A
INC B
LP_NO_INC_B: LD A,E
DEC C
JR NZ,LP_MD_LL3
;
LP_640_RET: EX AF,AF'
LP_EXIT_MODE3: LD A,SYS_PAGE
OUT (SLOT3),A
EX AF,AF'
LD A,(IX+Window_Variables.WORK_1)
ADD A,8
LD (IX+Window_Variables.WORK_1),A
RET
;
LP_GR_640: EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),B ; ०¨¬ 1
INC L
LD (HL),A ; ०¨¬ 2
INC L
LD (HL),0 ; ०¨¬ 3
INC D
EX AF,AF'
LD A,D
OUT (PORT_Y),A
EX AF,AF'
LD (HL),0 ; ०¨¬ 3
DEC L
LD (HL),A ; ०¨¬ 2
DEC L
LD (HL),B ; ०¨¬ 1
INC D
INC A
LD E,A
AND 7
JR NZ,LP_NO_INC_B6
LD A,E
SUB 8
LD E,A
INC B
LP_NO_INC_B6: LD A,E
DEC C
JR NZ,LP_GR_640
JP LP_640_RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
; ¢å®¤: HL - ¤ ­­ë¥ ¯ «¨âàë RGB, E - ­ ç «ì­ë© 梥â
; D - ç¨á«® 梥⮢, B - PAL-mask, A - page PAL
SET_PALETTE: PUSH IX
;
EX AF,AF'
IN A,(RGADR)
PUSH AF ; á®åà ­¨âì ¯®«®¦¥­¨¥ RGADR
LD A,E
OUT (RGADR),A ; ­ ç «ì­ë© 梥⠢ ¯®àâ
LD A,D ; á®åà ­¨âì ç¨á«® 梥⮢
EX AF,AF' ; ¢¥à­ãâì áâà ­¨æã PAL
;
BIT 7,H ; ¯à®¢¥à¨âì  ¤à¥á ¤ ­­ëå
LD C,SLOT3 ; ¥á«¨ ­¨¦¥ 8000h
LD D,#C3 ; â® £à ä.íªà ­ ­  áâà ­¨æ¥ 3
JR Z,.NO_PAGE1
LD D,#43 ; ¨­ ç¥
LD C,SLOT1 ; ­  áâà ­¨æ¥ 1
.NO_PAGE1: ADD A,A
ADD A,A
AND #1C
XOR #E0 ; ¬« ¤è¨© ¡ ©â  ¤à¥á  PAL
LD E,A ; DE -  ¤à¥á ¢ ¢¨¤¥®-އ“
PUSH DE
POP IX ;  ¤à¥á ¯ «¨âàë
;
LD D,B ; ¬ áª  PAL
EX AF,AF' ; ¢¥à­ãâì ç¨á«® 梥⮢
LD B,A ; ç¨á«® 梥⮢
;
IN E,(C) ; á®åà ­¨âì áâà ­¨æã 3
LD A,#50 ; áâà ­¨æ  £à ä¨ç¥áª®£® RAM
OUT (C),A
.loopPal: ; 横« ãáâ ­®¢ª¨ 梥⮢ ¯ «¨âàë
LD A,(HL) ; B
AND D
LD (IX+2),A
INC HL
;
LD A,(HL) ; G
AND D
LD (IX+1),A
INC HL
;
LD A,(HL) ; R
AND D
LD (IX+0),A
INC HL
;
LD A,(HL) ; Y
AND D
LD (IX+3),A
INC HL
;
IN A,(RGADR)
INC A
OUT (RGADR),A
DJNZ .loopPal ; ¢ë¯®«­ïâì, ¯®ª  ­¥ 0
;
.exit: OUT (C),E ; ¢®ááâ ­®¢¨âì áâà ­¨æã 3
POP AF
OUT (RGADR),A ; ¢®ááâ ­®¢¨âì Y_PORT
POP IX
AND A
RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
LP_OPEN_PG: IN A,(SLOT3)
LD C,A
LD A,SYS_PAGE
OUT (SLOT3),A
;
LD A,C
LD (SYS_PAGE.COPY_SLOT3),A
IN A,(PORT_Y)
LD (SYS_PAGE.COPY_RGADR),A
RET
LP_CLOSE_PG: LD A,(SYS_PAGE.COPY_RGADR)
OUT (PORT_Y),A
LD A,(SYS_PAGE.COPY_SLOT3)
OUT (SLOT3),A
RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
WIN_OPEN: CALL LP_OPEN_PG
LD (SYS_PAGE.WIN_MAP_SC),IX ; ª àâ  ®ª­ 
PUSH DE
LD HL,(SYS_PAGE.WIN_MAP_SC)
LD DE,WIN_ID_0
LD BC,Window_UserVars
LDIR
LD IX,WIN_ID_0
POP DE
LD L,(IX+Window_Variables.USER.PLACE_H)
LD H,(IX+Window_Variables.USER.PLACE_V)
LD (IX+Window_Variables.MODE_E),E
;
LD A,L
ADD A,A
INC A ; ¢ëç¨á«¥­¨¥ PORT_Y
BIT 4,E
JR NZ,.LP_SET_NO_OR
OR #80 ; ¥á«¨ ¢ë¢®¤ ­  ¢â®à®© íªà ­
.LP_SET_NO_OR: LD (IX+Window_Variables.H_BEG),A
LD D,A
LD A,(IX+Window_Variables.USER.SIZE_H)
ADD A,A
ADD A,D
LD (IX+Window_Variables.H_END),A
LD (SYS_PAGE.WIN_MODE_SC),DE ; ¬¥áâ® ¯® £®à¨§®­â «¨ ¨ áâà ­¨æ  ¬®¤ë
LD A,H
AND #3F
ADD A,A
ADD A,A
LD L,A
LD H,#C3
LD (SYS_PAGE.WIN_MODE_SH),HL ; ¬¥áâ® ¯® ¢¥à⨪ «¨ á  ¤à¥á®¬
LD (IX+Window_Variables.V_BEG),A
LD A,(IX+Window_Variables.USER.SIZE_V)
ADD A,A
ADD A,A
ADD A,L
LD (IX+Window_Variables.V_END),A
;
LD L,(IX+Window_Variables.V_BEG)
LD H,#C3
LD B,(IX+Window_Variables.USER.SIZE_V) ; à §¬¥à ¯® ¢¥à⨪ «¨
;
LD (IX+Window_Variables.WORK_1),0
LD A,(IX+Window_Variables.USER.MODE) ; §­ ª®£¥­¥à â®à ¯«îá ०¨¬
LD (IX+Window_Variables.WORK_2),A
BIT 4,A
JR NZ,.LOOP ; ¯¥à¥å®¤, ¥á«¨ ⥪áâ®¢ë© à¥¦¨¬
;
AND #F0
LD C,A
LD A,(IX+Window_Variables.USER.GR_X)
RRCA
RRCA
RRCA
LD D,A
AND #0F
OR C
LD (IX+Window_Variables.WORK_2),A
;
LD A,D
AND #E0
LD C,A
LD A,(IX+Window_Variables.USER.GR_Y)
AND #1F
OR C
RLCA
RLCA
RLCA
LD (IX+Window_Variables.WORK_1),A
;
.LOOP: LD D,(IX+Window_Variables.H_BEG) ; D - ­ ç «® áâப¨ (PORT_Y)
LD C,(IX+Window_Variables.USER.SIZE_H) ; à §¬¥à ¯® £®à¨§®­â «¨
LD A,(IX+Window_Variables.USER.MODE) ; §­ ª®£¥­¥à â®à ¯«îá ०¨¬
;
PUSH BC
CALL LP_MODE_LINE
POP BC
INC L
INC L
INC L
INC L
DJNZ .LOOP
;
LD A,(IX+Window_Variables.MODE_E)
AND 1
OUT (RGMOD),A
CALL LP_CLOSE_PG
CALL LP_INI_P
CALL LP_SIZE
XOR A
RET
;
LP_INI_P: EX AF,AF'
EXX
CALL LP_OPEN_PG
; ®âªàë⨥ £à ä¨ç¥áª®£® íªà ­ 
; LP_INI_NO_ZG:
LD A,(WIN_ID_0.H_BEG)
LD D,A
LD A,(WIN_ID_0.V_BEG)
LD L,A
INC L
LD H,#C3
AND A
LD A,(WIN_ID_0.USER.MODE)
BIT 5,A
LD A,(WIN_ID_0.USER.SIZE_H)
JR NZ,LP_INI_40
ADD A,A
SCF
;!TODO çâ®-â® âãâ ¯®¤¢ë¯¨«¥­­®
LP_INI_40: LD B,A
LD (WIN_ID_0.SIZE_REL),A
EX AF,AF'
EXX
JP LP_END_P
;
; WIN_MAP_SC - ª àâ  íªà ­ 
; 0 - hor size
; 1 - ver size
; 2 - hor place
; 3 - ver place
LP_SIZE: ; ®¯à¥¤¥«¥­¨¥ size
CALL LP_OPEN_PG
LD DE,(WIN_ID_0.USER.SIZE_H)
LD A,(WIN_ID_0.USER.MODE)
BIT 5,A
CALL LP_CLOSE_PG
RET NZ
LD A,E
ADD A,A
LD E,A
RET
;
LP_END_P: LD A,SYS_PAGE
OUT (SLOT3),A
.SYS_PAGE: EX AF,AF'
EXX
RLA
LD E,A
LD (WIN_ID_0.reg_HL),HL ; ¬¥áâ® ¯¥ç â¨
LD (WIN_ID_0.reg_DE),DE
LD (WIN_ID_0.reg_BC),BC
CALL LP_CLOSE_PG
EXX
EX AF,AF'
AND A
RET
.short: EX AF,AF'
EXX
CALL LP_CLOSE_PG
EXX
EX AF,AF'
AND A
RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
FN_SYNC: LD A,Port_VSYNC.SET_320L
OUT (Port_VSYNC),A
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
LD A,(SYS_PAGE.VSyncAndWaits)
OR 1
LD (SYS_PAGE.VSyncAndWaits),A
;
.INT_DEF: LD DE,(SYS_PAGE.CONFIG_ALL)
OUT (C),B
LD IX,SCREEN_TABLES.PENTAGON
IN A,(SLOT3)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT3),A
EX AF,AF'
LD (SYS_PAGE.COPY_SLOT3),A
IN A,(PORT_Y)
LD (SYS_PAGE.COPY_RGADR),A
LD (SYS_PAGE.CONFIG_ALL),IX
XOR A
;----[START]-----------------------[? 1]
.loop_1: OUT (PORT_Y),A
EX AF,AF'
LD A,#50
OUT (SLOT3),A
LD HL,#C300
;----[START]------------------[v 2]-----
.loop_2: LD C,(IX)
;----[START]-------------[v 3]----------
.loop_3: ; ¢§ïâì  ¤à¥á ¤ ­­ëå ¤«ï § ¯¨á¨ ¢ á«ã¦¥¡­ãî ®¡« áâì íªà ­ 
LD E,(IX+1) ; take adress of line X
LD D,(IX+2)
;----[START]--------[v 4]---------------
.loop_4:
LD A,(DE) ; take counter in table 1, line X, column Y
INC DE
AND A
JR Z,.loop_4_exit ; exit if zero-counter
LD B,A
LD A,(DE)
INC DE
;----[START]---[v 5]--------------------
.loop_5:
LD (HL),A
INC L
LD (HL),0
INC L
LD (HL),0
;
EX AF,AF'
INC A
OUT (PORT_Y),A
EX AF,AF'
;
LD (HL),0
DEC L
LD (HL),0
DEC L
LD (HL),A
;
EX AF,AF'
INC A
OUT (PORT_Y),A
EX AF,AF'
DJNZ .loop_5
;--------------[^ 5]--------------------
JR .loop_4
;-------------------[^ 4]---------------
.loop_4_exit: INC HL ; next line
INC HL
INC HL
INC HL
IN A,(PORT_Y)
AND #80
OUT (PORT_Y),A
DEC C
JR NZ,.loop_3
;------------------------[^ 3]----------
INC IX ; next counter
INC IX
INC IX
LD A,(IX)
AND A
JR NZ,.loop_2
;-----------------------------[^ 2]-----
LD A,SYS_PAGE
OUT (SLOT3),A
LD IX,(SYS_PAGE.CONFIG_ALL)
EX AF,AF'
ADD A,#80
JR NC,.loop_1
;----------------------------------[^ 1]
; Exit
LD A,(SYS_PAGE.COPY_RGADR)
OUT (PORT_Y),A
LD A,(SYS_PAGE.COPY_SLOT3)
OUT (SLOT3),A
.exit: OR A
RET
;--- Screen data table 1: counter1, data1 .. counterX, dataX
SCREEN_TABLES:; | ç¨á«® | §­ ç¥­¨ï |
; | áâப | ¢ |
; | /2 | áâப å |
.SCR: DB 41 , #F8
DB 3 , #FC
DB 4 , #FC
DB 7 , #FC
DB 9 , #F8
DB 0
.INT: DB 40,#FC, 2,#FD, 6,#FC, 7,#FC, 9,#FC, 0
.BLN: DB 41,#FC, 3,#FC, 4,#FC, 7,#FC, 9,#FC, 0
.SNC: DB 41,#FC, 3,#FC, 4,#FC, 7,#FC, 9,#FC, 0
.RES: DB 41,#F8, 3,#FE, 4,#FE, 7,#FE, 9,#F8, 0
;--- Screen data tables 2: counter1, data address1 .. counterX, data addressX
;
; | ª®«-¢® | §­ ç¥­¨ï |
; | áâப | ¢ |
; | | áâப¥ |
.PENTAGON: DB 33 : DW .SCR
DB 1 : DW .INT ; DW .BLN
DB 3 : DW .SNC
DB 1 : DW .BLN
DB 1 : DW .SCR
DB 1 : DW .RES
DB 0 ; end
;---
VideoModes:
.text_mode80x32:
DB 40
DB 32
DB 0
DB 0
DB %00011011
DB 0
DB 0
DB 0
.graf_mode320x256:
DB 80
DB 32
DB 0
DB 0
DB %01100000
DB 0
DB 0
DB 0
;---------------------------------------------------------------------;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
RESERVED_PAGES_COPY: BLOCK RESERVED_PAGES.Size,#FF
.SYS_FN EQU RESERVED_PAGES.SYS_FN - RESERVED_PAGES
.BIOS EQU RESERVED_PAGES.BIOS - RESERVED_PAGES
.PICTURE EQU RESERVED_PAGES.PICTURE - RESERVED_PAGES
.FLASHER_RAM EQU RESERVED_PAGES.FLASHER_RAM - RESERVED_PAGES
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;-----------------------------------------------------------------------;
BYTE "ACEX 1K"
FOR_ACEX: DB "0" + TYPE_OF_ACEX
BYTE "0"
BYTE "FULL BOARD ID:"
BOARD_ID_DATA:
.Start: DW #5283
.Number: DW 0 ; ¢ë¢®¤¨âáï ª ª 5 ¤¥áïâ¨ç­ëå æ¨äà: 0..99999 ¨«¨ #0000..#270F
.End: DW #47E8
.Type: DB 0
BYTE "--<=END=>--"
;-----------------------------------------------------------------------;