This commit is contained in:
Anatoliy Belyanskiy 2023-11-18 22:39:25 +10:00
commit 49f1bf11c5
5 changed files with 480 additions and 205 deletions

View File

@ -3,11 +3,11 @@
DZ 'Starting...' DZ 'Starting...'
ENDM ENDM
; ;
;[‚ë§®¢ ä㭪権 .------------------- ;[‚ë§®¢ ä㭪権]-----------------------
ToBIOS EQU #08 ToBIOS EQU #08 ; ¤«ï ¢ë§®¢  ¨§ އ“ ¢ SLOT0 (­ ¯à¨¬¥à ¨§ DSS)
ToBIOS_18 EQU #18 ToBIOS_18 EQU #18 ; ¤«ï ¢ë§®¢  ¨§ 8-© áâà ­¨æë <20>‡“ ¢ SLOT0
ToBIOS_3D13 EQU #3D13 ToBIOS_3D13 EQU #3D13 ; ¤«ï ¢ë§®¢  ¨§ 8-© áâà ­¨æë <20>‡“ ¢ SLOT0
ToBIOS_FromEXT EQU #3FD0 ToBIOS_FromEXT EQU #3FD0 ; ¤«ï ¢ë§®¢  ¨§ 0-© áâà ­¨æë <20>‡“ ¢ SLOT0
;--------------------------------------- ;---------------------------------------
BIOS: BIOS:
;[”㭪樨 à ¡®âë á ¯ ¬ïâìî]------------- ;[”㭪樨 à ¡®âë á ¯ ¬ïâìî]-------------
@ -20,6 +20,10 @@ BIOS:
.GetBanksPorts EQU #C6 ; <20>®«ã祭¨¥  ¤à¥á®¢ ¯®à⮢ ®ª®­ .GetBanksPorts EQU #C6 ; <20>®«ã祭¨¥  ¤à¥á®¢ ¯®à⮢ ®ª®­
.GetMemPageNext EQU #C7 ; <20>®«ãç¨âì ­®¬¥à á«¥¤ãî饩 áâà ­¨æë ¡«®ª  ¯® ¯à¥¤ë¤ã饬ã ü .GetMemPageNext EQU #C7 ; <20>®«ãç¨âì ­®¬¥à á«¥¤ãî饩 áâà ­¨æë ¡«®ª  ¯® ¯à¥¤ë¤ã饬ã ü
.GET_RAMD_NUM EQU #9B ; <20>®«ãç¨âì ­®¬¥à RAM-Disk-  (0..15) ¯® ¥£® block id .GET_RAMD_NUM EQU #9B ; <20>®«ãç¨âì ­®¬¥à RAM-Disk-  (0..15) ¯® ¥£® block id
.SWAP_RAM_DRIVES EQU #9C ; C¬¥­¨âì ­ ¡®à à ¬¤¨áª®¢ ZX <-> Sp2000
.SWAP_RAM_DRIVES.Sp2000 EQU #009C ; <20>¥¦¨¬ à ¬¤¨áª®¢ Sp2000
.SWAP_RAM_DRIVES.ZX EQU #FF9C ; <20>¥¦¨¬ à ¬¤¨áª®¢ ZX Spectrum mode
.SWAP_RAM_DRIVES.Info EQU #FE9C ; “§­ âì ª ª®© ०¨¬ <20>€Œ ¤¨áª®¢ ãáâ ­®¢«¥­
.DivMemBlocks EQU #9D ; <20> §¤¥«¥­¨¥ ¡«®ª  .DivMemBlocks EQU #9D ; <20> §¤¥«¥­¨¥ ¡«®ª 
.MergeMemBlocks EQU #9E ; ‘«¨ï­¨¥ ¡«®ª®¢ .MergeMemBlocks EQU #9E ; ‘«¨ï­¨¥ ¡«®ª®¢
;--------------------------------------- ;---------------------------------------
@ -56,6 +60,17 @@ BIOS:
;[”㭪樨 ¯¥ç â¨ ¨ ã¯à. ०¨¬®¬ íªà ­ ]- ;[”㭪樨 ¯¥ç â¨ ¨ ã¯à. ०¨¬®¬ íªà ­ ]-
.LP_OPEN_S EQU #80 ; Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­. .LP_OPEN_S EQU #80 ; Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­.
.LP_OPEN_S.ZX_32x24_Default EQU #0080 ; ᯥªâà㬮¢áª®¥ ®ª­® 32x24
.LP_OPEN_S.TXT_64x24_Default EQU #0180 ; ⥪á⮢®¥ ®ª­® 64x24
.LP_OPEN_S.TXT_40x32_Default EQU #0280 ; ⥪á⮢®¥ ®ª­® 40x24
.LP_OPEN_S.TXT_80x32_Default EQU #0380 ; ⥪á⮢®¥ ®ª­® 80x32
.LP_OPEN_S.ZX_32x24 EQU #0480 ; ᯥªâà㬮¢áª®¥ ®ª­®, HL - ¯®«®¦¥­¨¥ ®ª­ 
.LP_OPEN_S.TXT_64x24 EQU #0580 ; ⥪á⮢®¥ ®ª­® 64x24, HL - ¯®«®¦¥­¨¥ ®ª­ 
.LP_OPEN_S.TXT_40x32 EQU #0680 ; ⥪á⮢®¥ ®ª­® 40x32, HL - ¯®«®¦¥­¨¥ ®ª­ 
.LP_OPEN_S.TXT_80x32 EQU #0780 ; ⥪á⮢®¥ ®ª­® 80x32, HL - ¯®«®¦¥­¨¥ ®ª­ 
.LP_OPEN_S.Graf_0 EQU #0880 ; £à ä¨ç¥áª®¥ ®ª­® 0, HL - ¯®«®¦¥­¨¥ ®ª­ 
.LP_OPEN_S.Graf_1 EQU #0980 ; £à ä¨ç¥áª®¥ ®ª­® 1, HL - ¯®«®¦¥­¨¥ ®ª­ 
.LP_PRINT_ALL EQU #81 ; <20>¥ç âì ᨬ¢®«®¢ á  âਡã⮬ .LP_PRINT_ALL EQU #81 ; <20>¥ç âì ᨬ¢®«®¢ á  âਡã⮬
.LP_PRINT_SYM EQU #82 ; ‚뢮¤ ᨬ¢®«®¢ ­  íªà ­ ¡¥§  âਡãâ  .LP_PRINT_SYM EQU #82 ; ‚뢮¤ ᨬ¢®«®¢ ­  íªà ­ ¡¥§  âਡãâ 
.LP_PRINT_ATR EQU #83 ; ¯¥ç âì  âਡã⮢ .LP_PRINT_ATR EQU #83 ; ¯¥ç âì  âਡã⮢

View File

@ -122,6 +122,8 @@ CNF_PORT:
.PENT_RESET EQU #20 .PENT_RESET EQU #20
.SCORP_RESET EQU #40 .SCORP_RESET EQU #40
.CNF_512 EQU #80 ; ¢ª«î祭¨¥ Pentagon 128 .CNF_512 EQU #80 ; ¢ª«î祭¨¥ Pentagon 128
.ZX_BIOS EQU #00
.ZX_EXTENSION EQU #01
; ¯à¨¡¨â ¢ ª®­ä¥ £¢®§¤ï¬¨ ­  #7C/#3C ; ¯à¨¡¨â ¢ ª®­ä¥ £¢®§¤ï¬¨ ­  #7C/#3C
SYS_PORT: SYS_PORT:
.ON EQU #7C .ON EQU #7C
@ -400,12 +402,11 @@ SLOT2 EQU #C2 ;
SLOT3 EQU #E2 ; ­®¬¥à ¡ ­ª¨ 3 SLOT3 EQU #E2 ; ­®¬¥à ¡ ­ª¨ 3
.MEM_ADDR EQU #C000 .MEM_ADDR EQU #C000
PORT_Y EQU #89 ; ¢¥à⨪ «ì­ ï ª®®à¤¨­ â  â®çª¨ ­  £à ä¨ç¥áª®¬ íªà ­
RGADR EQU #89 ; áâà ­¨æ  VIDEO-RAM ¤«ï ᯥªâà㬮¢áª®£® ०¨¬  RGADR EQU #89 ; áâà ­¨æ  VIDEO-RAM ¤«ï ᯥªâà㬮¢áª®£® ०¨¬ 
PORT_Y EQU RGADR ; ¢¥à⨪ «ì­ ï ª®®à¤¨­ â  â®çª¨ ­  £à ä¨ç¥áª®¬ íªà ­
;RGSCR EQU #E9 = RGMOD ;RGSCR EQU #E9 = RGMOD
RGMOD EQU #C9 ; ¯®àâ ०¨¬  íªà ­ . <20>¥à¥ª«îç ¥â áâà ­¨æë ०¨¬  íªà ­ . RGMOD EQU #C9 ; ¯®àâ ०¨¬  íªà ­ . <20>¥à¥ª«îç ¥â áâà ­¨æë ०¨¬  íªà ­ .
SCREEN_SWITCH EQU RGMOD ; ¯®àâ ०¨¬  íªà ­ . <EFBFBD>¥à¥ª«îç ¥â áâà ­¨æë ०¨¬  íªà ­ . SCREEN_SWITCH EQU RGMOD
;RGACC EQU #A9 ;RGACC EQU #A9
PGACC EQU #FC ; <20>®àâ ¬ áèâ ¡¨à®¢ ­¨ï PGACC EQU #FC ; <20>®àâ ¬ áèâ ¡¨à®¢ ­¨ï
@ -451,8 +452,12 @@ Spec_Page EQU #41
.page_2 EQU #FFF2 .page_2 EQU #FFF2
.page_3 EQU #FFF3 .page_3 EQU #FFF3
.RET_addr EQU #FFF4 .RET_addr EQU #FFF4
.flag_Z EQU #FFFE ; .flag_Z EQU #FFFE
.flag_X EQU #FFFF ; ®¡®§­ ç îâ, çâ® § £à㦥­ë ROM ᯥªâà㬠 .flag_X EQU #FFFF ; ®¡®§­ ç îâ, çâ® § £à㦥­ë ROM ᯥªâà㬠
.no_zx_rom EQU #38
.to_bios EQU 8
.init_acex EQU #E000 ;!TEST
.bitstream_pages EQU .init_acex-(4+1) ;!TEST ;!HARDCODE ª®«¨ç¥á⢮ áâà ­¨æ ¢ ªíè ¤«ï ¡¨áâਬ  ¯«îá ®¤­ 
;LD (#FFF3),A ; á®å࠭塞 ¢ ᯥæáâà ­¨æã ­®¬¥à Spec_Page ;LD (#FFF3),A ; á®å࠭塞 ¢ ᯥæáâà ­¨æã ­®¬¥à Spec_Page
MODE_PAGE EQU #FC ;????? ¥á«¨ à㤨¬¥­â, â® ã¡à âì ¨§ १¥à¢¨à®¢ ­¨ï ¢ â ¡«¨æ¥ áâà ­¨æ MODE_PAGE EQU #FC ;????? ¥á«¨ à㤨¬¥­â, â® ã¡à âì ¨§ १¥à¢¨à®¢ ­¨ï ¢ â ¡«¨æ¥ áâà ­¨æ
@ -493,7 +498,8 @@ SYS_PAGE EQU #FE
.RAM_MSD EQU #C11E ; áâà ­¨æ  ¤«ï à ¡®âë ¢ MS-DOS .RAM_MSD EQU #C11E ; áâà ­¨æ  ¤«ï à ¡®âë ¢ MS-DOS
.MSD_SECS EQU #C11F ; —¨á«® ᥪâ®à®¢ ¢ MS-DOS .MSD_SECS EQU #C11F ; —¨á«® ᥪâ®à®¢ ¢ MS-DOS
.MSD_NAME EQU #C120 ; €¤à¥á ¨¬¥­¨ ­ ©¤¥­­®£® ä ©«  .MSD_NAME EQU #C120 ; €¤à¥á ¨¬¥­¨ ­ ©¤¥­­®£® ä ©« 
;.HDD_WRITE_PROTECT EQU #C122 ; ª®¯¨ï ᮤ¥à¦¨¬®£® ï祩ª¨ ª¬®á ;!TODO ;.HDD_WRITE_PROTECT EQU #C122 ; ª®¯¨ï ᮤ¥à¦¨¬®£® ï祩ª¨ ª¬®á
.CURRENT_RAM_DRV EQU #C122 ; ⥪ã騩 ­ ¡®à à ¬¤¨áª®¢ ¤«ï ä㭪樨 SWAP_RAM_DRIVES
.INT_ADRESS EQU #C124 ;  ¤à¥á ®¡à ¡®â稪  ¯à¥à뢠­¨ï .INT_ADRESS EQU #C124 ;  ¤à¥á ®¡à ¡®â稪  ¯à¥à뢠­¨ï
.INT_PAGE EQU #C126 ; áâà ­¨æ  á ®¡à ¡®â稪®¬ ¯à¥à뢠­¨ï .INT_PAGE EQU #C126 ; áâà ­¨æ  á ®¡à ¡®â稪®¬ ¯à¥à뢠­¨ï
.INT_ID EQU #C127 ; ¥á«¨ = #AA - §­ ç¨âì ®¡à ¡®â稪 ãáâ ­®¢«¥­ .INT_ID EQU #C127 ; ¥á«¨ = #AA - §­ ç¨âì ®¡à ¡®â稪 ãáâ ­®¢«¥­
@ -503,7 +509,7 @@ SYS_PAGE EQU #FE
.COUNT_FL EQU #C12B ; áç¥â稪 ä ©«®¢ ¢ ᥪâ®à¥ .COUNT_FL EQU #C12B ; áç¥â稪 ä ©«®¢ ¢ ᥪâ®à¥
.COUNT_SEC EQU #C12C ; áç¥â稪 ᥪâ®à®¢ ¢ ª â «®£¥ .COUNT_SEC EQU #C12C ; áç¥â稪 ᥪâ®à®¢ ¢ ª â «®£¥
.C_P_B EQU #C12D ; ç¨á«® ª« áâ¥à®¢ ­  ¡«®ª އ“ .C_P_B EQU #C12D ; ç¨á«® ª« áâ¥à®¢ ­  ¡«®ª އ“
;!TODO EQU #C12E ;!TODO WORD EQU #C12E
.FAT_FLAG EQU #C130 ; FAT ä« £ + FAT sector .FAT_FLAG EQU #C130 ; FAT ä« £ + FAT sector
.MSD_CONT_SEC EQU #C132 ; ⥪ã騩 ᥪâ®à ¤«ï MS-DOS .MSD_CONT_SEC EQU #C132 ; ⥪ã騩 ᥪâ®à ¤«ï MS-DOS
.MSD_CONT_SEC2 EQU #C134 .MSD_CONT_SEC2 EQU #C134
@ -581,11 +587,12 @@ SYS_PAGE EQU #FE
.RAMD_KEYS.R EQU #C18D .RAMD_KEYS.R EQU #C18D
.RAMD_KEYS.S EQU #C18E .RAMD_KEYS.S EQU #C18E
.RAMD_KEYS.T EQU #C18F .RAMD_KEYS.T EQU #C18F
.RAMD_KEYS.NUM EQU 16 ; RAMD_KEY_NUM .RAMD_KEYS.NUM EQU 16
.ZX_PAGES EQU #C190 ; ¨«¨ ⮫쪮 ®¤¨­ ¡ ©â - BlockID? ; vROM(10) + vRAM(32-1) + End_Byte(0); ®¤­  áâà ­¨æ  <20>€Œ ­¥ áç¨â ¥âáï - íâ® áâà ­¨æ  0. .ZX_PAGES EQU #C190 ; ¨«¨ ⮫쪮 ®¤¨­ ¡ ©â - BlockID? ; vROM(10) + vRAM(32-1) + End_Byte(0); ®¤­  áâà ­¨æ  <20>€Œ ­¥ áç¨â ¥âáï - íâ® áâà ­¨æ  0.
;!TODO EQU #C1BA..#C1BF - 6 bytes ;!TODO EQU #C1BA..#C1BF - 6 bytes
; ;.LIB_TABLE EQU #C1A0..#C1BF ; â ¡«¨æë Library 32 ¡ ©â 
.IDE_0 EQU #C1C0 .IDE_0 EQU #C1C0
.IDE_1 EQU #C1C8 .IDE_1 EQU #C1C8
.IDE_2 EQU #C1D0 .IDE_2 EQU #C1D0
@ -593,17 +600,35 @@ SYS_PAGE EQU #FE
; ;
.FDD_0 EQU #C1E0 .FDD_0 EQU #C1E0
.FDD_1 EQU #C1E8 .FDD_1 EQU #C1E8
;!TODO EQU #C1F0..#C1FF .FDD_TBL.Size EQU #10
;.FDD_2 EQU #C1F0 ;
;.FDD_3 EQU #C1F8 ; ª®¯¨¨ à ¬¤¨áª®¢ ¤«ï ¯¥à¥ª«î祭¨ï ¬¥¦¤ã ०¨¬ ¬¨ Spectrum / Sprinter
.Sp_RAMD_KEYS EQU #C1F0
.Sp_RAMD_KEYS.E EQU #C1F0
.Sp_RAMD_KEYS.F EQU #C1F1
.Sp_RAMD_KEYS.G EQU #C1F2
.Sp_RAMD_KEYS.H EQU #C1F3
.Sp_RAMD_KEYS.I EQU #C1F4
.Sp_RAMD_KEYS.J EQU #C1F5
.Sp_RAMD_KEYS.K EQU #C1F6
.Sp_RAMD_KEYS.L EQU #C1F7
.Sp_RAMD_KEYS.M EQU #C1F8
.Sp_RAMD_KEYS.N EQU #C1F9
.Sp_RAMD_KEYS.O EQU #C1FA
.Sp_RAMD_KEYS.P EQU #C1FB
.Sp_RAMD_KEYS.Q EQU #C1FC
.Sp_RAMD_KEYS.R EQU #C1FD
.Sp_RAMD_KEYS.S EQU #C1FE
.Sp_RAMD_KEYS.T EQU #C1FF
.Sp_RAMD_KEYS.NUM EQU .RAMD_KEYS.NUM
; ;
.RAMD_FAT EQU #C200 ; à á¯®«®¦¥­¨¥ ¡«®ª®¢ RAM-Disk-®¢ .RAMD_FAT EQU #C200 ; RAM Table
.MS_BPB EQU #C400 ; ¡ãä¥à BPB .MS_BPB EQU #C400 ; ¡ãä¥à BPB
.HD_IDF_ADR EQU #C600 ; !FIXIT áâàãªâãன ᤥ« âì!!! .HD_IDF_ADR EQU #C600 ; !FIXIT áâàãªâãன ᤥ« âì!!!
.HD_IDF_ADR.sec_cyl EQU .HD_IDF_ADR+4
.HD_IDF_ADR.heads EQU .HD_IDF_ADR+6 .HD_IDF_ADR.heads EQU .HD_IDF_ADR+6
.HD_IDF_ADR.sectors EQU .HD_IDF_ADR+12 .HD_IDF_ADR.sectors EQU .HD_IDF_ADR+12
.HD_IDF_ADR.sec_cyl EQU .HD_IDF_ADR+4
.MS_DIR EQU #C800 ; ¡ãä¥à DIR sector .MS_DIR EQU #C800 ; ¡ãä¥à DIR sector
.MS_FAT EQU #CC00 ; ¡ãä¥à FAT sector .MS_FAT EQU #CC00 ; ¡ãä¥à FAT sector
.MS_BUF EQU #D000 ; ¡ãä¥à DAT sector .MS_BUF EQU #D000 ; ¡ãä¥à DAT sector
@ -628,22 +653,21 @@ SYS_PAGE EQU #FE
;.INT_PAGE EQU #C126 ; ­ ç «ì­ë© ᥪâ®à DAT ;.INT_PAGE EQU #C126 ; ­ ç «ì­ë© ᥪâ®à DAT
;.CLASTER_LEN EQU #C12E ; ¤«¨­  ª« áâ¥à  ¢ ¡ ©â å ;.CLASTER_LEN EQU #C12E ; ¤«¨­  ª« áâ¥à  ¢ ¡ ©â å
;.CMOS_FLAG_1 EQU #C170 ;.CMOS_FLAG_1 EQU #C170
;.LIB_TABLE EQU #C1A0..#C1BF ; â ¡«¨æë librares 32 ¡ ©â 
;---------------------------------------------------------------------[] ;---------------------------------------------------------------------[]
; ;
/*
STRUCT FDD_INIT_TABLE ; STRUCT FDD_INIT_TABLE
DISK BYTE 0 ; DISK BYTE 0
F144 EQU FDD_0+0 ; F144 EQU FDD_0+0
SECTORS EQU FDD_0+1 ; SECTORS EQU FDD_0+1
MS_SECS EQU .SECTORS ; MS_SECS EQU .SECTORS
HEADS EQU FDD_0+2 ; HEADS EQU FDD_0+2
CYLINDL EQU FDD_0+3 ; CYLINDL EQU FDD_0+3
CYLINDH EQU FDD_0+4 ; CYLINDH EQU FDD_0+4
B_P_S EQU FDD_0+5 ; B_P_S EQU FDD_0+5
ENDS ; ENDS
*/
; ;
MODULE FDD_INI_TABLE ; !FIXIT â ¡«¨æë ¤«ï FDD ãáâனá⢠32 ¡ ©â . ¯à¨¢ï§ âìáï ª áâàãªâãॠ¢ëè¥ MODULE FDD_INI_TABLE ; !FIXIT â ¡«¨æë ¤«ï FDD ãáâனá⢠32 ¡ ©â . ¯à¨¢ï§ âìáï ª áâàãªâãॠ¢ëè¥
FDD EQU 3 ; ????? å¥à ¥£® §­ ¥â, çâ® §  ¯ à ¬¥âà, à §®¡à âìáï FDD EQU 3 ; ????? å¥à ¥£® §­ ¥â, çâ® §  ¯ à ¬¥âà, à §®¡à âìáï
@ -1900,6 +1924,55 @@ ATA:
; .Master EQU #A0 ; .Master EQU #A0
; .Slave EQU #B0 ; .Slave EQU #B0
; ;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º Š ª à ¡®â ¥â á奬  ç⥭¨ï/§ ¯¨á¨? º
; º º
; º Z80 ÚÄÄÄ¿ º
; º bus ³Buf³ º
; º ÄÄÂÄÄ´<Ä>ÃÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄ<Ä> Low Byte º
; º ³ ³ 1 ³ ³ º
; º ³ ÃÄÄÄ´ ÚÄÄÄ¿ ³ º
; º ³ ³Buf³ ³Reg³ ³ º
; º ÀÄÄ´ÄÄ>ÃÄÄÂÄÄ´ÄÄ>ÃÄÄÙ HDD bus º
; º ³ 2 ³ ³ ³ 3 ³ º
; º ÀÄÄÄÙ ³ ÀÄÄÄÙ º
; º ³ º
; º ÀÄÄÄÄÄÄÄÄÄÄÄÄ<Ä> High Byte º
; º º
; º 1. —⥭¨¥ ¢á¥å ॣ¨áâ஢, ªà®¬¥ ॣ¨áâà  ¤ ­­ëå, A8 = 0 º
; º „ ­­ë¥ á 設ë HDD ç¥à¥§ ¡ãä¥à 1 ¯¥à¥¤ îâáï ¢ ¯à®æ¥áá®à. º
; º ’®«ìª® ¬« ¤è¨© ¡ ©â, áâ à訩 ­¥ ­ã¦¥­. º
; º º
; º 2.1 —⥭¨¥ ॣ¨áâà  ¤ ­­ëå, A8 = 0 º
; º „ ­­ë¥ á 設ë HDD ç¥à¥§ ¡ãä¥à 1 ¯¥à¥¤ îâáï ¢ ¯à®æ¥áá®à. º
; º ’®«ìª® ¬« ¤è¨© ¡ ©â, áâ à訩 ­ã¦¥­ ¨ ®­ § é¥«ª¨¢ ¥âáï ¢ º
; º ॣ¨áâॠ3 º
; º º
; º 2.2 —⥭¨¥ ॣ¨áâà  ¤ ­­ëå, A8 = 1 º
; º „ ­­ë¥ ¨§ ॣ¨áâà  3 ç¥à¥§ ¡ãä¥à 1 ¯¥à¥¤ îâáï ¢ ¯à®æ¥áá®à. º
; º - áâ à訩 ¡ ©â - HDD ¢ íâ®â ¬®¬¥­â ­¥ ¢ë¡¨à ¥âáï º
; º º
; º 3. ‡ ¯¨áì ¢á¥å ॣ¨áâ஢, ªà®¬¥ ॣ¨áâà  ¤ ­­ëå, A8 = 1 º
; º „ ­­ë¥ á 設ë Z80 ç¥à¥§ ¡ãä¥à 1 ¯¥à¥¤ îâáï ­  設ã HDD. º
; º ’®«ìª® ¬« ¤è¨© ¡ ©â, áâ à訩 ­¥ ­ã¦¥­. º
; º º
; º 4.1 ‡ ¯¨áì ॣ¨áâà  ¤ ­­ëå, A8 = 0 º
; º „ ­­ë¥ á 設ë Z80 ç¥à¥§ ¡ãä¥à 2 ¯¥à¥¤ îâáï ¢ ॣ¨áâà 3. º
; º ’®«ìª® ¬« ¤è¨© ¡ ©â, áâ à訩 ­ã¦¥­ ¨ ®­ ®¦¨¤ ¥âáï ¢ á«¥¤ãî饬 º
; º 横«¥. HDD ¢ íâ®â ¬®¬¥­â ­¥ ¢ë¡¨à ¥âáï. º
; º º
; º 4.2 ‡ ¯¨áì ॣ¨áâà  ¤ ­­ëå, A8 = 1 º
; º „ ­­ë¥ ¨§ ॣ¨áâà  3 ¯¥à¥¤ îâáï ­  設ã HDD - ¬« ¤è¨© ¡ ©â. º
; º - áâ à訩 ¡ ©â - ç¥à¥§ ¡ãä¥à 2 ¯¥à¥¤ ¥âáï á ¯à®æ¥áá®à  º
; º º
; º <EFBFBD>®ç¥¬ã ¯ã­ªâ 4.2 ®â«¨ç ¥âáï ®â 3, å®âï ®¯¥à æ¨¨ ¯® ¢¨¤ã º
; º ®¤¨­ ª®¢ë? º
; º <EFBFBD>®â®¬ã çâ® ¯¥à¥¤ 4.2 ¢á¥£¤  ¨¤¥â 4.1, ª®â®àë© ãáâ ­ ¢«¨¢ ¥â º
; º âਣ¥à WRH ¢ ¥¤¨­¨æã ¨, â ª¨¬ ®¡à §®¬ ¯¥à¥ª«î砥⠯ãâì º
; º ¯à®å®¦¤¥­¨ï ¡ ©â®¢. <EFBFBD>â® ¨ ¯®§¢®«ï¥â ¨á¯®«ì§®¢ âì ª®¬ ­¤ë OUTI º
; º ¤«ï § ¯¨á¨ ᥪâ®à  ¢ HDD º
; º º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ENDMODULE ENDMODULE
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
@ -2036,7 +2109,7 @@ REG:
;Žâ ª®«¨ç¥á⢠ ª¢ ¤à â®¢ ¤«¨­  ¨­â  ­¥ § ¢¨á¨â ;Žâ ª®«¨ç¥á⢠ ª¢ ¤à â®¢ ¤«¨­  ¨­â  ­¥ § ¢¨á¨â
; Š®à®ç¥, ¯®£­ «¨ ®â M1 ¨ IO. Ž­¨ ¢¬¥á⥠¢ ­ã«¥ ª®£¤  ¯à¥à뢠­¨¥ ¯®¤â¢¥à¤¨«®áì. <EFBFBD>®«ì ­  ¨å OR ¡ã¤¥â ⮫쪮 ; Š®à®ç¥, ¯®£­ «¨ ®â M1 ¨ IO. Ž­¨ ¢¬¥á⥠¢ ­ã«¥ ª®£¤  ¯à¥à뢠­¨¥ ¯®¤â¢¥à¤¨«®áì. <EFBFBD>®«ì ­  ¨å OR ¡ã¤¥â ⮫쪮
; ¯à¨ ¯®¤â¢¥à¦¤¥­¨¨ ¯à¥à뢠­¨ï. <EFBFBD>®«ì ã室¨â ⥫¥§à¨â¥«ï¬ ¤ «ìè¥ ­  AND ¨ ®ââ㤠 ­  S, ¯®á«¥ 祣® ­  !Q ã ; ¯à¨ ¯®¤â¢¥à¦¤¥­¨¨ ¯à¥à뢠­¨ï. <EFBFBD>®«ì ã室¨â ¤ «ìè¥ ­  AND ¨ ®ââ㤠 ­  S, ¯®á«¥ 祣® ­  !Q ã
; ­ á ⮦¥ ­®«ì - ¨­â á­ï«áï. …᫨ ¨­â á­ï«áï ¨ à ¢¥­ 0, â® 1 ¨¤ñâ ­  á ¬ë© «¥¢ë© âਣ£¥à ¢ D, ­® ; ­ á ⮦¥ ­®«ì - ¨­â á­ï«áï. …᫨ ¨­â á­ï«áï ¨ à ¢¥­ 0, â® 1 ¨¤ñâ ­  á ¬ë© «¥¢ë© âਣ£¥à ¢ D, ­®
; ¯¥à¥å®¤¨â ­  á।­¨© âਣ£¥à ⮫쪮 ¯® CTH2 - áçñâ稪 ¤«¨­ë ¨­â  ª®â®àë© â¨ª ¥â ­¥§ ¢¨á¨¬® ®â ⮣®, ¥áâì ; ¯¥à¥å®¤¨â ­  á।­¨© âਣ£¥à ⮫쪮 ¯® CTH2 - áçñâ稪 ¤«¨­ë ¨­â  ª®â®àë© â¨ª ¥â ­¥§ ¢¨á¨¬® ®â ⮣®, ¥áâì
; ®­ ¨«¨ ­¥â. Š®£¤  ⨪­¥â, ¥¤¨­¨æ  ¯¥à¥å®¤¨â ¤ «ìè¥ ­  D ¨ ¦¤¥â ®¯ïâì ⨪ , ¯®á«¥ 祣® ¯®¯ ¤ ¥â ­  AND,   ; ®­ ¨«¨ ­¥â. Š®£¤  ⨪­¥â, ¥¤¨­¨æ  ¯¥à¥å®¤¨â ¤ «ìè¥ ­  D ¨ ¦¤¥â ®¯ïâì ⨪ , ¯®á«¥ 祣® ¯®¯ ¤ ¥â ­  AND,  
@ -2054,6 +2127,180 @@ REG:
; <EFBFBD><EFBFBD>Ž Š€„<EFBFBD> ˆ<EFBFBD> ; ; <EFBFBD><EFBFBD>Ž Š€„<EFBFBD> ˆ<EFBFBD> ;
;=======================================================================; ;=======================================================================;
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ <EFBFBD>«®ª-‘奬  ‚¨¤¥®ª®­â஫«¥à  ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
;³ Š®¬¯ìîâ¥à  Sprinter ³ ³ RGB Registers ÃÄÄÄ> RED ³
;³ (ᨫ쭮 ã¯à®é¥­­ ï) ³ ³ & Video DACs ÃÄÄÄ> GREEN ³
;³ ³ ³ ÃÄÄÄ> BLUE ³
;ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÂÂÄÄÄÄÄÄÄÙ ³
;³ ÚÄÂÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ ³³ ÚÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄ¿ ³
;³ CPU ÄÄÄ´ ³MXAÃÄÄÄ´ Video ÃÄÅÅÄ´MODE³Pixel³PAL ÃÄÄÄ· ³
;³ Adress ÄÄÄ´ ³ ÃÄÄÄ´ MEM ÃÄÅÅÄ´Reg ³Atrib³Reg ÃÄÄĶ ³
;³ ÃÄ´ ÃÄÄÄ´ ÃÄÅÅÄ´ ³ Reg ³ ÃÄÄĶ ³
;³ Y-port ÄÄÄ´ ³ ÃÄÄÄ´ ÃÄÅÅÄ´ ³ ³ ³.. º ³
;³ Graf Reg ÄÄÄ´ ³ ÃÄÄÄ´ ³ ³³ ³ ³ ³ ³.. º ³
;³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÃÄ´ ÃÄÄÄ´ ³ ³³ ³ ³ ³ ³.. º ³
;³ ³ Mode ÃÄÄÄ´ ³ ÃÄÄÄ´ ÃÄÅÅÄ´ ³ ³ ÃÄÄĶ ³
;³ ³ Counter ÃÄÄÄ´ ³ ÃÄÄÄ´ ÃÄÁÁÄ´ ³ ³ ÃÄÄĶ ³
;³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ÃÄ´ ÃÄÄÄ´ ³ ÀÄÂÂÄÁÄÄÄÂÄÁÄÄÄÄÙ º ³
;³ ÖÄÄ Adress ÄÄÄ´ ³ ÃÄÄÄ´ ³ ³³ ÀÄÄÄÄÄÄÄÄ>Ķ ³
;³ ÇÄÄ From MODE ÄÄÄ´ ³ ÃÄÄÄ´ ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>Ķ ³
;³ º ÚÄÄÄÄÄÄÄÄÄÄ¿ ÃÄ´ ÃÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>Ķ ³
;³ º ³ Line/Pix ÃÄÄÄ´ ³ ÃÄÄÄ´ ³ º ³
;³ º ³ Counters ÃÄÄÄ´ ³ ÃÄÄÄ´ ³ º ³
;³ º ÀÄÄÄÄÄÄÄÄÄÄÙ ÃÄ´ ÃÄÄÄ´ ³ º ³
;³ ÇÄÄ Pixel/PAL ÄÄÄ´ ³ ÃÄÄÄ´ ³ º ³
;³ ÇÄÄ Registers ÄÄÄ´ ³ ÃÄÄÄ´ ³ º ³
;³ º ÀÄÁÄÄÄÙ ÀÄÄÄÄÄÄÄÙ º ³
;³ º º ³
;³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³
;ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
;³ Š ª à ¡®â ¥â ¢¨¤¥®ª®­â஫«¥à? ³
;³ ³
;³ €¤à¥á ¢¨¤¥®¤ ­­ëå á®áâ ¢«ï¥â 16 ¡¨â ³
;³ ˜¨à¨­  è¨­ë ¤ ­­ëå ¢¨¤¥®-އ“ - 32 ¡¨â. ³
;³ ޤ­®¢à¥¬¥­­® ¨á¯®«ì§ãîâáï ¤® 3 ¡ ©â. ³
;³ <EFBFBD>ਠ£à ä¨ç¥áª®©  ¤à¥á æ¨¨ ¢¨¤¥®-އ“ ¯à¥¤áâ ¢«ï¥â ᮡ®© 256 ³
;³ «¨­¨© ¯® 1024 ¡ ©â . ‹¨­¨¨  ¤à¥áãîâáï ç¥à¥§ Y-port,   ¡ ©âë ¢ ³
;³ «¨­¨¨ 10 ¬« ¤è¨¬¨ ¡¨â ¬¨  ¤à¥á  ¯à®æ¥áá®à . ³
;³ ⥪á⮢®¬ ०¨¬¥ ¢¨¤¥®-އ“ ¯à¥¤áâ ¢«ï¥â ᮡ®© ­ ¡®à ¨§ ³
;³ 32-å 8Kb áâà ­¨æ, ª®â®àë¥ ¯®¤ª«îç îâáï ª ¯¥à¢®© ¯®«®¢¨­¥ ³
;³ 5-© ¨ 7-© áâà ­¨æë ¯ ¬ï⨠ZX-Spectrum. <EFBFBD>®¬¥à áâà ­¨æë § ¤ ¥âáï³
;³ ⥬ ¦¥ Y-port-®¬. <EFBFBD>¥à¥ª«î祭¨¥ ०¨¬   ¤à¥á æ¨¨ ¯à®¨§¢®¤¨âáï ³
;³ ¯® ­®¬¥àã áâà ­¨æë އ“. ’ ª, ¤ ¦¥ ¥á«¨ ¢ 5-© ᯥªâà㬮¢áª®© ³
;³ áâà ­¨æ¥ ®ª ¦¥âáï ãáâ ­®¢«¥­  áâà ­¨æ  50h އ“, â® ¢¨¤¥®¯ ¬ïâì³
;³ ¡ã¤¥â  ¤à¥á®¢ âìáï ª ª £à ä¨ç¥áª ï. ³
;³ ’¥ªá⮢ ï  ¤à¥á æ¨ï ï¥âáï â ª ¦¥ ¨ ᯥªâà㬮¢áª®©. ³
;³ ” ªâ¨ç¥áª¨ ¢ ¢¨¤¥®-އ“ ¨¬¥¥âáï 32 ᯥªâà㬮¢áª¨å íªà ­ , ¨§ ³
;³ ª®â®àëå ॠ«ì­® ¬®¦­® ¨á¯®«ì§®¢ âì 24, ¯®â®¬ã çâ® ³
;³ ®áâ «ì­ë¥ áâà ­¨æë ¨á¯®«ì§ãîâáï ¤«ï ¯ «¨âàë ¨ ¤ ­­ëå ०¨¬®¢ ³
;³ íªà ­ . ³
;³ ³
;³ <EFBFBD>ªà ­ ¯à¥¤áâ ¢«ï¥â ᮡ®© ­ ¡®à §­ ª®¬¥áâ, ¢ ª®â®àëå ¬®¦­® ³
;³ ­¥§ ¢¨á¨¬® ãáâ ­ ¢«¨¢ âì ०¨¬ ®â®¡à ¦¥­¨ï ¨­ä®à¬ æ¨¨. ³
;³ Š ¦¤®¥ §­ ª®¬¥áâ® ¯® à §¬¥àã ᮮ⢥âáâ¢ã¥â ª¢ ¤à âã 8x8 ०¨¬ ³
;³ 320 â®ç¥ª ¢ «¨­¨¨. ‚ᥣ® ­  íªà ­¥ 40x32 §­ ª®¬¥áâ. ”¨§¨ç¥áª¨ ³
;³ ¨¬¥¥âáï 64x64 §­ ª®¬¥áâ, ­® ç áâì ¨§ ­¨å ­¨ª®£¤  ­¥ ¯®¯ ¤ ¥â ³
;³ ­  íªà ­,   ç áâì ­ å®¤¨âáï ¢ ®¡« á⨠¨¬¯ã«ìᮢ 樭åà®­¨§ æ¨¨ ³
;³ ¨ £ è¥­¨ï «ãç . ª ¦¤®¬ §­ ª®¬¥á⥠¬®¦­® ãáâ ­®¢¨âì ᢮© ³
;³ ०¨¬, ¢¯«®âì ¤® ãáâ ­®¢ª¨ ०¨¬®¢ ¡®à¤¥à  ¨ £ è¥­¨ï «ãç . ³
;³ Žá­®¢­ë¥ ०¨¬ë, ãáâ ­ ¢«¨¢ ¥¬ë¥ ¢ §­ ª®¬¥áâ å: ³
;³ ZX-40 ⥪áâ®¢ë© à¥¦¨¬ 40 ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ 1 ᨬ¢®« ­  ³
;³ §­ ª®¬¥áâ®. Ž­ ¦¥ ᯥªâà㬮¢áª¨©. ³
;³ ZX-80 ⥪áâ®¢ë© à¥¦¨¬ 80 ᨬ¢®«®¢ ¢ áâப¥ ¨«¨ 2 ᨬ¢®«  ­  ³
;³ §­ ª®¬¥áâ®. ³
;³ GR-256-8 £à ä¨ç¥áª¨© ०¨¬ 320x256 â®ç¥ª, 256 梥⮢. Ž­ ¦¥ ³
;³ 8x8 â®ç¥ª 256 梥⮢ ­  ®¤­® §­ ª®¬¥áâ® ³
;³ GR-16-16 £à ä¨ç¥áª¨© ०¨¬ 640x256 â®ç¥ª, 16 梥⮢. Ž­ ¦¥ ³
;³ 16x8 â®ç¥ª 16 梥⮢ ­  ®¤­® §­ ª®¬¥áâ® ³
;³ „®¯®«­¨â¥«ì­ë¥ ०¨¬ë: ³
;³ BORDER §­ ª®¬¥áâ® ¢ëᢥ稢 ¥âáï æ¢¥â®¬ ¡®à¤¥à  ³
;³ BLANK §­ ª®¬¥áâ® § â¥¬­¥­® ³
;³ INT-Mode ०¨¬ £¥­¥à æ¨¨ ᨣ­ «  INT ¤¥©áâ¢ã¥â ⮫쪮 ­  ³
;³ §­ ª®¬¥áâ å á ०¨¬®¬ BLANK ¨ ¯®§¢®«ï¥â ãáâ ­ ¢«¨¢ âì INT ³
;³ ¢ ­ã¦­®¥ ¬¥áâ®, ¢¯«®âì ¤® ãáâ ­®¢ª¨ 40 ¨¬¯ã«ìᮢ INT ­  ª ¤à ³
;³ ³
;³ ’ ªâ®¢ ï ç áâ®â  - 42MHz <EFBFBD>¥à¨®¤ - 6 ®¤­®â ªâ®¢ëå æ¨ª«®¢ ³
;³ ³
;³ –¨ª«ë à á¯à¥¤¥«ïîâáï á«¥¤ãî騬 ®¡à §®¬: ³
;³ ³
;³ ’ ªâ 1 - ¢ë¡®àª  ¡ ©â  ¯¨ªá¥«¥© ⥪á⮢®£® ०¨¬  ³
;³ ¢ £à ä¨ç¥áª®¬ ०¨¬¥ - 宫®á⮩ 室 ³
;³ ’ ªâ 2 - ¢ë¡®àª  ¡ ©â   âਡã⮢ ⥪á⮢®£® ०¨¬  ³
;³ ®­ ¦¥ ¢ë¡®àª  ¡ ©â  ¯¨ªá¥«ï £à ä¨ç¥áª®£® ०¨¬  ³
;³ ’ ªâ 3 - ¢ë¡®àª  3-å ¡ ©â ¯ «¨âàë á § ¯¨áìî ¢ RGB ॣ¨áâàë ³
;³ ¤«ï ०¨¬®¢ 640 â®ç¥ª, ¢ ०¨¬¥ 320 宫®á⮩ 室 ³
;³ ’ ªâ 4 - ¢ë¡®àª  á«®¢  ०¨¬  íªà ­  ³
;³ ¢ë¡®àª  ¯à®¨§¢®¤¨âáï ®¤¨­ à § ¢ ç¥âëॠ¯¥à¨®¤  ³
;³ ’ ªâ 5 - 横« § ¯¨á¨ ¤ ­­ëå ®â ¯à®æ¥áá®à  ³
;³ ¥áâ¥á⢥­­®, ¤ ­­ë¥ ¯¨èãâáï ⮫쪮 ª®£¤  ­ã¦­® ³
;³ ’ ªâ 6 - ¢ë¡®àª  3-å ¡ ©â ¯ «¨âàë á § ¯¨áìî ¢ RGB ॣ¨áâàë ³
;³ ³
;³ ‚ᥠ­ ç¨­ ¥âáï á â ªâ  4. €¤à¥á ¤«ï ०¨¬  ®¯à¥¤¥«ï¥âáï ³
;³ áç¥â稪®¬ ¢¥à⨪ «¨ ¨ £®à¨§®­â «¨. ‘ç¨â îâáï 8 â®ç¥ª 320-£® ³
;³ ०¨¬  ¯® ¢¥à⨪ «¨ ¨ 8 áâப ¯® £®à¨§®­â «¨. ³
;³ <EFBFBD>¥¦¨¬ § ¤ ¥âáï 16 ¡¨â ¬¨, ¨§ ª®â®àëå 12 § ¤ îâ  ¤à¥á ª¢ ¤à â  ³
;³ 8x8 ¡ ©â £à ä¨ç¥áª®£® ०¨¬ . ⥪á⮢®¬ ०¨¬¥ í⨠¦¥ ¡¨âë ³
;³ § ¤ îâ  ¤à¥á ¤ ­­ëå íªà ­ , ­® ­¥áª®«ìª® ¨­ ç¥. ³
;³ Žá⠢訥áï 4 ¡¨â  ०¨¬  § ¤ îâ ᮡá⢥­­® ०¨¬. ޤ¨­ ¡¨â ³
;³ § ¤ ¥â £à ä¨ç¥áª¨© ¨«¨ ⥪áâ®¢ë© à¥¦¨¬ §­ ª®¬¥áâ . …é¥ ®¤¨­ ³
;³ ¡¨â § ¤ ¥â ०¨¬ 320 ¨«¨ 640 â®ç¥ª. „¢  ®áâ ¢è¨åáï ¡¨â  ¢ ³
;³ ⥪á⮢®¬ ०¨¬¥ ïîâáï ¤®¯®«­¥­¨¥¬  ¤à¥á  ¤ ­­ëå,   ¢ ³
;³ £à ä¨ç¥áª®¬ § ¤ îâ ®¤­ã ¨§ 4-å 256-â¨æ¢¥â­ëå ¯ «¨âà ³
;³ ³
;³ ¯ïâë¬ â ªâ®¬ ¢á¥ ïá­®. ‡  ¨áª«î祭¨¥¬ ⮣®, çâ® ¤«ï ³
;³ £à ä¨ç¥áª®£® ¨ ⥪á⮢®£® ०¨¬®¢ ¨§¬¥­ï¥âáï  ¤à¥á æ¨ï އ“ ³
;³ ˆ§¬¥­¥­¨¥ § ¤ ¥âáï ­®¬¥à®¬ áâà ­¨æë ‘âà ­¨æë 50..5F áç¨â îâáï ³
;³ £à ä¨ç¥áª¨¬ އ“. ‘«¥¤ã¥â ®â¬¥â¨âì, çâ® ¯®­ï⨥ £à ä¨ç¥áª®£® ¨ ³
;³ ⥪á⮢®£® ०¨¬   ¤à¥á æ¨¨ ­¥ ᮢᥬ ¢¥à­® ®âà ¦ ¥â áãâì. ³
;³ ‚뢮¤ ¤ ­­ëå ¢ íªà ­­®¥ އ“ ¬®¦¥â ®áãé¥á⢫ïâìáï ¢ ®¡®¨å ³
;³ ०¨¬ å ­¥§ ¢¨á¨¬® ®â ¤¥©á⢨⥫쭮£® ०¨¬  íªà ­ . ³
;³ ³
;³ 6-© â ªâ. —⥭¨¥ ¯ «¨âàë. ⥪á⮢®¬ ०¨¬¥  ¤à¥á ¯ «¨âàë ³
;³ á®áâ ¢«ï¥â 10 ¡¨â. 8 ¡¨â - ¡ ©â  âਡãâ . 1 ¡¨â - ¯¨ªá¥«ì. ³
;³ 1 ¡¨â - FLASH. <EFBFBD>â®â ¡¨â ä ªâ¨ç¥áª¨ ¯¥à¥ª«î砥⠤¢¥ ¯ «¨âàë ³
;³ á ç áâ®â®© FLASH. …᫨ ¯ «¨âàë ¤«ï ¤ ­­®£®  âਡãâ  á®¢¯ ¤ îâ ³
;³ â® FLASH ­¥ ­ ¡«î¤ ¥âáï. ³
;³ £à ä¨ç¥áª®¬ ०¨¬¥  ¤à¥á ¯ «¨âàë á®áâ ¢«ï¥â 8 ¡¨â ¡ ©â  ³
;³ ¯¨ªá¥«ï ¨ 2 ¡¨â  ­®¬¥à  ¯ «¨âàë, áç¨â ­­®£® ¢ 4-¬ â ªâ¥, ­® ³
;³ § ¤¥à¦ ­­®£® ­  1 ¯¥à¨®¤ ¤«ï ᨭåà®­­®£® ¨§¬¥­¥­¨ï ०¨¬  ³
;³ ¨ ¯ «¨âàë ¢ §­ ª®¬¥áâ¥. ³
;³ …é¥ ®¤¨­ ¡¨â  ¤à¥á  ¨á¯®«ì§ã¥âáï ¤«ï à §¤¥«¥­¨ï ¯ «¨âà ³
;³ ⥪á⮢®£® ¨ £à ä¨ç¥áª®£® ०¨¬®¢. Žá⠢訥áï  ¤à¥á  އ“ ³
;³ ãáâ ­ ¢«¨¢ îâáï ¢ "1" ¨ ¢áï ¯ «¨âà  ®ª §ë¢ ¥âáï ­  ª®­æ å ³
;³ 1024-å ¡ ©â®¢ëå «¨­¨© £à ä¨ç¥áª®£® ०¨¬ . ³
;³ ³
;³ ’ ªâ 1. ‡¤¥áì ­ ç¨­ ¥â ¤¥©á⢮¢ âì ­®¢ë© ०¨¬, áç¨â ­­ë© ¢ ³
;³ ⠪⥠4. €¤à¥á އ“ ï¥âáï  ¤à¥á®¬ ¡ ©â  ¯¨ªá¥«¥© ⥪á⮢®£® ³
;³ ०¨¬ . <EFBFBD> ©â ¯¨ªá¥«¥© § ¯¨á뢠¥âáï ¢ ᤢ¨£®¢ë© ॣ¨áâà ¨ ³
;³ ¯¥à¢ë© ¢ë¤¢¨­ãâë© ¡¨â ­ ç¨­ ¥â ¤¥©á⢮¢ âì ¢ 6-¬ â ªâ¥. ³
;³ ³
;³ ’ ªâ 2. ‚롨ࠥâáï ¡ ©â  âਡãâ . €¤à¥á ®â«¨ç ¥âáï ®â  ¤à¥á  ³
;³ ¡ ©â  ¯¨ªá¥«¥© ¯® ¨§¢¥áâ­®¬ã ‘¯¥ªâà㬮¢áª®¬ã § ª®­ã. ³
;³ …᫨ ¯¥à¥¤ í⨬ ¢ 4-¬ ⠪⥠¡ë« áç¨â ­ £à ä¨ç¥áª¨© ०¨¬, â® ³
;³ €¤à¥á  âਡãâ  áâ ­®¢¨âáï ¤à㣨¬ ¨ ᮮ⢥âáâ¢ã¥â ¡ ©âã ¯¨ªá¥«ï³
;³ £à ä¨ç¥áª®£® ०¨¬ . <EFBFBD>¥£¨áâà  âਡãâ  ¢ £à ä¨ç¥áª®¬ ०¨¬¥ ³
;³ ï¥âáï ॣ¨áâ஬ ¡ ©â  ¯¨ªá¥«ï. ³
;³ ³
;³ ’ ªâ 3. —⥭¨¥ ¯ «¨âàë ¤«ï ०¨¬  640 â®ç¥ª. ‘«¥¤ã¥â § ¬¥â¨âì ³
;³ çâ® ¢ £à ä¨ç¥áª®¬ ०¨¬ 640 â®ç¥ª, 4 áâ àè¨å ¡¨â  ॣ¨áâà  ³
;³ ¯¨ªá¥«ï ¬ áª¨àãîâáï ­ã«ï¬¨ ¨ ¢ í⮬ ⠪⥠¢ ¬« ¤è¨å ¡¨â å ³
;³  ¤à¥á  ®ª §ë¢ îâáï ⥠ç¥âëॠ¡¨â , ª®â®àë¥ ¡ë«¨ § ¬ áª¨à®¢ ­ë ³
;³ ¢ 6-¬ â ªâ¥. ’ ª ®à£ ­¨§ã¥âáï 16 梥⮢ ­  â®çªã. ³
;³ ³
;ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
;³ <EFBFBD>ணࠬ¬¨à®¢ ­¨¥. ³
;³ 1. ’¥ªáâ®¢ë© à¥¦¨¬  ¤à¥á æ¨¨ ®¡êï¥âáï ®â¬¨à î騬 ¨ ¥£® ³
;³ ¨á¯®«ì§®¢ ­¨¥ à §à¥è¥­® ⮫쪮 ¤«ï ª®­ä¨£ãà æ¨© ᮢ¬¥á⨬ëå á ³
;³ ZX-Spectrum. .¥. Sprinter-1 ¨ AY. (¢ AY ¤à㣮£® ¨ ­¥â) ³
;³ 2. ‚ª«î祭¨¥ £à ä¨ç¥áª®£® ०¨¬   ¤à¥á æ¨¨. ³
;³ „«ï í⮣® ¤®áâ â®ç­® ¢ª«îç¨âì áâà ­¨æã 50..5F ¢ ª ª®¥ «¨¡® ¨§ ³
;³ ®ª®­ ¯à®æ¥áá®à . ³
;³ <EFBFBD>ਬ¥à: ³
;³ LD A,50h ³
;³ OUT (PAGE3),A ³
;³ <EFBFBD>®á«¥ ¨á¯®«­¥­¨ï íâ¨å ª®¬ ­¤ ®ª­® C000..FFFF ¡ã¤¥â ᮤ¥à¦ âì ³
;³ ¤ ­­ë¥ £à ä¨ç¥áª®© ¯ ¬ï⨠(¢¥à­¥¥, ¥¥ ª®¯¨¨ ¢ ®á­®¢­®¬ އ“) ³
;³ 3. “áâ ­®¢ª  ­®¬¥à  «¨­¨¨. ³
;³ ƒà ä¨ç¥áª®¥ އ“, ª ª 㦥 ¡ë«® ᪠§ ­®, á®á⮨⠨§ 256-⨠«¨­¨©³
;³ ¯® 1024 ¡ ©â. ®ª­¥ ¡ã¤¥â ¢¨¤­  ⮫쪮 ®¤­  «¨­¨ï. €¤à¥á  ³
;³ ®â«¨ç î騥áï ­  ç¨á«® ªà â­®¥ 400h 䨧¨ç¥áª¨  ¤à¥áãîâ ®¤­¨ ¨ ³
;³ ⥠¦¥ ï祩ª¨ ¯ ¬ïâ¨. ³
;³ „«ï ¨§¬¥­¥­¨ï ­®¬¥à  «¨­¨¨ ­ ¤® ¢ë¢¥á⨠­®¬¥à «¨­¨¨ ¢ ¯®àâ. ³
;³ LD A,40h ³
;³ OUT (Y_port),A ³
;³ <EFBFBD>®á«¥ ¨á¯®«­¥­¨ï íâ¨å ª®¬ ­¤ á  ¤à¥á  ¢ ®ª­¥ ¢¨¤¥®-އ“ ¡ã¤¥â ³
;³ ­ å®¤¨âìáï 64-ï «¨­¨ï íªà ­  (­ ç¨­ ï ᢥàåã, á 0-©) ³
;³ 4. Š ¦¤ë© ª¢ ¤à â ¢¨¤¥®-އ“ à §¬¥à®¬ 8x8 ¡ ©â ¬®¦¥â ¡ëâì ³
;³ ãáâ ­®¢«¥­ ¢ «î¡®¥ §­ ª®¬¥áâ®. €¤à¥á ¢­ãâਠª¢ ¤à â  ¥áâì ³
;³ ¬« ¤è¨¥ âਠ¡¨â   ¤à¥á  «¨­¨¨ ¨ ¬« ¤è¨¥ âਠ¡¨â  ­®¬¥à  «¨­¨¨.³
;³ <EFBFBD> ©âë 000..2FFh ­  «¨­¨ïå ïîâáï ¯à®áâ묨 ¤ ­­ë¬¨, ª®â®àë¥ ³
;³ ¬®¦­® ¨á¯®«ì§®¢ âì ¤«ï ¢ë¢®¤  ­  íªà ­. ³
;³ <EFBFBD> ©âë 300h..3A0h ïîâáï ¡ ©â ¬¨ ०¨¬  íªà ­ . ³
;³ <EFBFBD> ©âë 3E0h..3FFh - ¡ ©âë ¯ «¨âà. ³
;³ €¤à¥á ª¢ ¤à â  ¤ ­­ëå, ª®â®à®¥ ¢ë¢®¤¨âáï ¢ §­ ª®¬¥áâ® § ¤ ¥âáï³
;³ ¢ ¡ ©â å ०¨¬  íªà ­ . ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
;__________________________________________________________________________________________________________# ;__________________________________________________________________________________________________________#
; MACRO _mGET_FAT_START slot_num ; MACRO _mGET_FAT_START slot_num
; .correct EQU (SLOT3 and slot_num)*2 ; .correct EQU (SLOT3 and slot_num)*2

View File

@ -1,6 +1,7 @@
;[‚ë§®¢ ä㭪権 DSS]-------------------- ;[‚ë§®¢ ä㭪権 DSS]--------------------
ToDSS EQU #10 ToDSS EQU #10
.DRV EQU #18 .DRV EQU #18
.Mouse EQU #30
;--------------------------------------- ;---------------------------------------
;---[<EFBFBD>ãä¥à ¯®¤ á«ã¦¥¡­ãî áâபã DSS]---- ;---[<EFBFBD>ãä¥à ¯®¤ á«ã¦¥¡­ãî áâபã DSS]----
@ -17,12 +18,12 @@ CLP_Parameters EQU 1 ;
;--------------------------------------- ;---------------------------------------
FAT_ATTR: FAT_ATTR:
.ARCHIVE EQU #20 .ARCHIVE EQU %0010'0000 ; bit 5
.DIRECTORY EQU #10 .DIRECTORY EQU %0001'0000 ; bit 4
.VOLUME_ID EQU #08 .VOLUME_ID EQU %0000'1000 ; bit 3
.SYSTEM EQU #04 .SYSTEM EQU %0000'0100 ; bit 2
.HIDDEN EQU #02 .HIDDEN EQU %0000'0010 ; bit 1
.READ_ONLY EQU #01 .READ_ONLY EQU %0000'0001 ; bit 0
.NoDIRnoVolID EQU .READ_ONLY + .HIDDEN + .ARCHIVE + .SYSTEM ; .NoDIRnoVolID EQU .READ_ONLY + .HIDDEN + .ARCHIVE + .SYSTEM ;
.NoVolID EQU .READ_ONLY + .HIDDEN + .DIRECTORY + .ARCHIVE + .SYSTEM ; .NoVolID EQU .READ_ONLY + .HIDDEN + .DIRECTORY + .ARCHIVE + .SYSTEM ;
.NoSYSnoVolID EQU .READ_ONLY + .HIDDEN + .DIRECTORY + .ARCHIVE ; .NoSYSnoVolID EQU .READ_ONLY + .HIDDEN + .DIRECTORY + .ARCHIVE ;
@ -41,8 +42,8 @@ Dss:
.RescanDrives EQU #08 .RescanDrives EQU #08
.BootDSK EQU #09 .BootDSK EQU #09
.BootDSK.Get EQU 0 .BootDSK.Get EQU #00*256 + .BootDSK
.BootDSK.Set EQU 1 .BootDSK.Set EQU #01*256 + .BootDSK
; ;
; File i/o ; File i/o
.Create EQU #0A .Create EQU #0A
@ -50,7 +51,7 @@ Dss:
; EQU #0C ; EQU #0C
.ERASE EQU #0D .ERASE EQU #0D
.Delete EQU #0E .Delete EQU #0E
.Move EQU #0F .Move EQU #0F ;!TODO
.Rename EQU #10 .Rename EQU #10
.Open EQU #11 .Open EQU #11
.Open.RW EQU 0 .Open.RW EQU 0
@ -60,9 +61,9 @@ Dss:
.Read EQU #13 .Read EQU #13
.Write EQU #14 .Write EQU #14
.Move_FP EQU #15 .Move_FP EQU #15
.Move_FP.FrStart EQU 0 .Move_FP.FrStart EQU #00*256 + .Move_FP
.Move_FP.FrCurrent EQU 1 .Move_FP.FrCurrent EQU #01*256 + .Move_FP
.Move_FP.FrEnd EQU 2 .Move_FP.FrEnd EQU #02*256 + .Move_FP
.Attrib EQU #16 .Attrib EQU #16
.Get_D_T EQU #17 .Get_D_T EQU #17
@ -120,26 +121,26 @@ Dss:
.DosName EQU #44 .DosName EQU #44
.EX_Path EQU #45 .EX_Path EQU #45
.EX_Path.GET_ALL EQU 0 ; <EFBFBD> §®¡à âì áâபã .EX_Path.GET_ALL EQU #00*256 + .EX_Path ; <20> §®¡à âì áâபã
.EX_Path.GET_DRIVE EQU 1 ; ‚뤥«¨âì ¨¬ï ¤¨áª  .EX_Path.GET_DRIVE EQU #01*256 + .EX_Path ; ‚뤥«¨âì ¨¬ï ¤¨áª 
.EX_Path.GET_PATH EQU 2 ; ‚뤥«¨âì ¤¨à¥ªâ®à¨î .EX_Path.GET_PATH EQU #02*256 + .EX_Path ; ‚뤥«¨âì ¤¨à¥ªâ®à¨î
.EX_Path.GET_NAME EQU 3 ; ‚뤥«¨âì ¨¬ï ä ©«  .EX_Path.GET_NAME EQU #03*256 + .EX_Path ; ‚뤥«¨âì ¨¬ï ä ©« 
.EX_Path.GET_TYPE EQU 4 ; ‚뤥«¨âì à áè¨à¥­¨¥ ä ©«  .EX_Path.GET_TYPE EQU #04*256 + .EX_Path ; ‚뤥«¨âì à áè¨à¥­¨¥ ä ©« 
.EX_Path.GET_ALL_EX EQU 5 ; ‚뤥«¨âì ¨¬ï ¤¨áª , ¯ãâì ª ä ©«ã, ¨¬ï ä ©«  ¨ à áè¨à¥­¨¥ ä ©«  .EX_Path.GET_ALL_EX EQU #05*256 + .EX_Path ; ‚뤥«¨âì ¨¬ï ¤¨áª , ¯ãâì ª ä ©«ã, ¨¬ï ä ©«  ¨ à áè¨à¥­¨¥ ä ©« 
.EX_Path.RESR EQU 6 ; ‡ à¥§¥à¢¨à®¢ ­® .EX_Path.RESR EQU #06*256 + .EX_Path ; ‡ à¥§¥à¢¨à®¢ ­®
.EX_Path.GSWITCH EQU 7 ; ‚뤥«¨âì ¯ à ¬¥âà ª®¬ ­¤­®© áâப¨ .EX_Path.GSWITCH EQU #07*256 + .EX_Path ; ‚뤥«¨âì ¯ à ¬¥âà ª®¬ ­¤­®© áâப¨
.EX_Path.GETNAME EQU 8 ; <EFBFBD>८¡à §®¢ âì ¨§ 11 ᨬ¢®«ì­®£® ä®à¬ â  ¢ ä®à¬ â „Ž‘ .EX_Path.GETNAME EQU #08*256 + .EX_Path ; <20>८¡à §®¢ âì ¨§ 11 ᨬ¢®«ì­®£® ä®à¬ â  ¢ ä®à¬ â „Ž‘
.EX_Path.MASK EQU 9 ; <EFBFBD>८¡à §®¢ âì ¨§ ä®à¬ â  „Ž‘ ¢ 11 ᨬ¢®«ì­ë© ä®à¬ â .EX_Path.MASK EQU #09*256 + .EX_Path ; <20>८¡à §®¢ âì ¨§ ä®à¬ â  „Ž‘ ¢ 11 ᨬ¢®«ì­ë© ä®à¬ â
.Environ EQU #46 .Environ EQU #46
.Environ.Init EQU #FF .Environ.Init EQU 255*256 + .Environ
.Environ.Read EQU #0 .Environ.Read EQU #00*256 + .Environ
.Environ.Get EQU #1 .Environ.Get EQU #01*256 + .Environ
.Environ.Set EQU #2 .Environ.Set EQU #02*256 + .Environ
.AppInfo EQU #47 .AppInfo EQU #47
.AppInfo.CMD_Param EQU 0*256 + .AppInfo .AppInfo.CMD_Param EQU #00*256 + .AppInfo
.AppInfo.EXE_HomeDir EQU 1*256 + .AppInfo .AppInfo.EXE_HomeDir EQU #01*256 + .AppInfo
.AppInfo.EXE_FullPath EQU 2*256 + .AppInfo .AppInfo.EXE_FullPath EQU #02*256 + .AppInfo
; EQU #48 ; EQU #48
; EQU #49 ; EQU #49
; EQU #4A ; EQU #4A
@ -151,10 +152,10 @@ Dss:
; ;
; Video ; Video
.SetVMod EQU #50 .SetVMod EQU #50
.SetVMod.txt40x32 EQU 2 .SetVMod.txt40x32 EQU 2 ; ⥪áâ®¢ë© 40x32x16 梥⮢
.SetVMod.txt80x32 EQU 3 .SetVMod.txt80x32 EQU 3 ; ⥪áâ®¢ë© 80x32x16 梥⮢
.SetVMod.grf320x256 EQU #81 .SetVMod.grf320x256 EQU #81 ; £à ä¨ç¥áª¨© 320x256x256 梥⮢
.SetVMod.grf6400x256 EQU #82 .SetVMod.grf640x256 EQU #82 ; £à ä¨ç¥áª¨© 640x256x16 梥⮢
.GetVMod EQU #51 .GetVMod EQU #51
.Locate EQU #52 .Locate EQU #52
.Cursor EQU #53 .Cursor EQU #53
@ -172,7 +173,9 @@ Dss:
.RES_PRN EQU #5D .RES_PRN EQU #5D
.CTRLPRN EQU #5E .CTRLPRN EQU #5E
.Print EQU #5F .Print EQU #5F
;--------------------------------------- ;----------------------------------------------------------------------;
;----------------------------------------------------------------------;
.DRV.Init EQU #00 .DRV.Init EQU #00
.DRV.Open EQU #01 .DRV.Open EQU #01
.DRV.Close EQU #02 .DRV.Close EQU #02
@ -194,20 +197,30 @@ Dss:
.DRV.LongWrite EQU #11 .DRV.LongWrite EQU #11
; ;
.DRV.RescanDRV EQU #FF .DRV.RescanDRV EQU #FF
;--------------------------------------- ;----------------------------------------------------------------------;
;
;------------[Video modes]--------------
DssVmod:
.txt40 EQU #02 ; (02) - ⥪áâ®¢ë© 40x32x16 梥⮢
.txt80 EQU #03 ; (03) - ⥪áâ®¢ë© 80x32x16 梥⮢
.gfx320 EQU #81 ; (129) - £à ä¨ç¥áª¨© 320x256x256 梥⮢
.gfx640 EQU #82 ; (130) - £à ä¨ç¥áª¨© 640x256x16 梥⮢
;---------------------------------------
;
;----------------------------------------------------------------------;
.Mouse.Init EQU #00
.Mouse.ShowCursor EQU #01
.Mouse.HideCursor EQU #02
.Mouse.ReadState EQU #03
.Mouse.SetXY EQU #04
;.Mouse.RESERVED EQU #05
;.Mouse.RESERVED EQU #06
.Mouse.SetBoundsY EQU #07
.Mouse.SetBoundsX EQU #08
.Mouse.SetCursorImage EQU #09
.Mouse.SetCursorChar EQU #0A
.Mouse.GetCursorImage EQU #0B
;.Mouse.RESERVED EQU #0C
;.Mouse.RESERVED EQU #0D
.Mouse.GetSensitive EQU #0E
.Mouse.SetSensitive EQU #0F
.Mouse.GetPackets EQU #80
.Mouse.SetVideoMode EQU #81
;.Mouse.RESERVED EQU #82
.Mouse.RefreshCursor EQU #83
;----------------------------------------------------------------------;
; ;
;------------[Error codes]-------------- ;------------[Error codes]--------------
@ -361,51 +374,51 @@ _cc:
; <EFBFBD>ਫ®¦¥­¨¥ <EFBFBD>. ’ ¡«¨æ  ¯®§¨æ¨®­­ëå ª®¤®¢ ; <EFBFBD>ਫ®¦¥­¨¥ <EFBFBD>. ’ ¡«¨æ  ¯®§¨æ¨®­­ëå ª®¤®¢
; key ASCII/SCAN key ASCII/SCAN ; key ASCII/SCAN key ASCII/SCAN
; ` 000h 000h V 056h 02Dh ; ` #00 #00 V #56 #2D
; Esc 01Bh 001h B 042h 02Eh ; Esc #1B #01 B #42 #2E
; 1 031h 002h N 04Eh 02Fh ; 1 #31 #02 N #4E #2F
; 2 032h 003h M 04Dh 030h ; 2 #32 #03 M #4D #30
; 3 033h 004h , 02Ch 031h ; 3 #33 #04 , #2C #31
; 4 034h 005h . 02Eh 032h ; 4 #34 #05 . #2E #32
; 5 035h 006h / 02Fh 033h ; 5 #35 #06 / #2F #33
; 6 036h 007h RShift ---- 034h ; 6 #36 #07 RShift --- #34
; 7 037h 008h \ 05Ch 035h ; 7 #37 #08 \ #5C #35
; 8 038h 009h LCtrl ---- 036h ; 8 #38 #09 LCtrl --- #36
; 9 039h 00Ah LAlt ---- 037h ; 9 #39 #0A LAlt --- #37
; 0 030h 00Bh Space 020h 038h ; 0 #30 #0B Space #20 #38
; - 02Dh 00Ch RAlt ---- 039h ; - #2D #0C RAlt --- #39
; = 03Dh 00Dh RCtrl ---- 03Ah ; = #3D #0D RCtrl --- #3A
; BackSpace 008h 00Eh F1 000h 03Bh ; BackSpace #08 #0E F1 #00 #3B
; Tab 009h 00Fh F2 000h 03Ch ; Tab #09 #0F F2 #00 #3C
; Q 051h 010h F3 000h 03Dh ; Q #51 #10 F3 #00 #3D
; W 057h 011h F4 000h 03Eh ; W #57 #11 F4 #00 #3E
; E 045h 012h F5 000h 03Fh ; E #45 #12 F5 #00 #3F
; R 052h 013h F6 000h 040h ; R #52 #13 F6 #00 #40
; T 054h 014h F7 000h 041h ; T #54 #14 F7 #00 #41
; Y 059h 015h F8 000h 042h ; Y #59 #15 F8 #00 #42
; U 055h 016h F9 000h 043h ; U #55 #16 F9 #00 #43
; I 049h 017h F10 000h 044h ; I #49 #17 F10 #00 #44
; O 04Fh 018h F11 000h 045h ; O #4F #18 F11 #00 #45
; P 050h 019h F12 000h 046h ; P #50 #19 F12 #00 #46
; [ 05Bh 01Ah PrScrn ---- 047h ; [ #5B #1A PrScrn --- #47
; ] 05Dh 01Bh ScrlLock 000h 048h ; ] #5D #1B ScrlLock #00 #48
; CapsLock 000h 01Ch NumLock 000h 049h ; CapsLock #00 #1C NumLock #00 #49
; A 041h 01Dh / 02Fh 04Ah ; A #41 #1D / #2F #4A
; S 053h 01Eh * 02Ah 04Bh ; S #53 #1E * #2A #4B
; D 044h 01Fh - 02Dh 04Ch ; D #44 #1F - #2D #4C
; F 046h 020h + 02Bh 04Dh ; F #46 #20 + #2B #4D
; G 047h 021h enter 00Dh 04Eh ; G #47 #21 enter #0D #4E
; H 048h 022h Del . 000h 04Fh ; H #48 #22 Del . #00 #4F
; J 04Ah 023h Ins 0 000h 050h ; J #4A #23 Ins 0 #00 #50
; K 04Bh 024h End 1 000h 051h ; K #4B #24 End 1 #00 #51
; L 04Ch 025h Down 2 000h 052h ; L #4C #25 Down 2 #00 #52
; ; 03Bh 026h PgDw 3 000h 053h ; ; #3B #26 PgDw 3 #00 #53
; ' 027h 027h Left 4 000h 054h ; ' #27 #27 Left 4 #00 #54
; Enter 00Dh 028h 5 000h 055h ; Enter #0D #28 5 #00 #55
; LShift ---- 029h Right 6 000h 056h ; LShift --- #29 Right 6 #00 #56
; Z 05Ah 02Ah Home 7 000h 057h ; Z #5A #2A Home 7 #00 #57
; X 058h 02Bh Up 8 000h 058h ; X #58 #2B Up 8 #00 #58
; C 043h 02Ch PgUp 9 000h 059h ; C #43 #2C PgUp 9 #00 #59
; <EFBFBD>ਫ®¦¥­¨¥ . <EFBFBD> ©â  âਡã⮢ ⥪á⮢®£® íªà ­  ; <EFBFBD>ਫ®¦¥­¨¥ . <EFBFBD> ©â  âਡã⮢ ⥪á⮢®£® íªà ­ 

View File

@ -1,6 +1,6 @@
DEFINE StandartZXpallete 1 ;DEFINE StandartZXpallete 1
DEFINE _DebuG_SAVEpallete 1 ;DEFINE _DebuG_SAVEpallete 1
DEFINE _DebuG_NumOfPallete 2 ;DEFINE _DebuG_NumOfPallete 2
;-----------------------------------------------------------------------; ;-----------------------------------------------------------------------;
MODULE COLORS MODULE COLORS
MODULE CGA MODULE CGA

View File

@ -135,30 +135,30 @@
;======================================= ;=======================================
MACRO FRAM_ON MACRO FRAM_ON
IN A,(FastRAM.ON) IN A,(FastRAM.ON)
IFN NORM_FastRAM ; IFN NORM_FastRAM
PUSH BC ; PUSH BC
;PUSH AF ; ;PUSH AF
LD BC,#1FFD ; LD BC,#1FFD
XOR A ; XOR A
OUT (C),A ; OUT (C),A
OUT (FastRAM.SLOT0),A ; OUT (FastRAM.SLOT0),A
;POP AF ; ;POP AF
POP BC ; POP BC
ENDIF ; ENDIF
ENDM ENDM
MACRO FRAM_OFF MACRO FRAM_OFF
IN A,(FastRAM.OFF) IN A,(FastRAM.OFF)
IFN NORM_FastRAM ; IFN NORM_FastRAM
PUSH BC ; PUSH BC
;PUSH AF ; ;PUSH AF
LD BC,#1FFD ; LD BC,#1FFD
LD A,1 ; LD A,1
OUT (C),A ; OUT (C),A
XOR A ; XOR A
OUT (FastRAM.SLOT0),A ; OUT (FastRAM.SLOT0),A
;POP AF ; ;POP AF
POP BC ; POP BC
ENDIF ; ENDIF
ENDM ENDM
;======================================= ;=======================================