mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 01:11:47 +03:00
154 lines
7.3 KiB
Plaintext
154 lines
7.3 KiB
Plaintext
TODO:
|
||
-? ¯ãªâ ¢ á¥â ¯¥ "á®åà ïâì áâà ¨æë ᯥªâà㬠¯à¨ ¯¥à¥§ £à㧪¥"
|
||
- ç¨áâ¨âì ¡ãä¥à ª« ¢ë ¥ ¢âã¯ãî, ª ª¨¬¨-¨¡ã¤ì ª®¬ ¤ ¬¨ ¤«ï íâ¨å ¢á直å SIO/PIO, ¥á«¨ ¥áâì
|
||
|
||
|
||
Done:
|
||
+ ¥¬®£® ¤®à ¡®â á¨á⥬ ¯¥à¥å¢ â à¥á¥â ¤«ï ãáâà ¥¨ï ¥ª®â®àëå £«îª®¢ ¨ ¡ã¤ã饥
|
||
+ ¢ á¥â ¯ à ¡®â ¥â á®åà ¥¨¥ áâ஥ª HDD "Setup" ¯®á«¥ ¯¥à¢®£® 㤠箣® ¢â®¤¥â¥ªâ
|
||
+ ‘¤¥« 㨢¥àá «ìë© § £àã§ç¨ª ¡¨âáâਬ ¤«ï 1k30 ¨ 1k50
|
||
+ €ªâ¨¢¨à®¢ ¢â®à®© ª « IDE
|
||
+ <09>ã¬¥à æ¨ï ãáâனá⢠IDE ¯¥à¥¤¥« á ¯®á«¥¤®¢ ⥫쮩 䨧¨ç¥áªãî
|
||
+ ‚ë¡®à § £à㧮箣® IDE ¨§¬¥ñ á ¯®á«¥¤®¢ ⥫쮣® 䨧¨ç¥áª¨©
|
||
+ „®¡ ¢«¥ ¢®§¬®¦®áâì ãáâ ®¢ª¨ IDE á® ¢â®à®£® ª « ¢ ª ç¥á⢥ ®á®¢®£® ¨ «ìâ¥à ⨢®£® § £à㧮箣® ¤¨áª
|
||
+ “¡à ® § «¨¯ ¨¥ ª« ¢¨è ¯à¨ à¥á¥â¥ ¯® Ctrl+Alt+Del
|
||
+ <09>ਠ¥ª®à४âëå § 票ïå ¤ âë ¨ ¢à¥¬¥¨ ¢ CMOS ¤ ë¥ § ¬¥ïîâáï ¤¥ä®«âë¥ § 票ï, ¢ë¢®¤¨âáï á®®¡é¥¨¥ ®¡ ®è¨¡ª¥
|
||
+ ‚ Setup ¤®¡ ¢«¥ ¢ë¡®à ०¨¬ à §¢ñà⪨ (--------/Scorpion/Pentagon/Spectrum)
|
||
+ ‚ Setup ¤®¡ ¢«¥ ¢ë¡®à ¢¥à⨪ «ì®© á¨åந§ 樨 (--------/312 50ƒæ/320 49ƒæ)
|
||
+ „®¡ ¢«¥ § £à㧪 á¨á⥬ë á RAM Disk
|
||
+ ˆá¯à ¢«¥ ¡ £ á® á⥪®¬ ¢ BLK_TO_RAMD ¨ ¥éñ ¥áª®«ìª® ¡ £®¢ ¢ ¯à®æ¥¤ãà å ç⥨ï á <20>€Œ-„ˆ‘Š€
|
||
+ „®¡ ¢«¥ § £à㧪 RECOVERY á ROM-Disk ¢ <20>‡“
|
||
+ <09>ਠ宫®¤®¬ áâ à⥠ãáâ ¢«¨¢ ¥âáï ¨â ¯¥â £® ( ¥ ᪮௨® ), ¥á«¨ ¢ CMOS ¥ § ¤ ® ¨®¥
|
||
+ ”ãªæ¨ï <20>ˆŽ‘ FN_SINC (#F2) ¯à¨ 㤠箬 § ¢¥à襨¨ ¥ á¡à áë¢ « ä« £ CF ¢ë室¥ - ¨á¯à ¢«¥®
|
||
+ <09>®¢ ï äãªæ¨ï GET_RAMD_NUM
|
||
+ „®¡ ¢«¥ë¥ ¤®¯®«¨â¥«ìë¥ ®¯æ¨¨ ¢ äãªæ¨î <20>ˆŽ‘ FN_SINC (#F2), bit7 ॣ¨áâà A ⥯¥àì ®â¢¥ç ¥â § ¯¥à¥ª«î票¥ áâ ண®/®¢®£®
|
||
¢ ਠâ à ¡®âë äãªæ¨¨ (¤«ï á®åà ¥¨ï ᮢ¬¥á⨬®á⨠ᮠáâ à묨 ¯à®£à ¬¬ ¬¨)
|
||
+ <09>®¢®¥ «®£® ¯à¨ áâ àâ¥, à §à¥è¥¨¥ ¨§¬¥¥® á 256å64 16 梥⮢ 128å72 256 梥⮢
|
||
+ ˆ§¬¥¥ ¯à®æ¥¤ãà ¢ë¢®¤ «®£®â¨¯ , «®£®â¨¯ ¯¥à¥¥áñ ¢ ¤àã£ãî áâà ¨æã <20>‡“
|
||
+ ‘¬¥ ï§ëª , à §¢ñà⪨ ¨ ¨â ¯à®¨á室¨â ¢ Setup áà §ã
|
||
+ ˆ§¬¥¥ë ¥ª®â®àë¥ ¤¯¨á¨ ¨ ¯®¯à ¢«¥ áâàãªâãà SETUP
|
||
+ „®¤¥« äãªæ¨ï FN_RESET
|
||
+ „®¤¥« äãªæ¨ï DCP_CONFIG - äãªæ¨ï ã¯à ¢«¥¨ï ¤¥è¨äà â®à®¬ ¯®à⮢
|
||
+ “¡à ® § ¤¢®¥¨¥ äãªæ¨© 4å
|
||
+ ”ãªæ¨¨ 5å ¯¥à¥¥á¥ë ¨§ 0 ¢ 8 áâà ¨æã <20>‡“
|
||
+ ˆ§¬¥¥ äãªæ¨ï ¨¨æ¨ «¨§ 樨 DCP, ®á¢®¡®¤¨«®áì ®ª®«® 4,5 ª¡
|
||
+ ’¥¯¥àì § १¥à¢¨à®¢ ë¥ ¯®¤ ०¨¬ ᯥªâà㬠áâà ¨æë ¬®¦® «¥£ª® ®á¢®¡®¤¨âì, ®¬¥à ¡«®ª - 1
|
||
+ „®¡ ¢«¥ë ®¡à §ë <20>‡“ ZX-Sprinter ¤«ï § ¯ã᪠०¨¬ ᯥªâà㬠¡¥§ § £à㧪¨ DSS
|
||
+ ‘âà ¨æ BIOS ᮢ¬¥á⨬ á ¤ ¯â¨à®¢ 묨 ®¡à § ¬¨ <20>‡“ ᯥªâà㬠. ’¥¯¥àì ®â¤¥«ìë¥ áâà ¨æë ®à¨£¨ «ìëå SP_EXP ¨ SP_EXP2
|
||
¥ âॡãîâáï.
|
||
+ ˆá¯à ¢«¥ ¡ £ ¢ ०¨¬¥ ᯥªâà㬠. <20>ਠ¢ë¡®à¥ Clear RAM ¢ ¬¥î ¨ ¯®á«¥¤ãî騬 ¢ë室®¬ ¢ „Ž‘ ¯® CAD § ¢¨á «®,
|
||
¯®â®¬ã çâ® ¢ë§ë¢ « áì ¯à®æ¥¤ãà FullInit ¤«ï ®ç¨á⪨ ¯ ¬ïâ¨. ’¥¯¥àì ¢¬¥áâ¥ á ®ç¨á⪮© ¯ ¬ï⨠á¡à áë¢ ¥âáï ¯¥à¥å¢ â à¥á¥â
|
||
+ <09>®¯à ¢«¥ë ¡ãä¥àë, ®¯â¨¬¨§¨à®¢ ë ¥ª®â®àë¥ ¯à®æ¥¤ãàë, ®á¢®¡®¦¤¥® ¡¡®«ìè¥ 1,5 ª¡ އ“ ¤«ï à ¡®âë BIOS ¢® ¢à¥¬ï áâ àâ
|
||
+ <09> ©¤¥® ¥áª®«ìª® ¤à¥¢¨å ¬¥«ª¨å ®£à¥å®¢ copy/paste, ¯à¨ à ¡®â¥ ¡ë«® ¥§ ¬¥â®, ® ¯à¨ïâ®, ç⮠諨áì
|
||
+ <09>®¯à ¢«¥ ¬ «®¢¥à®ïâë©, ® ¢®§¬®¦ë© £«îª á ¯¥à¥¯®«¥¨¥¬ á⥪ ¯à¨ ¢å®¤¥-¢ë室¥ ¨§ SETUP
|
||
+ <09>®á⥯¥ë© à¥ä ªâ®à¨£ ª®¤ )))
|
||
+ ‚ᥣ® ¨ ¥ ¢á¯®¬¨âì 㦥...
|
||
====================================================================================================================================================================================================================
|
||
|
||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ <20>ˆŽ‘ FN_SINC (#F2)
|
||
LD A,sync_mode ; ०¨¬ á¨åந§ 樨
|
||
; Reg A bit7 = 0 - ०¨¬ ®ç¨á⪨ íªà ¨ ãáâ ®¢ª¨ INT
|
||
; A=0 ०¨¬ ¯® 㬮«ç ¨î - ¨á¯®«ì§ã¥âáï ¤«ï ®ç¨á⪨
|
||
; áâà ¨æ ०¨¬ (®âª«îç¥¨ï ¢ë¢®¤ ¢á¥å ®ª®)
|
||
; ãáâ ®¢ª INT ¨§ á¨á⥬®© ¯¥à¥¬¥®©
|
||
; A=1 ०¨¬ Scorpion
|
||
; ¯®«®¦¥¨¥ INT- , ª ª ¢ Scorpion-256
|
||
; A=2 ०¨¬ Pentagon
|
||
; ¯®«®¦¥¨¥ INT-a ª ª ¢ Pentagon-128
|
||
; A=3 ०¨¬ Spectrum
|
||
; ¯®«®¦¥¨¥ INT-a ª ª ¢ ®à¨£¨ «ì®¬ ZX Spectrum
|
||
; A=4 ãáâ ®¢ª INT ¨§ áâ஥ª ¯®«ì§®¢ â¥«ï ¢ CMOS
|
||
;
|
||
; Reg A bit7 = 1 - ०¨¬ ãáâ ®¢ª¨ ¢¥à⨪ «ì®© á¨åந§ 樨 ¨/¨«¨ wait
|
||
; bit1,bit0:
|
||
; %00 - á¨åà ¢ëáâ ¢«ï¥âáï ¨§ á¨á⥬®© ¯¥à¥¬¥®©
|
||
; %01 - á¨åà ¢ëáâ ¢«ï¥âáï ¨§ CMOS
|
||
; %10 - á¨åà 320 lines 49 Hz
|
||
; %11 - á¨åà 312 lines 50 Hz
|
||
; bit2:
|
||
; %0 - ¨£®à¨à®¢ âì bit1..bit0
|
||
; %1 - ¥ ¨£®à¨à®¢ âì bit1..bit0
|
||
;
|
||
; bit3:
|
||
; %0 - no waits (port all_mode bit2 set)
|
||
; %1 - original waits (port all_mode bit2 res)
|
||
; bit4:
|
||
; %0 - ¨£®à¨à®¢ âì bit3
|
||
; %1 - ¥ ¨£®à¨à®¢ âì bit3
|
||
;
|
||
; bit5,bit6 - reserved
|
||
;
|
||
|
||
DRV_GET_PAR: ; ¯®«ãç¨âì ¯ à ¬¥âàë ®á¨â¥«ï
|
||
LD A,drv_type ; ¡¨â 0..3 - ®¬¥à ãáâனáâ¢
|
||
; ¡¨â 4..7 - ⨯ ãáâனáâ¢
|
||
; 0 - ¤¨áª®¢®¤
|
||
; 6 - ram-disk
|
||
; 8 - HDD
|
||
; C - CD-ROM
|
||
LD C,#58 ;
|
||
RST ToBIOS ; NC - ®à¬ «ì®¥ § ¢¥à襨¥
|
||
; L - ç¨á«® ᥪâ®à®¢ ( 楫¨¤à)
|
||
; H - ç¨á«® £®«®¢®ª
|
||
; DE - ª®«¨ç¥á⢮ 樫¨¤à®¢
|
||
; IX - à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||
; B - ¤®¯. ¯ à ¬¥âàë:
|
||
; FDD:
|
||
; ¡¨â7 - ⨯ 1.44/720
|
||
; HDD:
|
||
; ¡¨â0 - ª « IDE 0/1
|
||
; ¡¨â6 - CHS/LBA
|
||
;++++++++ ; RMD: ramdrive block id
|
||
; ¥á«¨ ¢ HL,DE ¢á¥ FF - ãáâனá⢠¥â
|
||
; CF - ¥â ãáâனáâ¢
|
||
;
|
||
|
||
|
||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ <20>ˆŽ‘ FN_RESET
|
||
FN_RESET: ; ‘¡à®á ¨«¨ ¯¥à¥§ £à㧪
|
||
LD B,res_type ; 1 - à¥áâ àâ, 2 - soft reset, 3 - hard reset, 4 - Reinit spectrum pages
|
||
LD C,#FD ; ®¬¥à äãªæ¨¨
|
||
RST ToBIOS ; CF -> äãªæ¨ï ¥ ¨á¯®«¥ , ¢®§¬®¦ë¥ ¯à¨ç¨ë:
|
||
; ¥ª®à४⮥ § 票¥ res_type
|
||
; ®¤ ¨§ ZX áâà ¨æ § ïâ (¯à¨ res_type=4), ⮣¤ ¯®¤ zx ®â¤ áâáï ⮫쪮 ç áâì áâà ¨æ
|
||
; áâ à ï ¢¥àá¨ï BIOS
|
||
;
|
||
|
||
|
||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ GET_RAMD_NUM (#9B)
|
||
GET_RAMD_NUM: ; ¯®«ãç¨âì ®¬¥à RAM-Disk- (0..15) ¯® ¥£® block id
|
||
LD A,id_blk ; ¨¤¥â¨ä¨ª â®à ¡«®ª
|
||
LD C,#9B ; ®¬¥à äãªæ¨¨
|
||
RST ToBIOS ; NC -> A - ®¬¥à RAM-Disk- (0..15).
|
||
; CF -> ®è¨¡ª ¢ ¨¤¥â¨ä¨ª â®à¥ ¡«®ª ¨«¨ ¡¨®á ¨¦¥ 2.55
|
||
;
|
||
|
||
|
||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ <20>ˆŽ‘ BLK_RD_WR (#C8)
|
||
BLK_RD_WR: ; ç⥨¥/§ ¯¨áì ¨§/¢ ¡«®ª( ) ¯ ¬ï⨠ᥪâ®à ¬¨
|
||
; ¯® 256 ¡ ©â
|
||
LD HL,bufer ; ¤à¥á ¡ãä¥à ¤ ëå
|
||
LD DE,sector ; ¡á®«îâë© ®¬¥à ᥪâ®à (256b)
|
||
LD B,sec_num ; ç¨á«® ᥪâ®à®¢
|
||
LD A,id_blk ; ¨¤¥â¨ä¨ª â®à ¡«®ª ˆ‹ˆ à §¬¥à ᥪâ®à (1 - 256b, 2 - 512b) ¯à¨ command = #46
|
||
LD A',command ; ª®¬ ¤ 0 - ç⥨¥, #FF - § ¯¨áì, #46 ç⥨¥ ¨§ ROM-Disk
|
||
LD C,#C8 ; ®¬¥à äãªæ¨¨
|
||
;
|
||
|
||
s_line_def equ 4
|
||
s_line_cmos equ 5
|
||
s_lines320 equ 6
|
||
s_lines312 equ 7
|
||
|
||
s_wait_orig equ #18
|
||
s_wait_def equ #10
|
||
|
||
|
||
DCP_CONFIG: ; [x] äãªæ¨ï ã¯à ¢«¥¨ï ¤¥è¨äà â®à®¬ ¯®à⮢.
|
||
;A - ¥á«¨ ®«ì, â® ¢ë§®¢ äãªæ¨¨ ¯¥à¥¨¨æ¨ «¨§ 樨 ¯®à⮢ PORTS_INIT
|
||
;HL - ¤à¥á
|
||
;DE - ¬ ᪠- 0 ¨§¬¥ï¥¬ë¥ ¡¨âë, 1 ¥¨§¬¥ï¥¬ë¥
|
||
;B - ¯®àâ
|
||
;C - #F4 ®¬¥à äãªæ¨¨
|
||
; !FIXIT ”ãªæ¨ï ¯®§¢®«ï¥â ®âªàë¢ âì/§ ªàë¢ âì ¤®¯®«¨â¥«ìë¥ ¯®àâë ª®¬¯ìîâ¥à .
|
||
; |