This commit is contained in:
Tolik 2024-08-20 05:40:01 +10:00
parent 97b26695af
commit 6265aedb5c
6 changed files with 190 additions and 236 deletions

View File

@ -21,7 +21,7 @@
;-----------------------------------------------------------------------;
;
;
.RECORD.Size EQU 5
;-----------------------------------------------------------------------;
DW %00'000'0'0000'0111
DW %00'010'0'0110'1111
@ -447,44 +447,47 @@
;
;----------------------------------------------------------------------;
DCP_INIT:
LD C,XL
LD B,XH
LD E,YL
LD D,YH
EXX
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),L
LDIR
LD IY,DCP_DATA
LD IX,.ret
.loop: LD L,(IY)
LD H,(IY+1)
LD E,(IY+2)
LD D,(IY+3)
LD B,(IY+4)
JP DCP_CONFIG.PARSE_TABLE
.ret: LD BC,5
ADD IY,BC
LD A,(IY+2)
OR (IY+3)
JR NZ,.loop
EXX
LD XL,C
LD XH,B
LD YL,E
LD YH,D
; ¢ë§ë¢ ¥âáï ¨§ POST_TEST.POST_3_INIT_DCP
DCP_INIT: LD E,YL
LD D,YH
EX DE,HL
LD E,XL
LD D,XH
;
LD BC,DCP_DATA.RECORD.Size
EXX
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),L
LDIR
;
LD IY,DCP_DATA
LD IX,.ret
;
.loop: LD L,(IY)
LD H,(IY+1)
LD E,(IY+2)
LD D,(IY+3)
LD B,(IY+4)
JP DCP_CONFIG.PARSE_TABLE
;
.ret: EXX
ADD IY,BC
EXX
LD A,(IY+2)
OR (IY+3)
JR NZ,.loop
EXX
LD XL,E
LD XH,D
EX DE,HL
LD YL,E
LD YH,D
; First IN command - OPEN DCP
IN A,(SLOT3)
JP (HL)
IN A,(SLOT3)
JP POST_TEST.POST_3_OK
;-----------------------------------------------------------------------;
;

View File

@ -611,8 +611,8 @@ POST_2_OK:
; ===== INIT DCP ========
POST_3_INIT_DCP:
LD HL,POST_3_OK ; INIT PORTS
JP DCP_INIT ; ¯à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ á ¢®§¢à â®¬ ¢ (HL)
;LD HL,POST_3_OK ; INIT PORTS
JP DCP_INIT ; ¯à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ á ¢®§¢à â®¬ ­  POST_3_OK
; ®è¨¡®ª ­¥â
; ***********************************
@ -697,19 +697,32 @@ POST_5_OK:
; **********************************
; POST § ¢¥à襭
; **********************************
ENDMODULE
; **********************************
;-----------------------------------------------------------------------;
; ¯¥à¢ ï ¨­¨æ¨ «¨§ æ¨ï áâà ­¨æ:
XOR A
OUT (RGADR),A
OUT (RGMOD),A
OUT (SLOT0),A ;!HARDCODE zx page number
; !TEST 20/08/2024
;LD A,5 ;!HARDCODE zx page number
;OUT (SLOT1),A
;LD A,2 ;!HARDCODE zx page number
;OUT (SLOT2),A
LD A,#FF ;!HARDCODE zx page number
OUT (SLOT1),A
LD A,0 ;!HARDCODE zx page number
OUT (SLOT2),A
;
LD A,SYS_PAGE
OUT (SLOT3),A
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;
MODULE SET_CONFIG_ID
IN A,(SLOT3)
EX AF,AF' ; SAVE PAGE3
;NO_SUMX_EQ:
LD A,SYS_PAGE
OUT (SLOT3),A
;-------------[Save IX:IY]--------------
; Don't use IY before this point if it`s normal booting!!!
LD IX,0
@ -718,65 +731,39 @@ POST_5_OK:
; í⮬ ¬¥á⥠㠭 á IX:IY ¨§ Loader.asm
; „®â é¨«¨ ¤® á ¬¥âªã ®â «® ¤¥à 
;[x] 31/12/2023 ¯®¤áâà å®¢ª  ®â ­¥¤®ãâ¥çª¨ ¯ ¬ïâ¨
; IY - number from loader
LD D,YH
LD E,YL
EX DE,HL
LD DE,SP2000_Loader_Flag
SBC HL,DE
JR NZ,.no_conf_reload
;
; IX - number from loader
LD D,XH
LD E,XL
EX DE,HL
LD DE,ACEX.Config_ID.Sp2000
SBC HL,DE
; A = 0
JR NZ,.no_conf_reload
;
LD A,#80
.no_conf_reload:
LD R,A
LD R,A ; reg R bit7 - ¯à¨§­ ª à ¡®âë «® ¤¥à 
;
; ­  ¢á直© á«ãç ©
LD HL,ACEX.Config_ID.Sp2000
LD (SYS_PAGE.CONFIG_BYTE),HL ; á®åà ­¨âì ­®¬¥à ¯à®è¨¢ª¨
;
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
LD (SYS_PAGE.CONFIG_DE),A
;
XOR A ;!HARDCODE zx page number
OUT (SLOT3),A
;
; !TODO number from loader
; LD A,YL
; LD L,A
; LD A,YH
; LD H,A
; LD BC,#0107 ; !!!!! áà ¢­¨âì á 0107h ¢ë­¥á⨠à¥ä¥à¥­á®¬ âãâ ¨ ¢ loader.asm
; AND A ; ¥á«¨ à ¢­® - ¯à®è«  ¯¥à¥§ £à㧪 
; SBC HL,BC
;JR Z,set_config ;!TODO  ªâ¨¢ æ¨ï ¬¥âª¨ IX:IY ¨§ «® ¤¥à 
;LD IX,ACEX.Config_ID.Sp97_2
LD HL,ACEX.Config_ID.Sp2000
set_config:
LD (SYS_PAGE.CONFIG_BYTE),HL ; á®åà ­¨âì ­®¬¥à ¯à®è¨¢ª¨
;LD (SYS_PAGE.CONFIG_BYTE),IX ; á®åà ­¨âì ­®¬¥à ¯à®è¨¢ª¨
;LD HL,(SYS_PAGE.CONFIG_BYTE) ; ¢§ïâì ­®¬¥à ¯à®è¨¢ª¨ ¢ HL
;
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
LD (SYS_PAGE.CONFIG_DE),A
EX AF,AF'
OUT (SLOT3),A ; Restore SLOT3
ENDMODULE
;*********************************
; ¯¥à¢ ï ¨­¨æ¨ «¨§ æ¨ï áâà ­¨æ:
; SLOT3=0, SLOT2=2, SLOT1=5, SLOT0=0
XOR A
OUT (RGADR),A
OUT (RGMOD),A
OUT (SLOT3),A
OUT (SLOT0),A ;!HARDCODE zx page number
LD A,5 ;!HARDCODE zx page number
OUT (SLOT1),A
LD A,2 ;!HARDCODE zx page number
OUT (SLOT2),A
;*********************************
;-----------------------------------------------------------------------;
; Don't use stack (SP) before this point if it`s normal booting!!!
LD SP,#C000 ; <20> ç «® ¨á¯®«ì§®¢ ­¨ï á⥪ !!!
LD SP,ROM_MAP.EXP.STACK ; <20> ç «® ¨á¯®«ì§®¢ ­¨ï á⥪ !!!
PUSH HL ; á®åà ­¨âì ­®¬¥à ¯à®è¨¢ª¨
CALL PORTS_INIT ; ¨­¨æ¨ «¨§¨à®¢ âì ¯®àâë
@ -785,7 +772,7 @@ set_config:
CALL EMM.CheckColdInit ; ¨­¨æ¨ «¨§ æ¨ï ¯ ¬ïâ¨
POP HL ; ª®­ä¨£ãà æ¨ï
; JR Reset_Handler.start
;-----------------------------------------------------------------------;
MODULE Reset_Handler
start: DI
IN A,(SLOT3)
@ -849,68 +836,12 @@ Check_Spec_Page:
JR Check_EE_Port.After_Hard_Rst
;
;---------------------------------------
No_Reset_handlers:/*
; Check ZX ROMS Loaded
LD A,(Spec_Page.flag_Z)
CP 'Z'
JR NZ,.Load_ZXROMS
LD A,(Spec_Page.flag_X)
CP 'X'
JR NZ,.Load_ZXROMS
; [x] 31/12/23 ¯®¤áâà å®¢ª  ®â ­¥¤®ãâ¥çª¨ ¯ ¬ïâ¨
LD A,R
AND #80
JR Z,No_Need_To_Load_ZXROMS
.Load_ZXROMS: XOR A
LD R,A
;
; Load ZX ROM's
init_rom_address EQU #8200 ;!HARDCODE
;
LD HL,init_zx_roms
LD DE,init_rom_address
LD BC,init_zx_roms.length
LDIR
;
CALL init_rom_address
;
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),C
LDIR ; § ¡¨âì FF- ¬¨
; áâ ¢¨¬ ¬¥âªã ¥á«¨ ¯à®£à㧨«¨ <20>‡“ ᯥªâà㬠
DEC DE ; Spec_Page.flag_X
LD A,'X'
LD (DE),A
DEC DE ; Spec_Page.flag_Z
LD A,'Z'
LD (DE),A
; ‡ £«ã誠 ¤«ï áâà ­¨æë #41 ­  ¢á直© ¯®¦ à­ë©
LD HL,PROG_NO_ROM
LD DE,#C000+Spec_Page.no_zx_rom
LD BC,PROG_NO_ROM.size
LDIR
;
LD HL,RAM_BIOS_PROG
LD DE,#C000+Spec_Page.to_bios
LD BC,RAM_BIOS_PROG.Length
LDIR
*/
;No_Need_To_Load_ZXROMS:
No_Reset_handlers:
POP AF
OUT (SLOT3),A
;-------------------------------------------------------------------------------------------------------------------;
;!TODO ᤥ« âì ¢ë¡®à ¢ Setup, çâ® £à㧨âì ¢ v<>‡“ ¯à¨ áâ àâ¥. ‚ à¨ ­âë:
;[ ] 0 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨­¨â¨âì áâà ­¨æã #41 ª ª ¢ 3.04
;[ ] 1 - ƒà㧨â <20>‡“ ᯥªâà㬠 ¨§ ROM ¯à¨ áâ à⥠¥á«¨ ­¥â ä« £  ZX
;[ ] 2 - ƒà㧨â <20>‡“ ᯥªâà㬠 ¨§ ROM ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥ (¬®¦¥â ¡ëâì ®¯ á­®)
;[ ] 3 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨­¨â¨âì áâà ­¨æã #41 â ª, ç⮡ ª®¤ ¢ ­¥© ¯®¤£à㦠« <20>‡“ ᯥªâà㬠 ¯à¨ ®¡à é¥­¨¨
;-------------------------------------------------------------------------------------------------------------------;
ENDMODULE
;
;**************************************
;
;-----------------------------------------------------------------------;
MODULE Prepare_For_Setup
Set_ALL_Mode: LD A,#FF
LD BC,Port_All_Mode
@ -919,18 +850,17 @@ Set_ALL_Mode: LD A,#FF
Set_Default_Screen:
CALL FN_SYNC.INT_DEF ; set default int
ld a,128+4 ; !HARDCODE
;ld c,BIOS.FN_SYNC
;RST_to_BIOS_18 ; set default vsync
CALL FN_SYNC ; set default vsync
Setup_to_RAM: LD HL,Setup_Starter.Start
LD DE,COMPILE_ADDR.SETUP_STARTER
LD BC,Setup_Starter.Length
LD BC,Setup_Starter.Size
LDIR
; ­  á⥪ ª« ¤ñâáï  ¤à¥á ¢®§¢à â  ¨ ¤ «ìè¥ â é¨âáï ¢á直¬¨ ª®áâë«ï¬¨, ç⮡ ¢¥à­ãâìáï ­ § ¤
CALL Setup_Starter.Exec ; #C000
;JP PrepareToZX
ENDMODULE
;
PrepareToZX: ;CALL init_zx_roms
; Setup HDD drives for ZX Spectrum mode
DI
@ -961,7 +891,13 @@ PrepareToZX: ;CALL init_zx_roms
INC A
CP #10
JR C,.loop
; ¢ë室 ¢ ०¨¬ zx spectrum
; ¢ë室 ¢ ०¨¬ zx spectrum
;!TODO § ¬¥­¨âì ­  ãáâ ­®¢ªã ¨§ à ¬¡«®ª  ; [ ] free zx pages!
LD A,5
OUT (SLOT1),A
LD A,2
OUT (SLOT2),A
;
.start_zx: JP GOTO_SPEC.ZX_MODE
;***********************************
; ˆ­¨æ¨ «¨§ æ¨ï ¯®à⮢
@ -1014,8 +950,8 @@ PORTS_INIT:
; reg 4
LD A,4
OUT (Z84.SIO.Ch_B.Ctrl),A
;LD A,#45
LD A,#40
;LD A,#45
LD A,#40
OUT (Z84.SIO.Ch_B.Ctrl),A
; reg 3
LD A,3
@ -1069,29 +1005,29 @@ PORTS_INIT:
OUT (C),A
; ‘¡à®á ª®­â஫«¥à  ¤¨áª®¢®¤ 
; ‚ª«îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª  (âà¥âìï ª®­ä )
LD A,CNF_PORT.CNF_3 + ROM.BIOS
OUT (SYS_PORT.ROM),A
OUT (FDC_93.DrvCTRL),A
push hl
pop hl
LD A,#3C ;!HARDCODE ª®¬ ­¤  ¤«ï ƒ93
OUT (FDC_93.DrvCTRL),A
push hl
pop hl
XOR A
OUT (FDC_93.Command),A
LD A,CNF_PORT.CNF_3+ROM.BIOS
OUT (SYS_PORT.ROM),A
OUT (FDC_93.DrvCTRL),A
PUSH HL
POP HL
LD A,#3C ;!HARDCODE ª®¬ ­¤  ¤«ï ƒ93
OUT (FDC_93.DrvCTRL),A
PUSH HL
POP HL
XOR A
OUT (FDC_93.Command),A
; ‚몫îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª 
LD A,CNF_PORT.CNF_0 + ROM.BIOS
OUT (SYS_PORT.ROM),A
LD A,CNF_PORT.CNF_0+ROM.BIOS
OUT (SYS_PORT.ROM),A
; set HDD1/not-HDD2
LD A,IDE.Chanel.Primary
OUT (IDE.Chanel.Set),A
LD BC,#7FFD
LD A,#10
OUT (C),A ; BASIC_48 mode
LD B,#1F
LD A,01
OUT (C),A ; RAM-0 mode !!!
LD A,IDE.Chanel.Primary
OUT (IDE.Chanel.Set),A
LD BC,#7FFD
LD A,#10
OUT (C),A ; BASIC_48 mode
LD B,#1F
LD A,01
OUT (C),A ; RAM-0 mode !!!
; ®ç¨á⪠ ¡ãä¥à®¢ ª« ¢¨ âãàë ¨ ¬ëè¨ ¢ SIO
CALL .clean_kbd_buf
JR .clean_mouse_buf
@ -1211,12 +1147,12 @@ Exec:
;----------------------[]
DI
POP HL ;  ¤à¥á ¢®§¢à â  ¢ EXP ¨§ SETUP
LD SP,#8000 ;!HARDCODE
PUSH HL
PUSH AF
; LD SP,#8000 ;!HARDCODE
; PUSH HL
; PUSH AF
JP SETUP_MAIN
ENT
Length EQU $-Setup_Starter.Start
Size EQU $-Setup_Starter.Start
ENDMODULE
;-----------------------------------------------------------------------;
;-----------------------------------------------------------------------;

View File

@ -1,3 +1,11 @@
;-------------------------------------------------------------------------------------------------------------------;
;!TODO ᤥ« âì ¢ë¡®à ¢ Setup, çâ® £à㧨âì ¢ v<>‡“ ¯à¨ áâ àâ¥. ‚ à¨ ­âë:
;[~] 0 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨­¨â¨âì áâà ­¨æã #41 ª ª ¢ 3.04
;[~] 1 - ƒà㧨â <20>‡“ ᯥªâà㬠 ¨§ ROM ¯à¨ áâ à⥠¥á«¨ ­¥â ä« £  ZX
;[~] 2 - ƒà㧨â <20>‡“ ᯥªâà㬠 ¨§ ROM ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥ (¬®¦¥â ¡ëâì ®¯ á­®)
;[ ] 3 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨­¨â¨âì áâà ­¨æã #41 â ª, ç⮡ ª®¤ ¢ ­¥© ¯®¤£à㦠« <20>‡“ ᯥªâà㬠 ¯à¨ ®¡à é¥­¨¨
;-------------------------------------------------------------------------------------------------------------------;
;
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;

View File

@ -8,6 +8,7 @@
;
ROM_MAP:
.EXP EQU 0
.EXP.STACK EQU #C000
.ROM EQU 0
.LOADER EQU 0
.LOGO EQU 0
@ -44,7 +45,7 @@ COMPILE_ADDR:
.MAIN EQU #8000
.SETUP EQU #8000
.DEPACK EQU #D000
.SETUP_STARTER EQU #C000
.SETUP_STARTER EQU .SETUP + SETUP_MAIN.Size ;#C000
;
; ÛÛÛÛÛÛ» ÛÛÛÛÛÛÛ»ÛÛÛÛÛÛ» ÛÛÛÛÛ» ÛÛÛÛÛÛ»ÛÛ» ÛÛ»ÛÛÛÛÛÛÛ»ÛÛÛÛÛÛ»
; ÛÛÉÍÍÛÛ»ÛÛÉÍÍÍͼÛÛÉÍÍÛÛ»ÛÛÉÍÍÛÛ»ÛÛÉÍÍÍͼÛÛº ÛÛɼÛÛÉÍÍÍͼÛÛÉÍÍÛÛ»

View File

@ -199,13 +199,16 @@ DEPACK_DATA.length EQU $-DEPACK_DATA
DISP COMPILE_ADDR.SETUP
ShowInfo 'Setup block DISP start', 1 ; !!!!! test
SETUP_MAIN: INCLUDE 'src/bios/ROM/SETUP/Main.asm'
SETUP_MAIN.Size EQU $-SETUP_MAIN
ShowInfo 'Setup block DISP end', 1 ; !!!!! test
ENT
ENDIF
ASSERT ($ + Setup_Starter.Size) < (STACK - STACK.Size), "WARNING: Stack area overlaps code..."
ShowInfo 'Setup block of ROM end', 0 ; !!!!! test
BLOCK_Setup.Length EQU $-BLOCK_Setup
;---------------------------------------
;

View File

@ -79,14 +79,14 @@ MEMMAP2 EQU TEMP ;
TPOINTD EQU TEMP - SYS_PAGE.RAMD_KEYS.NUM - SYS_PAGE.Sp_RAMD_KEYS.NUM ; [x] 4/11/2023
;=======================================
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;SETUP_MAIN:
MAIN_START:
POP AF
POP HL
; POP AF
; POP HL
LD SP,STACK
PUSH HL
LD (RET_TO_EXP_ADDR),hl
LD (RET_TO_EXP_ADDR),HL
JP START
; DB "(C) 2002 PETERS PLUS LTD "
RET_TO_EXP_ADDR: WORD 0000 ; place for save ret address to exp
@ -243,58 +243,57 @@ CMSERR:
; RST_to_BIOS
RET
CLEARM: IN A,(SLOT3)
PUSH AF
LD A,SYS_PAGE
OUT (SLOT3),A
CLEARM: IN A,(SLOT3)
PUSH AF
LD A,SYS_PAGE
OUT (SLOT3),A
; save RAM disks on reboot when memory is cleared
LD HL,SYS_PAGE.RAMD_KEYS
LD DE,TPOINTD
LD BC,SYS_PAGE.RAMD_KEYS.NUM
LDIR
; [x] 4/11/2023
LD HL,SYS_PAGE.Sp_RAMD_KEYS
LD DE,TPOINTD + SYS_PAGE.RAMD_KEYS.NUM
LD BC,SYS_PAGE.Sp_RAMD_KEYS.NUM
LDIR
;
LD HL,SYS_PAGE.RAMD_KEYS
LD DE,TPOINTD
LD BC,SYS_PAGE.RAMD_KEYS.NUM
LDIR
; [x] 4/11/2023
LD HL,SYS_PAGE.Sp_RAMD_KEYS
LD BC,SYS_PAGE.Sp_RAMD_KEYS.NUM
LDIR
;
; ®ç¨é ¥¬ RAM Table
LD HL,MEMMAP2
LD DE,MEMMAP2+1
LD BC,255
LD (HL),0
LDIR
LD HL,MEMMAP2
LD DE,MEMMAP2+1
LD BC,255
LD (HL),0
LDIR
; ¢®ááâ ­ ¢«¨¢ ¥¬ RAM ¤¨áª¨
LD IX,SYS_PAGE.RAMD_KEYS ;RAM DISKS
LD H,high SYS_PAGE.RAMD_FAT
LD D,high MEMMAP2
LD BC,SYS_PAGE.RAMD_KEYS.NUM*256 + #FF
CALL .MEMLOOP
LD IX,SYS_PAGE.RAMD_KEYS ;RAM DISKS
LD H,high SYS_PAGE.RAMD_FAT
LD D,high MEMMAP2
LD BC,SYS_PAGE.RAMD_KEYS.NUM*256+#FF
CALL .MEMLOOP
; [x] 4/11/2023
LD IX,SYS_PAGE.Sp_RAMD_KEYS
LD B,SYS_PAGE.Sp_RAMD_KEYS.NUM
CALL .MEMLOOP
LD IX,SYS_PAGE.Sp_RAMD_KEYS
LD B,SYS_PAGE.Sp_RAMD_KEYS.NUM
CALL .MEMLOOP
;
CALL EMM.InitMem
LD BC,CMOS_CELL.BootUpParams.Mask.SaveRAMdisks ;#400E
CALL G_VALUE
OR A
CALL NZ,CCHAIN
POP AF
OUT (SLOT3),A
CALL EMM.InitMem
LD BC,CMOS_CELL.BootUpParams.Mask.SaveRAMdisks ;#400E
CALL G_VALUE
OR A
CALL NZ,CCHAIN
POP AF
OUT (SLOT3),A
; [x] 04/11/2023 Žâ¤¥«ì­ë¥ à ¬¤¨áª¨ ¤«ï ०¨¬  ᯥªâà㬠 ¨ DSS.
LD B,high BIOS.SWAP_RAM_DRIVES.Sp2000
JP SWAP_RAM_DRIVES
LD B,high BIOS.SWAP_RAM_DRIVES.Sp2000
JP SWAP_RAM_DRIVES
;
;
.MEMLOOP:
LD A,(IX)
INC IX
OR A
LD L,A
CALL NZ,RCHAIN
DJNZ .MEMLOOP
RET
LD A,(IX)
INC IX
OR A
LD L,A
CALL NZ,RCHAIN
DJNZ .MEMLOOP
RET
;
;
@ -483,7 +482,9 @@ START:
;R08 CALL OPENDOS
CALL ZXCLS
;!TEST 20/08/2024
;CALL ZXCLS
;
CALL READING
CALL TCHEKSM
CALL NZ,SETDEFX
@ -1308,12 +1309,14 @@ PMEMORY:
LD A,"K"
JP PRINT_CHAR
IFUSED ZXCLS
ZXCLS: LD HL,#4000
LD DE,#4001
LD BC,#1AFF
LD (HL),L
LDIR
RET
ENDIF
GET_ID: LD HL,memBUFFER.ID
;LD C,BIOS.FN_VERSION
@ -1740,10 +1743,10 @@ End BYTE
memBUFFER MAIN_BUFFERS = $
STACK EQU #C000
.size EQU 128
.Size EQU 128
IF memBUFFER.End-1 > #C000-STACK.size
IF memBUFFER.End-1 > #C000-STACK.Size
DISPLAY 'memBUFFER.Shared overlaps STACK by: ',/A,(memBUFFER.End-1)-(#C000-STACK.size)
ASSERT memBUFFER.End-1 < #C000-STACK.size
ENDIF
@ -1761,7 +1764,7 @@ STACK EQU #C000
DISPLAY 'End code address: ',/A,$-1
DISPLAY 'Code size: ',/A,$-COMPILE_ADDR.MAIN
DISPLAY 'End buffers address: ',/A,memBUFFER.End-1
DISPLAY 'Free memory: ',/A,#C000-(memBUFFER.End-1)-STACK.size
DISPLAY 'Free memory: ',/A,#C000-(memBUFFER.End-1)-STACK.Size
DISPLAY 'Unused bytes before INT_POINTER: ',/A,INT_POINTER-before_intPointer
ENDIF
;