Initial commit

This commit is contained in:
Anatoliy Belyanskiy 2023-06-15 02:20:40 +10:00
commit bd2abb6229
59 changed files with 8238 additions and 0 deletions

4
.gitmodules vendored Normal file
View File

@ -0,0 +1,4 @@
[submodule "Shared_Includes"]
branch = main
path = Shared_Includes
url = https://github.com/Tolik-Trek/Shared_Includes.git

Binary file not shown.

74
Docs/FORMATS/HOBETA.MSG Normal file
View File

@ -0,0 +1,74 @@
Ä SPECTRUM RULEZ! (2:5020/993.213) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ZX.SPECTRUM Ä
Msg : 133 of 185
From : Alexei Bugai 2:461/173.3 Fri 31 Oct 97 23:24
To : Ilya Zverev Mon 03 Nov 97 17:43
Subj : ”®p¬ â ä ©«®¢ 审¥âë
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Peace unto you, _Ilya_!
29 Oct 97 Ilya Zverev write to All about "®p¬ â ä ©«®¢ 审¥âë":
IZ> Žç¥­ì ­ã¦¥­ á ¡¦, pls.
== Cut ==
‘âàãªâãà  17-¡ ©â­®£® § £®«®¢ª , ¤®¡ ¢«ï¥¬®£® ª TR-DOS­ë¬
ä ©« ¬ ¯à®£à ¬¬®© HoBeta.exe:
00-07 - ¨¬ï ä ©« 
08 - ⨯ ä ©« 
09-0A - Start
0B-0C - Length
0D-0E - Length ¢ 256-¡ ©â­ëå § ¯¨áïå (¡ ©â 0E - p §¬¥p ¢ ᥪâ®p å)
0F-10 - Š®­â஫쭠ï á㬬 
’ ª¨¬ ®¡à §®¬, ¯¥à¢ë¥ 14 ¡ ©â ª®¯¨àãîâáï ¨§ TR-DOS®¢áª®£® ª â «®£ .
‚ë稫¥­¨¥ ª®­â஫쭮© á㬬ë: S=S+257*Di+i, £¤¥
S ­ ç «ì­®¥=0
Di - §­ ç¥­¨¥ ¡ ©â 
i - ¯®à浪®¢ë© ­®¬¥à ¡ ©â  (¥á«¨ ­¥ ®è¨¡ îáì, ­ ç¨­ ï á 0,   ­¥ á 1)
C src:
union {
struct {
unsigned char tr_filename[8];
unsigned char tr_filetype;
unsigned int tr_address;
unsigned int tr_length;
unsigned int tr_tr;
unsigned int tr_crc;
} tr_head;
unsigned char head[17];
} header;
unsigned int CheckSum;
int i;
CheckSum=0;
for (i=0; i<=14; CheckSum = CheckSum + (header.head[i] * 257) + i, i++);
header.tr_head.tr_crc = CheckSum;
‚®â ¢ ®¤­®© ¨§ ᢮¨å ¯à®£à ¬¬®ª ­ è¥« â ª®© § ¡ ¢­ë© ᯮᮡ ¯®¤áç¥â 
ª®­â஫쭮© áã¬¬ë § £®«®¢ª :
checksum=0;
for (i=0; i<=14; checksum+=(unsigned char)*(bufptr+i), i++);
checksum*=257;
checksum+=105;
bufptr, ®ç¥¢¨¤­®, ¯®¨­â¥à ­  ­ ç «® § £®«®¢ª .
=== Cut ===
With best wishes, [ZX_Power Team]
Dr.Squizer. [Power_ZX Team]
... Don't try to understand me... You never will!
--- Powered by Spectrum Mail System.
* Origin: X-Project BBS (2:461/173.3)

View File

@ -0,0 +1,61 @@
">Q04: —â® §  ä ©«ë á p áè¨p¥­¨¥¬ *.$b, *.$c?
A: •®¡¥â­ë© ä ©«. ’® ¥áâì ä ©«, ᪮¯¨p®¢ ­­ë© ¯p®£p ¬¬®© hobeta ¨§
âp-¤®á­®© ¤¨áª¥âª¨. <20>㪢  ç é¥ ¢á¥£® ®¡®§­ ç ¥â ¯p¨­ ¤«¥¦­®áâì ª
ª ª®¬ã-«¨¡® ⨯ã. (.$b - § ¯ã᪠¥¬ë© ä ©« ¡¥©á¨ª , .$w - ⥪áâ ¢ ä®p¬ â¥
ᯥªâp㬮¢áª®£® ZX-Word, .$m - ¬ã§ëª  ¤«ï ᯥªâp㬮¢áª®£® Pro Tracker' 
¨ â.¤.) <20> áè¨p¥­¨¥ ¢ ¯p¨­æ¨¯¥ ¬®¦¥â ¡ëâì «î¡ë¬. <20>â® § ¢¨á¨â ®â  ¢â®p®¢
¯p®£p ¬¬ë, ª®â®p ï ¯®«ì§ã¥âáï í⨬¨ ä ©« ¬¨.
A: Michael Kondratyev (2:5030/362.1) …£® (审¥â­®£® ä ©« ) áâpãªâãp :
<EFBFBD>¥p¢ë¥ 13 ¡ ©â â®ç­ ï ª®¯¨ï âp¤®á­®£® § £®«®¢ª . „ «¥¥ ¤¢  ¡ ©â  ¤«¨­ë
¢ ᥪâ®p å; â.ª. ®­  ªp â­  256, â® ¯¥p¢ë© ¢á¥£¤  ­®«ì,   ¢â®p®© -
ç¨á«® ᥪâ®p®¢. € ¯®á«¥¤­¨¥ ¤¢  ¡ ©â  - ª®­âp®«ì­ ï á㬬 . ‘ç¨â ¥âáï
®­  ¯p®áâ® - á㬬¨pãîâáï ¢á¥ ¯p¥¤ë¤ã騥 15 ¡ ©â, ç¨á«® 㬭®¦ ¥âáï ­ 
257 ¨ ¯p¨¡ ¢«ï¥âáï á㬬 _ç¨á¥«_®â_0_¤®_14 â.¥. 105.
‚®â ¯p®æ¥¤ãpª  ­  Z80 Asm:
; ­  ¢å®¤ de =  ¤p¥á § £®«®¢ª 
ld hl,0
ld b,15
m1: ld a,(de)
add a,l
ld l,a
jr nc,m2
inc h
m2: inc de
djnz m1
add a,h
ld h,a
ld c,105
add hl,bc ; hl = Hobeta sum
>Q05: € p áè¨p¥­¨¥ .$z?
A: •®¡¥â­ë© ä ©«, 㯠ª®¢ ­­ë© ­  ᯥªâp㬥 ¯p®£p ¬¬®© zxzip (by Michael
Kondratyev), á⠢訩 ¤¥ 䠪⮠®ä¨æ¨ «ì­ë¬ ¯ ª®¢é¨ª®¬ ¯p®£p ¬¬ ¤«ï ZX.
„«ï ¥£® p á¯ ª®¢ª¨ ­¥®¡å®¤¨¬ zxunzip. €¢â®p ­ ¯¨á « zxunzip ¨ zxzip ¨
¤«ï pc ⮦¥. ‘ãé¥áâ¢ã¥â plugin ¤«ï FAR - xZXZIP. Ž­ ¯®§¢®«ï¥â ¢å®¤¨âì
¢ zxzip  på¨¢ë ª ª ¢ ª â «®£¨ ¨ ¨§¢«¥ª âì/¯p®á¬ âp¨¢ âì ä ©«ë ¨§ ­¨å,
zxunzip ¯p¨ í⮬ ­¥ âp¥¡ã¥âáï.
>Q06: <20> p®¤. <20>®¬®£¨â¥ pls ª ª í⨠审¥â­ë¥ ä ©«ë § ¯ãáâ¨âì.
A: ‘ ¬ë© ¯p®á⮩ ¢  ­â - § ¯ãáâ¨âì Spectrum Navigator (ª®¯¨ï Dos Navigator,
­® c 㪫®­®¬ ¯®¤ ZX. €¢â®p - Roman Khroupnin 2:5015/97,
ftp://dimm.ab.nnov.ru/sn/ ) ¨ á®§¤ âì â ¬ ­®¢ë© ®¡p § ¤¨áª  .trd, ¨«¨ ¢®©â¨
¢ áâ pë© ¨ ¯p®á⮠᪮¯¨p®¢ âì â㤠 ¯® F5 ¨¬¥î騥áï 审¥â­ë¥ ä ©«ë. <20>®á«¥
祣® ᬥ«® ¨á¯®«ì§®¢ âì .trd ¢ í¬ã«ïâ®p¥. …éñ ¬®¦­® ¯®¤ª«îç¨âì plug-in xTRD
ª FAR'ã, ª®â®pë© â ª¦¥ ¯®§¢®«¨â ª®¯¨p®¢ âì .$? ¢ âp¤è­¨ª¨. <20>⨠¦¥ ¯p®£p ¬¬ë
¯®§¢®«ïîâ ᮢ¥pè âì ®¡p â­®¥ ¤¥©á⢨¥. Ž¡p ¡®â âì 审¥â­ë¥ ä ©«ë ¨ .trd
¬®¦­® ®ç¥­ì ¡®«ì訬 ª®«¨ç¥á⢮¬ ᯮᮡ®¢. ˆ í⮠㦥 §«®áâ­¥©è¨© ä ª (¢
á¬ëá«¥ FAQ) . —¨â ©â¥ ¤®ª¨ ª Spectrum Navigator, zcop - íâ® ¢¥á쬠
¯®«¥§­®¥ § ­ï⨥.
A: Œ®¦­® ¨á¯®«ì§®¢ âì ã⨫¨âã Archive Support (á) Max Piwamoto ᮢ¬¥áâ­® á
®¤­¨¬ ¨§ í¬ã«ïâ®p®¢, ¯®¤¤¥p¦¨¢ î騬 âp-¤®á: ukv, zx_emul, r80, shalaev...
€: ‘ãé¥áâ¢ã¥â â ª¦¥ ­ ¡®à ¯« £¨­®¢ HalfElf'  (djk@dem.kreml.nnov.ru) ¤«ï FAR
Manager. ‘®á⮨⠨§ á«¥¤ãîé¨å ¯« £¨­®¢:
1. bView v0.3b - ¯®§¢®«ï¥â ¯à®á¬ âਢ âì Basic ä ©«ë ¢ ä®à¬ â¥ Hobeta.
2. unSNAP v0.2b - ª®­¢¥àâ¨â .SNA ¨ .Z80 ¢ ­ ¡®à ä ©«®¢ Hobeta.
3. xCreate v0.22b - á®§¤ ¥â ¤¨áª¨ TR-DOS ¢ ä®à¬ â å trd, fdi, scl.
4. xHRiP v0.1b - à á¯ ª®¢ë¢ ¥â ä ©«ë, á®§¤ ­­ë¥ ZX- à娢 â®à®¬ HRiP.
5. XiSD v0.1b - à ¡®â ¥â á iS-DOS ¤¨áª ¬¨ ¢ ä®à¬ â å .img, .fdi.
6. xSCL v0.1b - à ¡®â ¥â á .SCL
7. xTRD v0.9b - à ¡®â ¥â á ®¡à § ¬¨ ¤¨áª®¢ .trd, .td0, .fdi.
8. xZXZIP v0.11b - à á¯ ª®¢ë¢ ¥â ä ©«ë, á®§¤ ­­ë¥  à娢 â®à®¬ ZXZIP.
…áâì ¥é¥ ¯« £¨­ ª Windows Commander."

76
Docs/FORMATS/SPGv0_2.INF Normal file
View File

@ -0,0 +1,76 @@
.SPG „ ­­ë© ä®à¬ â á«ã¦¨â ¤«ï åà ­¥­¨ï § ¯ã᪠¥¬ëå ¯à®£à ¬¬ ­  «î¡ëå ­®á¨â¥«ïå (CD/DVD/HDD/SD). ‘ ¬¨ ä ©«ë ¬®£ãâ ¡ëâì § ¯ãé¥­ë ¨§ WDC ¯à®áâë¬ ­ ¦ â¨¥¬ ­  ENTER. Žâ«¨ç¨ï ®â SPGv0.1 ¢ ®á­®¢­®¬ ­¥ ªà¨â¨ç­ë ¨ § ¯ã᪠«ª  ¢¥àᨨ 0.2 ¯®¤®©¤ñâ ¨ ª v0.1/0.0, ­® ¢áñ ¦¥ ¢ v0.2: ¡«®ª®¢ § £à㧪¨ áâ «® 16(!),   ¤«¨­  § £®«®¢ª  ª ¦¤®£® ¡«®ª  㬥­ì訫 áì ¤® 4å ¡ ©â! „à㣨¬¨ á«®¢ ¬¨, çâ®¡ë ¬®¦­® ¡ë«® § £à㦠âì v0.1 ¨ ­¨¦¥, ­¥®¡å®¤¨¬® 㢥«¨ç¨¢ âì è £ ¢ ®¡« á⨠§ £®«®¢ª®¢ ¡«®ª®¢ § £à㧪¨ á 4 ¤® 8!!! ’ ª ¦¥, ¥á«¨ § ¯ã᪠«ª¥ v0.2 ᪠ଫ¨¢ ¥âáï ¡®«¥¥ à ­­ïï ¢¥àá¨ï, â® ¨§ +66(1) ­ ¤® ç¨â âì ç¥à¥§ AND 7 ˆ á ¬®¥ £« ¢­®¥. ¤ ­­®© ¢¥àᨨ ¯®ï¢¨« áì ¢®§¬®¦­®áâì à ¡®âë á 256ª ¯ ¬ïâìî. „«ï ¢ë¡®à  áâà ­¨æ ¯®á«¥ § £à㧪¨ ­ã¦­® ¢ë§ë¢ âì ᯥ樠«ì­ãî ¯à®æ¥¤ãàã, ª®â®à ï § £à㦠¥âáï ­  㪠§ ­­ë© ¢ SPG § £®«®¢ª¥  ¤à¥á... [­¥ § ¡ë¢ ¥¬ <20><>Ž<E2809A>Ÿœ ¢¥àá¨î ä®à¬ â  ¢ +44(1)!!!] ¢ WDCv1.3final ¥áâì ®£à ­¨ç¥­¨ï: 1.¢á¥ ¡«®ª¨ (ªà®¬¥ ¯¥à¢®£®), ­ã¦­® £à㧨âì ¢  ¤à¥á  #A000-#FFFF!!! [¯¥à¢ë© ¡«®ª ¬®¦­® £à㧨âì ¢ #9A00-#FFFF!!!] 2.¨á¯®«ì§ã¥âáï 256ª ¯ ¬ïâì!!! ¯¥à¥¤ § £à㧪®© SPG, § ¯ã᪠¥âáï ¤¥â¥ªâ¨«ª  256ª ¯ ¬ï⨠(­  ¤ ­­ë© ¬®¬¥­â ¨éñâáï ¯ ¬ïâì ¯¥­â £®­ , § â¥¬ ᪮௨®­ (ª ï) ¨ § â¥¬ ¯à®ä¨), ¥á«¨ 256ª ¯ ¬ïâì ­¥ ­ ©¤¥­ , â® § £à㧪  ¬®¤ã«¥© á ­®¬¥à ¬¨ áâà ­¨æ ¢ëè¥ #07 ¡ã¤¥â ¨¤â¨ ¢ ­¨¦­¨¥ 128ª!!! [¢ § ¢¨á¨¬®á⨠®â ⮣®, ª ª®© ª«®­ ¡ë« ­ ©¤¥­,] [¢ ¯ ¬ïâì § £ã¦ ¥âáï ¬ ­ ¦¥à áâà ­¨æ (¢  ¤à¥á] [㪠§ ­­ë© ¢ +68(2)), ª ­¥¬ã ­ ¤® ®¡à é âìáï] [¯à¨ ¢ë¡®à¥ áâà ­¨æ... ] !¡®«¥¥ ¯®¤à®¡­® ᬮâਬ ¢ ®¯¨á ­¨¨ ᬥ饭¨ï +68! 3.­¥¤®¯ãá⨬® § ¤ ¢ âì  ¤à¥á  § £à㧪¨ ¬¥­¥¤¦¥à 
áâà ­¨æ ¨ ¡«®ª  ¯¥à¥¬¥­­ëå ¢ ¤¨ ¯ §®­¥ ®â #7000
¤® #99FF!!!
!*íâ® ¯à¨¢¥¤ñâ ª § ¢¨á ­¨î ¯à¨ § ¯ã᪥.*! "Spectrum Prog" file format v0.2: ᬥ鳤«¨­. ÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +0³32 - १¥à¢ +32³12 - ¨¤¥­â¨ä¨ª â®à ä®à¬ â  ("SpectrumProg") +44³1 - ¢¥àá¨ï ä®à¬ â (#00=0.0, #01=0.1, #02=0.2) +45³2 - CRC ¢á¥£® § £®«®¢ª  (512 ¡ ©â) +47³2 - ®¡à â­ ï CRC (áâ à訩 ¡ ©â ¢¯¥à¥¤¨) ³ [CRC= à¨ä¬¥â¨ç. á㬬¥ ¢á¥å 512⨠¡ ©â] ³ [§ £®«®¢ª  + 512... ] ³ !¥á«¨ = 0, â® ­¥ ¯à®¢¥à塞 CRC! ÄÄÄÄÅÄ ¯¨áì_¢_¯®àâ X]*5ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +49³2 -  ¤à¥á ¯®àâ  Xi +51³1 - §­ ç¥­¨¥ ¢ ­¥£® (¥á«¨  ¤à¥á <> 0!) ÄÄÄÄÅÄ ¯ à ¬¥âàë_§ ¯ã᪠ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +64³2 -  ¤à¥á § ¯ã᪠ ¯à®£à ¬¬ë +66³1 - ­®¬¥à áâà ­¨æë ¯à¨ § ¯ã᪥ ³ [¢ 256ª - íâ® ­®¬¥à  ®â 0 ¤® 15] ³ +67³1 - ä« £ ³ [=0 - ­¥ ॠ£¨à㥬] ³ [=1 - ­®¬¥à  ªâ¨¢­®£® ¤¨áª®¢®¤  ª¨¤ ¥âáï] ³ [¢ á®®â¢. ¯¥à¥¬¥­­ë¥ TR-DOS ¯¥à¥¤ á ¬ë¬ ] ³ [§ ¯ã᪮¬ ] ³ +68³2 -  ¤à¥á ªã¤  ¡ã¤¥â § £à㦥­ ¬ ­ ¦¥à áâà ­¨æ ³ [¥á«¨ =0, â® â ª®¢®© ­¥ § £à㦠¥âáï] ³ á ¬ ¯® ᥡ¥ ¬¥­¥¤¦¥à ¯à¥¤áâ ¢«ï¥â ¯à®áâãî ³ ¯à®æ¥¤ãàã, ¨¬¥îéãî ⮫쪮 ®¤¨­ ¢å®¤­®© ³ ¯ à ¬¥âà: ¢ ॣ¨áâॠA 㪠§ë¢ ¥âáï ­®¬¥à ³ áâà ­¨æë ª®â®àãî ­ ¤® ¢ª«îç¨âì (­ã¬¥à æ¨ï ³ ᮢ¯ ¤ ¥â á ⮩, çâ® ¨á¯®«ì§ã¥âáï ¢ § £®- ³ «®¢ª å ª ¡«®ª ¬ § £à㧪¨). ³ ¤®¯ãáâ¨¬ë© ¤¨ ¯ §®­ - ®â 0 ¤® 15, ­® ­ ¤® ³ ãç¨â뢠âì, çâ® ®¡à é¥­¨¥ ª #7FFD ¨¤ñâ ¯® ³ ¬ áª¥ #10!] ³ !à §¬¥à ¬¥­¥¤¦¥à  ­¥ ¡®«¥¥ 32 ¡ ©â! ³ +70³3 - ¤ â  (¤¥­ì,¬¥áïæ,£®¤) +73³1 - ¢¥àá¨ï ᡮન ¯à®£à ¬¬ë +74³2 -  ¤à¥á ¢¥à設ë á⥪ (¥á«¨=0, â® ­¥ ¬¥­ï¥¬) ³ +76³2 -  ¤à¥á ªã¤  ¡ã¤ãâ § £à㦥­­ë ¯¥à¥¬¥­­ë¥ ³ [ ª ¯à¨¬¥àã, ¬®¦­® åà ­¨âì ¯¥à¥¬¥­­ë¥] ³ [¡í©á¨ª  ¨ âà-¤®á' , 㪠§ ¢ ¢¤à¥á #5C00] ³ [¨ ¤«¨­ã 320 ¡ ©â] +78³2 - ¤«¨­  ¡«®ª  ¯¥à¥¬¥­­ëå ³ [¥á«¨=0, â® ¨£­®à¨à㥬 â ª®¢ë¥, ¨­ ç¥] ³ [ª¨¤ ¥¬ n<321 ¡ ©â ­   ¤à¥á ¢ +76(2).] ³ !¥á«¨ ¦¥  ¤à¥á = 0, â® ª¨¤ ¥¬ ¢ #5B00! ÄÄÄÄÅÄ[POKEZ] ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +80³48 - coming soon! ^_^ ÄÄÄÄÅÄ[¡«®ª_§ £à㧪¨]*16ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +128³2 -  ¤à¥á § £à㧪¨ ³ (¥á«¨ <#9A00, â® ¨¤ñâ § ¢¥à襭¨¥ ®¡à ¡®âª¨ ³ ¡«®ª®¢ § £à㧪¨) ³1 - ¤«¨­  ¡«®ª  ¢ 2048 ¡ ©â­ëå ᥪâ®à å ³1 - ­®¬¥à áâà ­¨æë ¢ ª®â®àãî £à㧨¬ ¡«®ª ³ [¤«ï 128ª ®­¨ ¨¤ãâ ®â 0 ¤® 7] ³ [¤«ï 256ª¡ ®â 0 ¤® 15... ] ÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +192³320- ¡«®ª ¯¥à¥¬¥­­ëå ¯à®£à ¬¬ë ¨«¨ ¡í©á¨ª  ÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +512³XXX- ª®¤®¢ë© ¡«®ª/¡«®ª¨ ÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ !¢® ¢à¥¬ï § ¯ã᪠ ¯à®£à ¬¬ë ¢ª«î祭 1© ०¨¬! !¯à¥à뢠­¨© (I=63), ­® ®­¨ § ¯à¥é¥­ë. !
P.S.¯¥à¢ë© £à㧨¬ë© ¡«®ª ¤®«¦¥­ à á¯®«®£ âìáï áà §ã
§  § £®«®¢ª®¬ ¢ 512 ¡ ©â,   ¢á¥ ¯®á«¥¤ãî騥
¤®«¦­ë à á¯®«®£ âìáï áà §ã §  ¯à¥¤ë¤ã騬, ­® ¯®
 ¤à¥áã ªà â­®¬ã 2¬ Š¡ ©â!!!
(á¬. PREF.txt ¨ PREFWP.txt)
¤«¨­  ¯¥à¢®£® £à㧨¬®£® ¡«®ª  = ¤«¨­¥ 㪠§ ­­®©
¢ ¯¥à¥¬¥­®© + (2048-512). „à㣨¬¨ á«®¢ ¬¨, ¥á«¨
¤«¨­  ¯¥à¢®£® ¡«®ª  ¬¥­ìè¥ 1536 ¡ ©â, â® ¥£®
¤«¨­ã ¢ 2ª ¡«®ª å ­ ¤® 㪠§ë¢ âì ­ã«¥¢®©!!!
[íâ® ¢ë§¢ ­® ⥬, çâ® ¯¥à¢ë¥ 1536 ¡ ©â â ª®¢®£®
à á¯®«®£ îâáï ¢ 2å ª¨«®¡ ©â­®¬ ¡«®ª¥ § £®«®¢ª ] --------------------------------------------------- <20>ਫ®¦¥­¨¥
;¬¥­¥¤¦¥à áâà ­¨æ ¯®¤ Pentagon:
MANAG0 ;I:A - num of PAGE (VALID: 0-15)
; Pentagon
PUSH BC
LD C,A
AND %11111000:LD A,C:JR Z,K128
AND 7:OR %01000000
K128 OR 16:LD BC,#7FFD:OUT A
POP BC
RET
;¬¥­¥¤¦¥à áâà ­¨æ ¯®¤ Scorpion/KAY:
MANAG1 ;Scorpion/KAY
PUSH BC
PUSH AF
AND %11111000
LD A,16:JR NZ,$+3:XOR A
LD BC,#1FFD:OUT A
POP AF
AND 7
OR 16:LD B,#7F:OUT A
POP BC
RET
;¬¥­¥¤¦¥à áâà ­¨æ ¯®¤ Profi:
MANAG2 ;Profi
PUSH BC
PUSH AF
AND %11111000
LD A,1:JR NZ,$+3:XOR A
LD BC,#DFFD:OUT A
POP AF
AND 7
OR 16:LD B,#7F:OUT A
POP BC
RET
;¬¥­¥¤¦¥à áâà ­¨æ ¯®¤ ATM 4.5:
MANAG3 ;ATM 4.5
PUSH BC
PUSH AF
AND %11111000
LD A,1:JR NZ,$+3:XOR A
LD BC,#FDFD:OUT A
POP AF
AND 7
OR 16:LD B,#7F:OUT A
POP BC
RET
;¬¥­¥¤¦¥à áâà ­¨æ, ¥á«¨ ­ ©¤¥­® ⮫쪮 128ª:
MANAGF ;128k
PUSH BC
AND 7
OR 16
BC,#7FFD:OUT A
POP BC
RET
---------------------------------------------------
Budder/23.12.2006-13.10.2009

Binary file not shown.

386
Docs/FORMATS/csw.html Normal file
View File

@ -0,0 +1,386 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<META NAME="keywords" CONTENT="CSW, Ramsoft, ZX Spectrum, TZX, tapes">
<title>WWR - CSW technical specifications</title>
<basefont face="Verdana">
</head>
<body TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<center>
<table bgcolor="#0040ff" width="50%" border=0>
<tr><td align="center"><font size="+4" color="#ffff40"><strong>CSW FORMAT</strong></font></td></tr>
</table>
<br>
<font size="+1"><strong>Compressed Square Wave</strong></font><br>
<em><font size="-1">Created by Ramsoft ZX Spectrum demogroup</font></em>
<br><br>
<font><strong>Format revision: v2.00 (August 1st 2003)</strong></font>
<br><br>
</center>
<br><br>
<div align=center>
<TABLE WIDTH="40%">
<TR><TD ALIGN=LEFT><OL>
<LI><B><A HREF="#INTRODUCTION">Introduction</A></b></LI>
<LI><B><A HREF="#CSWUTIL">The CSW utility</A></B></LI>
<LI><B><A HREF="#CSW2FORMAT">CSW file format</A></B></LI>
<LI><B><A HREF="#CSW1FORMAT">Old CSW 1.01 file format</A></B></LI>
<LI><B><A HREF="#CONTACT">Contact information</A></B></LI>
<LI><B><A HREF="#HISTORY">Revision history</A></B></LI>
</OL></TD></TR></TABLE>
</div><br><br>
<a name="INTRODUCTION"></a>
<p><table bbgcolor="#ffff90" width="100%" cellspacing="12" cellpadding="0" border="0"><tr>
<td align="center" bgcolor="#ff7848" width="10%"><font size="+2" color="white"><b>
1.
</b></font></td><td><font size="+2">
Introduction
</font></td></tr></table>
<br>
<table width="100%" border="0"><tr><td width="10%"> </td></td><td>
This document describes the CSW file format and the CSW.EXE utility. CSW is strongly based upon the MakeTZX engine and it shares with it various aspects of its behaviour. In the manual of MakeTZX you will find lots of explanations, tips and FAQ that are not reported here, so we recommend you to read it too.
<br><br>
<b>The CSW file format</b>
<br><br>
CSW files are a way of storing sample data in a compact form, typically taking 1/10th of an ordinary VOC. It is used internally by MakeTZX, but it is also very useful to keep down the disk space taken by your VOC/WAV files. The CSW utility can handle CSW conversion in both ways (see below). Of course, MakeTZX itself accepts CSW files for input.
When converting to the CSW format, the sample file is processed through MakeTZX's internal digital filter which reduces noise and signal distortions very efficiently. Make a backup copy of the original file if you will need the original samples later, but remeber that in most cases the CSW will be a lot better than the original file.
Note that CSWs are intended for use with square waves only (such as computer tapes)!
The compression ratio depends on many factors; in general, the higher the sample rate, the higher the ratio. A clean and regular signal helps too. The ratio for a 44 KHz file will usually be twice the value for a 22 KHz one. The typical gain for a 44 KHz turbo tape is about 93%, which means a 12:1 compression factor! Normal speed tapes should compress even better.
Finally, CSW files are highly compressable with the standard PC archivers such as RAR and ZIP. The packed CSW files are usually smaller than the zipped original VOCs. You will be able to RAR a 40 MB sample file down to a few hundreds KB.
</td></tr></table></p>
<a name="CSWUTIL"></a>
<p><table bbgcolor="#ffff90" width="100%" cellspacing="12" cellpadding="0" border="0"><tr>
<td align="center" bgcolor="#ff7848" width="10%"><font size="+2" color="white"><b>
2.
</b></font></td><td><font size="+2">
The CSW utility
</font></td></tr></table>
<br>
<table width="100%" border="0"><tr><td width="10%"> </td></td><td>
This small program is intended to provide a basic support for CSW files. It can compress VOC, WAV, IFF and OUT files to CSW and decompress CSW files back to VOC format (switch -d). Enter CSW -? or simply CSW for help. At the moment, CSW.EXE accepts only uncompressed mono 8-bit sample files. Extensions in filenames can be omitted; in this case, the default extensions will be appended in turn to match an existing file. The search order is VOC, WAV, IFF and OUT for last. If the output filename is left out, the input file name with extension .CSW (or .VOC if decompressing) will be used. If the input filename ends with the extension .CSW, then the switch -d (decompression) is implicitly assumed.
<br><br>
CSW can also work in <strong>DirectMode</strong> (switch -r), in which case the input is taken from your soundcard and conversion is performed on-the-fly in true realtime. You can stop the conversion by pressing any key at any time. To pause the recording press 'P', followed by any key to resume. During the pause, the vu-meter is shown again.
Note that, due to MakeTZX's engine requirements, the samples are written to disk anyway, so the maximum recording time is limited by the available disk space. If you want, you can keep this samples at the end of conversion and save them in a WAV file (switch -k), just in case something goes wrong and you don't want to repeat the sample. In this way, CSW may also act like a sampler!
You can set the sampling frequency with switch -s (e.g. -s44100). You can also do programmed recordings using switch -t and specifying the recording time (in seconds, e.g. -t60.0 for one minute); in this case, CSW will automatically stop when the time has elapsed (or when the disk is full), so you can start it and go away to do better things :)
<br><br>
The DirectMode SoundBlaster driver has been written for 100% compatible soundcards. If you are experiencing problems, try option "-c" which will attempt to access the hardware in a different way. The driver also performs a preliminary stability check; if this fails, CSW exits after two seconds with an error message. All this stuff is extensively covered in MakeTZX's manual, DirectMode section; please read it carefully.
Note: In order to run the CSW utility under plain MS-DOS you need a DPMI host (such as CWSDPMI.EXE)
Note: DirectMode, OUT files, digital filter and the other features are extensively described into MakeTZX's manual. Please read it.
Note: Although it is possible to specify fractions of seconds, the effective recording time is subject to DMA buffer size quantums (a few 1/10ths of sec).
Note: Like MakeTZX, CSW supports long filenames under Windows 9x
</td></tr></table></p>
<a name="CSW2FORMAT"></a>
<p><table bbgcolor="#ffff90" width="100%" cellspacing="12" cellpadding="0" border="0"><tr>
<td align="center" bgcolor="#ff7848" width="10%"><font size="+2" color="white"><b>
3.
</b></font></td><td><font size="+2">
CSW-2 file format
</font></td></tr></table>
<br>
<table width="100%" border="0"><tr><td width="10%"> </td></td><td>
Here is the CSW implementation chart for anyone who wants to use it in some utility or emulator (if so, please let us know). The file format is very simple and the compression scheme used is somewhat based on the RLE algorithm.
<br><br>
<div align="center">
<table border=1 bgcolor="#8080D0" cellspacing="2" cellpadding="4" width="50%">
<tr bgcolor="#8080D0"><td colspan=2 align="center"><font color="#FFFFFF" size="+1"><b>Legenda</b></font></td></tr>
<tr bgcolor="#f7f7ff"><td align="center" width="30%">WORD</td><td>2 bytes</td></tr>
<tr bgcolor="#f7f7ff"><td align="center">DWORD</td><td>4 bytes</td></tr>
<tr bgcolor="#f7f7ff"><td align="center">BYTE[N]</td><td>N bytes</td></tr>
<tr bgcolor="#f7f7ff"><td align="center">ASCII[N]</td><td>N ASCII characters</td></tr>
<tr bgcolor="#f7f7ff"><td align="center">ASCIIZ[N]</td><td>ASCII string with zero-padding to N bytes total</td></tr>
<tr bgcolor="#8080D0"><td colspan=2><font color="#FFFFFF">All multi-byte values are stored in Intel byte order (little-endian).<br>
All <em>reserved</em> or undefined bits must be set to zero.
<br>
All the headers fields must be filled in; blank values are not allowed.</font></td></tr>
</table>
<br><br>
<table width="70%" border=0 cellspacing=1 cellpadding=2 bgcolor="#000000">
<tr bgcolor="#80a0ff">
<td colspan=4 align="center"><strong><font size="+2" color="#ffffff">CSW-2 Header</font></strong></td>
</tr>
<tr bgcolor="#fff000">
<td colspan=4 align="center"><font size="-2" color="#606060">CSW global file header - <strong> status: <font color="#ff6060">required</font></font></strong></td>
</tr>
<tr bgcolor="#ffdf90">
<td align="center"><strong>Offset</strong></td>
<td align="center"><strong>Value</strong></td>
<td align="center"><strong>Type</strong></td>
<td align="center"><strong>Description</strong></td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x00</td>
<td align="center">(note)</td>
<td align="center">ASCII[22]</td>
<td>"Compressed Square Wave" signature</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x16</td>
<td align="center">0x1A</td>
<td align="center">BYTE</td>
<td>Terminator code</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x17</td>
<td align="center">0x02</td>
<td align="center">BYTE</td>
<td>CSW major revision number</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x18</td>
<td align="center">0x00</td>
<td align="center">BYTE</td>
<td>CSW minor revision number</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x19</td>
<td align="center">-</td>
<td align="center">DWORD</td>
<td>Sample rate</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x1D</td>
<td align="center">-</td>
<td align="center">DWORD</td>
<td>Total number of pulses (after decompression)</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x21</td>
<td align="center">-</td>
<td align="center">BYTE</td>
<td>Compression type (see notes below)<br>
<font size="1">0x01: RLE<br>
0x02: Z-RLE</font>
</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x22</td>
<td align="center">-</td>
<td align="center">BYTE</td>
<td>Flags<br>
<font size="1">b0: initial polarity; if set, the signal starts at logical high</font></td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x23</td>
<td align="center">HDR</td>
<td align="center">BYTE</td>
<td>Header extension length in bytes (0x00)<br>
<font size="1">For future expansions only, see note below.</font></td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x24</td>
<td align="center">-</td>
<td align="center">ASCIIZ[16]</td>
<td>Encoding application description<br>
<font size="1">Information about the tool which created the file (e.g. name and version)</font></td>
<tr bgcolor="#c0f0ff">
<td align="center">0x34</td>
<td align="center">-</td>
<td align="center">BYTE[HDR]</td>
<td>Header extension data (if present)</td>
</tr>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x34+HDR</td>
<td align="center">-</td>
<td align="center">-</td>
<td>CSW data.</td>
</tr>
</table>
</div>
<br><br>
<strong>Note about Header Extensions:</strong>
<br><br>
CSW-2 allows to extend the header size by a certain amount of bytes (the current default value is 0). However, this is designed for future revisions of this format and it is not meant to store application-specific data.
<br><br>
<strong>Compression types:</strong>
<br><br>
<ul>
<li><strong>0x01: RLE (Run Length Encoding)</strong><br>
The data is stored as a sequence of pulse lengths (1 byte per pulse). Consider the following scenario (each dot is a sample):
<br><br>
<img src="wave.gif" border=0>
<br><br>
The 5 pulses shown will be represented with the following bytes:<br>
03 05 01 04 07<br>
Pulse lengths greater than 0xFF (255) are represented as byte 0x00 followed by the duration represented on 4 bytes, e.g. 0xCDE9 is stored as 00 E9 CD 00 00.
</li>
<br><br>
<li><strong>0x02: Z-RLE (CSW v2.xx only)</strong><br>
Pulses are encoded exactly as in method 1, but the generated byte-stream is further compressed with the standard deflate() algorithm as defined by the <a href="http://www.gzip.org/zlib/">ZLIB</a> library (RFC 1151 and 1152). In fact the compression is equivalent to "gzip -9" (without the magic signature); the source code of the compression routines we used is the same as in our RZX SDK. [more tech details here]
</li>
</ul>
<br>
In format revision 1.01 we have introduced a bit to represent the initial signal polarity, which is not important in the Spectrum world but it is for other platforms such as C64. All the Spectrum TZX converters can safely ignore this bit (like MakeTZX does), so any tool supporting CSW 1.00 will also work fine with CSW 1.01 without modifications.
<br><br>
Note that no info about the pulse amplitude is represented because it is not necessary, since we are dealing with discrete 2-values amplitude scales.
</td></tr></table></p>
<a name="CSW1FORMAT"></a>
<p><table bbgcolor="#ffff90" width="100%" cellspacing="12" cellpadding="0" border="0"><tr>
<td align="center" bgcolor="#ff7848" width="10%"><font size="+2" color="white"><b>
4.
</b></font></td><td><font size="+2">
Old CSW v1.01 file format
</font></td></tr></table>
<br>
<table width="100%" border="0"><tr><td width="10%"> </td></td><td>
This is the format specification for the old CSW v1.01. It is reported here because a lot of existing tools support the original version of the file format.
<br><br>
<div align="center">
<table width="70%" border=0 cellspacing=1 cellpadding=2 bgcolor="#000000">
<tr bgcolor="#80a0ff">
<td colspan=4 align="center"><strong><font size="+2" color="#ffffff">CSW-1 Header</font></strong></td>
</tr>
<tr bgcolor="#fff000">
<td colspan=4 align="center"><font size="-2" color="#606060">CSW global file header - <strong> status: <font color="#ff6060">required</font></font></strong></td>
</tr>
<tr bgcolor="#ffdf90">
<td align="center"><strong>Offset</strong></td>
<td align="center"><strong>Value</strong></td>
<td align="center"><strong>Type</strong></td>
<td align="center"><strong>Description</strong></td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x00</td>
<td align="center">(note)</td>
<td align="center">ASCII[22]</td>
<td>"Compressed Square Wave" signature</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x16</td>
<td align="center">0x1A</td>
<td align="center">BYTE</td>
<td>Terminator code</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x17</td>
<td align="center">0x01</td>
<td align="center">BYTE</td>
<td>CSW major revision number</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x18</td>
<td align="center">0x01</td>
<td align="center">BYTE</td>
<td>CSW minor revision number</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x19</td>
<td align="center">-</td>
<td align="center">WORD</td>
<td>Sample rate</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x1B</td>
<td align="center">0x01</td>
<td align="center">BYTE</td>
<td>Compression type<br>
<font size="1">0x01: RLE</font>
</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x1C</td>
<td align="center">-</td>
<td align="center">BYTE</td>
<td>Flags<br>
<font size="1">b0: initial polarity; if set, the signal starts at logical high</font></td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x1D</td>
<td align="center">0x00</td>
<td align="center">BYTE[3]</td>
<td>Reserved.</td>
</tr>
<tr bgcolor="#c0f0ff">
<td align="center">0x20</td>
<td align="center">-</td>
<td align="center">-</td>
<td>CSW data.</td>
</tr>
</table>
</div>
<br><br>
For information about the RLE compression method (0x01) and the meaning of the polarity flag, please refer to the notes for version 2.xx.
</td></tr></table></p>
<a name="CONTACT"></a>
<p><table bbgcolor="#ffff90" width="100%" cellspacing="12" cellpadding="0" border="0"><tr>
<td align="center" bgcolor="#ff7848" width="10%"><font size="+2" color="white"><b>
5.
</b></font></td><td><font size="+2">
Contact information
</font></td></tr></table>
<br>
<table width="100%" border="0"><tr><td width="10%"> </td></td><td>
The latest version of this document can be found at:
<ul><li><a href="http://www.ramsoft.bbk.org/csw.html">http://www.ramsoft.bbk.org/csw.html</a></li></ul>
E-mails concerning the CSW specifications should be directed to:
<ul><li><a href="mailto:ramsoft@bbk.org?subject=CSW">ramsoft@bbk.org</a></li></ul>
</td></tr></table></p>
<a name="HISTORY"></a>
<p><table bbgcolor="#ffff90" width="100%" cellspacing="12" cellpadding="0" border="0"><tr>
<td align="center" bgcolor="#ff7848" width="10%"><font size="+2" color="white"><b>
6.
</b></font></td><td><font size="+2">
Revision history
</font></td></tr></table>
<br>
<table width="100%" border="0"><tr><td width="10%"> </td></td><td>
<b>Revision 2.00 (August 1st 2003)</b>
<ul>
<li>Introduced CSW revision 2.00.</li>
<li>Cleared up the document a bit.</li>
</ul>
<b>Revision 1.01 (July 13th 1999)</b>
<ul>
<li>Introduced the polarity bit (b0 in Flags)</li>
</ul>
</td></tr></table></p>
</body>
</html>

43
Docs/FORMATS/fdd.hdr Normal file
View File

@ -0,0 +1,43 @@
.FDD ä ©«ë
----------
/* --------------------------------------*/
/* í¬ã«ïâ®à ®¡à §  ¤¨áª¥âë (image.fdd) */
/* (c) 1996 MOA */
/* ------------------------------------- */
// ¯ à ¬¥âàë "¤¨áª¥âë"
#define versionLength 30
#define TRACKMAX (85*2)
#define SECTMAX 30 // ç¨á«® ᥪâ®à®¢ ­  ¤®à®¦ª¥
/* ä®à¬ â ä ©«  ®¡à §  ¤¨áª  */
/* § £®«®¢®ª */
struct diskHEADER {
char head[versionLength]; /* ᨣ­ âãà  */
byte trkMax; /* ç¨á«® â४®¢, ¢á¥£® ¡¥§ ãç¥â  £®«®¢®ª */
byte headMax; /* ç¨á«® £®«®¢®ª (1 ¨«¨ 2) */
long diskIndex = 0l; /* unused */
long trkIdx[TRACKMAX]; /* ᬥ饭¨¥ ¢ ä ©«¥ ª áâàãªâãà ¬ § £®«®¢ª®¢ */
/* â४®¢ */
};
/* ¬¥á⮯®«®¦¥­¨¥ ®áâ «ì­®© ¨­ä®à¬ æ¨¨ ¢ ä ©«¥ ­¥ 䨪á¨à®¢ ­® */
/* ¨­ä®à¬ æ¨ï ® ¤®à®¦ª¥ */
struct diskTRACK {
byte trkType = 0; /* unused */
byte sectNum; /* ç¨á«® ᥪâ®à®¢ ­  â४¥ */
struct {
/* § £®«®¢®ª ᥪâ®à  */
byte trk; /* ­®¬¥à â४  */
byte side; /* ­®¬¥à áâ®à®­ë */
/* 7 ¡¨â í⮣® ¡ ©â  㪠§ë¢ ¥â ¡¨â a */
byte sect; /* ­®¬¥à ᥪâ®à  */
byte size; /* à §¬¥à ᥪâ®à  (ª®¤) */
long sectPos; /* ᬥ饭¨¥ ¢ ä ©«¥ ª ¤ ­­ë¬ ᥪâ®à  */
} sect[SECTMAX];
};

89
Docs/FORMATS/fdi.hdr Normal file
View File

@ -0,0 +1,89 @@
.FDI ä ©«ë
----------
<20>®áª®«ìªã ¯® àï¤ã ¯à¨ç¨­ áãé¥áâ¢ãî騥 ä®à¬ âë ä ©«®¢-®¡à §®¢ ¤¨áª¥â
­¥ ¯®¤å®¤¨«¨ (®âáãâá⢨¥ ¤®ªã¬¥­â æ¨¨,   £« ¢­®¥ - ­¥¢®§¬®¦­®áâì à áè¨à¥­¨ï
ä®à¬ â  ¤«ï § ¯¨á¨ ¯®«­ëå ®¡à §®¢ â४®¢, ®¡« á⥩ á 䨧¨ç¥áª¨¬¨ ¤¥ä¥ªâ ¬¨
¨ â.¯.), â® ¯à¨è«®áì á®§¤ âì ᢮© ᮡá⢥­­ë© ä®à¬ â. <20>¥ ¬®£ã £ à ­â¨à®¢ âì,
çâ® à áè¨à¥­¨¥ *.FDI ­¥ ¨á¯®«ì§ã¥âáï ¥é¥ ª¥¬-â® ¤«ï ¤àã£¨å æ¥«¥©; ¯®í⮬ã
®£®¢®àîáì, çâ® ¤ ­­®¥ ®¯¨á ­¨¥  ªâã «ì­® ⮫쪮 ¤«ï ä ©«®¢, á®§¤ ¢ ¥¬ëå
¯à®£à ¬¬®© MAKEFDI ¨ ¨á¯®«ì§ã¥¬ëå ¯à®£à ¬¬®© SP_EMU (Spectrum debugger).
------------------------------------------------------------------------------
‘¬¥é¥­¨¥ „«¨­  ¯®«ï ޝ¨á ­¨¥
------------------------------------------------------------------------------
0 3 Š«î祢 ï ¬¥âª  'FDI'
3 1 ”« £ § é¨âë § ¯¨á¨ (0 - write enabled, 1 - write disabled)
4 2 —¨á«® 樫¨­¤à®¢
6 2 —¨á«® ¯®¢¥àå­®á⥩
8 2 ‘¬¥é¥­¨¥ ⥪áâ  (ª®à®âª¨© ª®¬¬¥­â à¨© ª ¤¨áªã)
A 2 ‘¬¥é¥­¨¥ ¤ ­­ëå
2 „«¨­  ¤®¯®«­¨â¥«ì­®© ¨­ä®à¬ æ¨¨ ¢ § £®«®¢ª¥. í⮩ ¢¥àᨨ - 0
E "„«¨­  ¤®¯®«­¨â¥«ì­®© ¨­ä®à¬ æ¨¨"
”®à¬ â ¥é¥ ­¥ ®¯à¥¤¥«¥­ (१¥à¢ ¤«ï ¤ «ì­¥©è¥© ¬®¤¥à­¨§ æ¨¨)
E+"¤«¨­  ¤®¯®«­¨â¥«ì­®© ¨­ä®à¬ æ¨¨"
???
Ž¡« áâì § £®«®¢ª®¢ â४®¢. ‡¤¥áì ᮡ࠭  ¢áï ¨­ä®à¬ æ¨ï ®
ä®à¬ â¥ ¤¨áª¥âë. <20>â  ®¡« áâì ¤®«¦­  ᮤ¥à¦ âì ­¥ ¬¥­ìè¥
"—¨á«® 樫¨­¤à®¢"*"—¨á«® ¯®¢¥àå­®á⥩" § £®«®¢ª®¢. ‡ £®«®¢ª¨
¨¤ãâ ¢ ¯®à浪¥ Cyl 0 Head 0, Cyl 0 Head 1, Cyl 1 Head 0 ¨ â.¤.
”®à¬ â § £®«®¢ª  ®¯¨á ­ ­¨¦¥.
"‘¬¥é¥­¨¥ ⥪áâ "
???
Š®¬¬¥­â à¨© ª ¤¨áªã.Š®­¥æ ª®¬¬¥­â à¨ï - ­ã«¥¢®© ᨬ¢®«.
MAKEFDI ¯à¨ á®§¤ ­¨¨ ­®¢®£® ä ©«  ¯®§¢®«ï¥â ¢¢®¤¨âì ª®¬¬¥­â à¨©
­¥ ¡®«¥¥ 64 ᨬ¢®«®¢ á § ¢¥àè î騬 ­ã«¥¬,­® ¯à¨ à ¡®â¥ á ä ©«®¬
¤«¨­  í⮣® ¯®«ï ¡ã¤¥â ®¯à¥¤¥«ïâìáï ¯® ¯®«®¦¥­¨î § ¢¥àè î饣®
­ã«¥¢®£® ᨬ¢®« 
"‘¬¥é¥­¨¥ ¤ ­­ëå"
???
‡¤¥áì «¥¦ â ᮡá⢥­­® ¤ ­­ë¥ ¨§ ᥪâ®à®¢. ‘ª®«ìª® §¤¥áì ¡ã¤¥â
ᥪâ®à®¢, ¨å ¤«¨­  ¨ ¯®à冷ª á«¥¤®¢ ­¨ï - § ¢¨á¨â ®â ä®à¬ â .
-------------------------------------------------------------------------------
”®à¬ â FDI-ä ©«  ¤®¯ã᪠¥â ¯à®¯ã᪨ ¬¥¦¤ã ®¡« áâﬨ § £®«®¢ª®¢ â४®¢,⥪á⮢ë¬
ª®¬¬¥­â à¨¥¬ ¨ ®¡« áâìî ¤ ­­ëå.
”®à¬ â § £®«®¢ª  â४ 
------------------------------------------------------------------------------
‘¬¥é¥­¨¥ „«¨­  ¯®«ï ޝ¨á ­¨¥
------------------------------------------------------------------------------
0 4 ‘¬¥é¥­¨¥ â४  - ­ ç «® ®¡« á⨠¤ ­­ëå í⮣® â४ 
®â­®á¨â¥«ì­® "‘¬¥é¥­¨ï ¤ ­­ëå"
4 2 ‚ᥣ¤  ᮤ¥à¦¨â 0 (१¥à¢ ¤«ï ¬®¤¥à­¨§ æ¨¨)
6 1 —¨á«® ᥪâ®à®¢ ­  â४¥
7 (—¨á«® ᥪâ®à®¢)*7
ˆ­ä®à¬ æ¨ï ® ᥪâ®à å ­  â४¥. Š ¦¤ë© ᥪâ®à ®¯¨á뢠¥âáï 7
¡ ©â ¬¨. <20>¥à¢ë¥ 4 ¡ ©â  - áâ ­¤ à­ë¥ ¯ à ¬¥âàë C,H,R,N ¨§
 ¤à¥á­®£® ¬ àª¥à . ‘«¥¤ãî騩 ¡ ©â - ä« £¨:
bit 7=0 - ¬ àª¥à ­®à¬ «ì­ëå ¤ ­­ëå, 1 - 㤠«¥­­ëå ¤ ­­ëå;
bit 0-5: ä« £¨ CRC. …¤¨­¨æ  ¢ ®¤­®¬ ¨§ à §à冷¢ ®§­ ç ¥â, çâ®
¯à¨ áç¨â뢠­¨¨ í⮣® ᥪâ®à  ­  ¤«¨­ã 128,256,1024,2048 ¨«¨
4096 ¡ ©â ¯®«ãç ¥âáï ¯à ¢¨«ì­ ï ª®­â஫쭠ï á㬬 . …᫨ ¢® ¢á¥å
à §à鸞å 0 - ᥪâ®à § ¯¨á ­ á ®è¨¡ª®© ª®­â஫쭮© á㬬ë.
bit 6: ¤ ­­®© ¢¥àᨨ ¢á¥£¤  0. ‚®§¬®¦­®, 1 ¢ ¤ ­­®¬ à §à拉
¡ã¤¥â ®¡®§­ ç âì  ¤à¥á­ë© ¬ àª¥à ¡¥§ ®¡« á⨠¤ ­­ëå.
<20>®á«¥¤­¨¥ 2 ¡ ©â  - ᬥ饭¨¥ ¤ ­­ëå í⮣® ᥪâ®à  ®â­®á¨â¥«ì­®
­ ç «  ®¡« á⨠¤ ­­ëå â४ . —â®¡ë ¯®«ãç¨âì  ¡á®«îâ­ë©  ¤à¥á
¢ ä ©«¥, ª í⮬ã ç¨á«ã ­ ¤® ¤®¡ ¢¨âì "‘¬¥é¥­¨¥ ¤ ­­ëå" ¨
"‘¬¥é¥­¨¥ â४ "
------------------------------------------------------------------------------
7*(—¨á«® ᥪâ®à®¢+1) ¤«¨­  § £®«®¢ª  â४ 
‡ ¬¥â¨¬, çâ® ¡ ©â ä« £®¢ ¢ ®¯¨á ­¨¨ ᥪâ®à  ¯®ª  ­¨ª ª ­¥ ¨á¯®«ì§ã¥âáï
í¬ã«ïâ®à®¬.

File diff suppressed because one or more lines are too long

246
Docs/FORMATS/info_guide/888 Normal file
View File

@ -0,0 +1,246 @@
Формат упакованного триколора .888
Файлы данного формата будут генерироваться редактором 8col, на-
чиная с версии v0. Разумеется, поддержка всех старых форматов
останется, как на чтение, так и на запись.
Заголовок отсутствует!
Тело файла содержит данные о содержимом последовательно идущих
знакомест 8x8 (слева направо, сверху вниз, 32 знакоместа по го-
ризонтали и 24 по вертикали). Всего существует 8 цветов - по 2
градации на каждую цветовую составляющую: G, R, B.
В теле файла перемешаны 2 потока: битовый и байтовый, аналогично
формату hrust2.1 (см. AlCoNews#11). Битовый поток является упра-
вляющим, первый байт файла принадлежит ему.
Запись о каждом знакоместе состоит из полей:
3 бита - тип цветности (характеризует количество цветов)
[опционально] - использованные цвета в порядке увеличения часто-
ты (т.е. начиная с самых редких)
[опционально] сколько-то бит или, возможно, 24 байта - пиксе-
льные данные знакоместа в соответствии с его типом.
Типы цветности:
0 - 8-цветное знакоместо, в байтовом потоке лежит 24 байта дан-
ных,по 3 байта (в порядке R, G, B) на каждую пиксельную линию
знакоместа. (Байтовый поток, кроме как здесь, больше нигде не
используется.) Палитра отсутствует.
1 - используется последний использованый не 8-цветный тип цвет-
ности, палитра также берётся старая.
2 - одноцветное знакоместо. В палитре один элемент, указывающий
этот цвет. Элемент палитры занимает 3 бита: G, R, B. Пиксель-
ные данные отсутствуют.
3 - двухцветное знакоместо. В пиксельных данных лежат пиксели
слева направо, сверху вниз, по 1 биту на пиксель. 0 - наибо-
лее частый пиксель (последний элемент палитры), 1 - наиболее
редкий пиксель (первый элемент палитры).
4 - трёхцветное знакоместо. Цвета пикселей кодируются: 0, 10, 11
(в порядке убывания частоты, т.е. в порядке убывания номера в
палитре).
5 - четырёхцветное знакоместо. Цвета пикселей кодируются: 00,
01, 10, 11 (в порядке убывания частоты).
6 - пятицветное знакоместо. Цвета пикселей кодируются: 00, 01,
10, 110, 111 (в порядке убывания частоты).
7 - шестицветное знакоместо. Цвета пикселей кодируются: 00, 01,
100, 101, 110, 111 (в порядке убывания частоты).
Степень сжатия среднестатистической триколорины несколько силь-
нее, чем у hrust2.1, при этом скорость сжатия многократно выше.
Распаковщик:
;палитра не запоминается, если
;8 цветов ИЛИ используется старая палитра
;ЦВЕТА В ОБРАТНОМ ПОРЯДКЕ:начиная с редких
FROM=#D000
TO=#8000
ORG #6000
TCOL_S ;DS 6
GO
LD HL,FROM
LD C,128
EXX
LD HL,TO
LD DE,125
LD C,1
DEP EXX
CALL DEP3
CALL NZ,oldcl
JR NZ,COLQQ
LD B,8
COL80 LD E,(HL) ;R
INC HL
LD D,(HL) ;G
INC HL
;(DE)=%0GRB0grb
DUP 4
XOR A
RL D
RLA
RL E
RLA
RLC (HL)
RLA
ADD A,A
RL D
RLA
RL E
RLA
RLC (HL)
RLA
EXX
LD (HL),A
INC L
EXX
EDUP
ORG $-2
ADD HL,DE
EXX
INC HL
DJNZ COL80
COLQQ EXX
LD A,H
INC L,L,L,L
JP PE,$+6
SUB 4
LD H,A
RES 7,L
CP 'TO+96
JP C,DEP
CHL LD C,(HL)
INC HL
RL C
RET
oldcl LD D,'TCOL_S
DEC A
JR Z,COLOLD
LD LX,A
LD E,A
DEPTAB CALL DEP3
DEC E
LD (DE),A
JR NZ,DEPTAB
COLOLD LD A,LX
LD B,64
CP 4
JR NC,COL45O
DEC A
JR Z,COL1
DEC A
JR Z,COL2
;2=11
;1=10
;0=0
COL3
LD A,#80
CALL DEPCOL0
JR Z,COL3N1
SLA C
CALL Z,CHL
RLA
DEC A
COL3N1 CALL PUTCOL
DJNZ COL3
RET
;1=1
;0=0
COL2
LD A,#80
CALL DEPCOL0
CALL PUTCOL
DJNZ COL2
RET
COL45O
JR Z,COL4
RRA
JR C,COL5
;5=111
;4=110
;3=101
;2=100
;1=01
;0=00
COL6 LD A,#40
CALL DEPCOL0
CP 2
JR C,COL6N1
DEC A
SLA C
CALL Z,CHL
RLA
COL6N1 CALL PUTCOL
DJNZ COL6
RET
;4=111
;3=110
;2=10
;1=01
;0=00
COL5 LD A,#40
CALL DEPCOL0
CP 3
JR C,COL5N1
SLA C
CALL Z,CHL
RLA
SUB 3
COL5N1 CALL PUTCOL
DJNZ COL5
RET
;3=11
;2=10
;1=01
;0=00
COL4
LD A,#40
CALL DEPCOL0
CALL PUTCOL
DJNZ COL4
RET
COL1
LD A,(DE)
LD D,A
RLCA
RLCA
RLCA
RLCA
OR D
EXX
LD B,8
COL10 LD (HL),A
INC L
LD (HL),A
INC L
LD (HL),A
INC L
LD (HL),A
ADD HL,DE
DJNZ COL10
EXX
RET
PUTCOL LD E,A
LD A,(DE)
EXX
RLD
LD A,C
AND #2A
JR Z,$+3
INC L
RLC C
JR NC,$+3
ADD HL,DE
EXX
RET
DEP3
LD A,#20
DEPCOL0 SLA C
CALL Z,CHL
ADC A,A
JR NC,DEPCOL0
RET

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
Ž¯â¨¬ «ì­ë© LZH From : hrumer@gorny.ru  >>ˆ£®àì <20> ¢«®¢ ¢¥¤ñ⠯஥ªâ 7-zip, ®â ­¥£® ¢ ª®­ä¥à¥­æ¨¨ ï >>ã§­ « ¯à®  «£®à¨â¬ optimal lzh - ª®£¤  ¢ë¡¨à ¥âáï >>¤¥©á⢨⥫쭮 ®¯â¨¬ «ì­ë© ᯮᮡ ¯®¤¡®à  áâப ¯à¨ 㦥 >>áãé¥áâ¢ãî饬 ¤¥à¥¢¥ ª®¤®¢ ¤«¨­ ¨ à ááâ®ï­¨©. DB>•€—“íâ®â  «£®à¨â¬. „¥à¦¨! <0A>â®â  «£®à¨â¬ ॠ«ì­® ­ã¦¥­ ª ¦¤®¬ã ¯ ª¥àã ­  ᯥªâà㬥. Ÿ ¤®«- ¦¥­ ¡ë« ¥£® ॠ«¨§®¢ âì ¤«ï ¢á¥å åà㬮¢,åàãá⮢ ¨ « §¥àª®¬¯ ªâ®¢ âà¨-ç¥âëॠ£®¤  ­ § ¤. €©ï©ï© ¢ ®¡é¥¬. „«ï "­ ¬¥à⢮" § è¨âëå ª®¤®¢, ª ª í⮠ᤥ« ­® ¢ ¡®«ì設á⢥ ¯ ª¥à®¢ ­  ᯥª¥, íâ®â  «£®à¨â¬ ¯à¨­¥áñâ ®ª®«®, ¡®îáì ᪠§ âì,2-20%.<08>  ¯ ª¥à å ⨯  RIP¤® ¯à¨¬¥à­®1-10%.<08>â® ­ ¢áª¨¤ªã. Š®­¥ç­®, ¯ ¬ï⨠¬­®£® ­ ¤® ­  ¯ ª®¢ªã, â®à¬®§¨âì ¡ã¤¥â á¥àìñ§­®, ­® ¥áâì à §«¨ç­ë¥ ¢ à¨ ­âë - ­  ªã᪨ ª ª®© ¤«¨­ë à §¡¨âì ä ©« ¨ ¯à®ç¥¥.„  å®âì ­  PC ¬®¦­® ¯ ª®¢ âì. --------åàã¬-------- ˆ£®àì <20> ¢«®¢ ¯¨á « ¢ RU.COMPRESS ¢ 1999 £®¤ã. €«£®à¨â¬ ®¯â¨¬ «ì­®£® Lempel-Ziv-Huffman ª®¤¨à®¢ ­¨ï ---------------------------------------------------- 1) <0A>®¨áª ᮢ¯ ¤¥­¨© ¢ á«®¢ àî ®áãé¥á⢫ï¥âáï ¤«ï ª ¦¤®£® ᬥ饭¨ï. <0A>ਠ¯®¨áª¥ ¤®¯®«­¨â¥«ì­® ᮡ¨à ¥¬ ¨­ä®à¬ æ¨î ®¡ ®¯â¨¬ «ì­ëå (¯® à ááâ®ï­¨î) ᮢ¯ ¤¥­¨ïå á ¤«¨­ ¬¨ ®â2¤® ¤«¨­ë ¬ ªá¨¬ «ì­®£® ᮢ¯ ¤¥­¨ï. Offsets[] = Get_Longest_And_Other_Good_Matches(); // Offsets.Size = length of longest match. // Offsets[i] = back offset in dictionary for match with len=i. BYTE Get_Current_Literal(); // returns current byte 2) ‚ᥣ¤  ¬®¦¥¬ ¯®áç¨â âì, ᪮«ìª® ¯à¥¤¯®«®¦¨â¥«ì­® ¡¨â § ©¬ñâ «î¡®© ¢ à¨ ­â (match/literal) ­  ®á­®¢¥ ¨­ä®à¬ æ¨¨ ® ¯à¥¤ë¤ãé¨å huffman ¡«®ª å: int Get_Match_Huffman_Price(int Length, int Offset); // Length = length of match // Offset = offset of match; // Result = number of bits for coding this match; int Get_Literal_Huffman_Price(BYTE Literal); // Result = number of bits for coding this Literal; 3) Câந¬ ®¯â¨¬ «ì­ãî ¯®á«¥¤®¢ â¥«ì­®áâì ª®¤®¢ ­  ¬­®£® 室®¢ ¢¯¥àñ¤. …áâì ¡®«ì让 ¬ áᨢ a[]: a[i] = {  int Price;// –¥­  ¯ã⨠¢ ¡¨â å,çâ®¡ë ¤®¡à âìáï ¤® i-£® ¡ ©â .  struct  {  int Prev;// <20>®§¨æ¨ï,®âªã¤  ¬ë ¯à룠¥¬ ¢ ⥪ãéãî(=i) ¯®§¨æ¨î  // ¤«ï Literal: Prev = i - 1  // ¤«ï Match'  á ¤«¨­®© Length: Prev = i - Length  int Offset;// ‘¬¥é. ¢ ¡ãä¥à¥(á«®¢ à¥)­ § ¤ ¢ á«ãç ¥ Œatch'   // ¤«ï § ¯¨á¨ Œatch'  ®â Prev ¤® i  } } a) „«ï ¢á¥å í«¥¬¥­â®¢ a[] ãáâ ­ ¢«¨¢ ¥¬ Price = ¡¥áª®­¥ç­®áâì. b) for(int i=0; i < Big_Value; i++) {  // ‘ãé¥áâ¢ãîâ ­¥ª®â®àë¥ ãá«®¢¨ï ¤®áà®ç­®£® ¢ëå. ¨§ í⮣® 横«   // <20>®«ãç ¥¬ ¬ áᨢ Offsets[2..Longest_match_length] ᬥ饭¨© ¢  // ¡ãä¥à¥ (á«®¢ à¥) ­ § ¤, ᬮâਠ1).  Offsets[] = Get_Longest_And_Other_Good_Matches();  for(int Len = 1; Len < Offsets[].Length; Len++)  // Len=1 means Literal  {  // Ž¯à¥¤¥«ï¥¬ 業㠢 ¡¨â å à áᬠâਢ ¥¬®£® "¯à릪 " ­  Len  // ᨬ¢®«®¢ ¢¯¥àñ¤  if (Len == 1) // it's a literal  aPrice = Get_Literal_Huffman_Price(Get_Current_Literal());  else  aPrice = Get_Match_Huffman_Price(Len, Offsets[Len]);  // ¨ ¢ëç¨á«ï¥¬ 業㠭®¢®£® ª ­¤¨¤ â  ¢ a[i + Len].  aNewPrice = a[i].Price + aPrice;  if (aNewPrice < a[i + Len].Price )  // …᫨ ¢ë£®¤­® áâ àë© ¯ãâì (áâ à ï 業  ¬®¦¥â ¡ëâì ¤ ¦¥  // à ¢­  ¡¥áª®­¥ç­®áâ¨,â.¥.¢®®¡é¥ ¥éñ ­¥â ¯ãâ¨) § ¬¥­¨âì  // ­®¢ë¬, â® ¬¥­ï¥¬ a[i + Len], çâ®¡ë ®­ 㪠§ë¢ « ­  i  {  a[i + Len].Price = aNewPrice;  a[i + Len].Prev = i;  a[i + Len].Offset = Offsets[Len];  }  } } c) „¢¨£ ïáì ¯® a[] ®â ª®­æ , ᮡ¨à ¥¬ "®¯â¨¬ «ì­ë¥" match/literal ¯®á«¥¤®¢ â¥«ì­®á⨠¨ ª®¤¨à㥬 ¨å. End. --------åàã¬-------- >> ®¡é¥¬, ¬®¥ ®â­®è¥­¨¥ ᬮâਠ¢ëè¥, ­® ¢®â ¥áâì ¦¥ ¤à㣠ï >>¨­â¥à¥á­ ï ¢¥éì - ¯à®áâ® ¯®¤¤¥à¦ âì à á¯ ª®¢ªãLZMA­  >>ᯥªâà㬥. <20>à ¢¤ , ¬­¥ ª ¦¥âáï, ¡ã¤¥â ­¥ã¤®¡­® ¨á¯®«ì§®¢ âì >>à á¯ ª®¢é¨ªLZMA¤«ï ¯à®£à ¬¬ ­  ᯥªâà㬥. DB><04>® ¬®¦­® ¯à¨¬¥­¨âì ¤«ï ¦ãà­ «®¢ ¨«¨ ¡®«ìè¨å á¯à ¢®ç­¨ª®¢. DB><04> ¯à¨¬¥à,Open Letters­  ®¤­®¬ ¤¨áª¥ ;) >>PS. <20>¥à¥ç¨â « ⢮ñ ¯¨á쬮 ¨ ¯®­ï«, çâ® ¨á室­¨ª¨ ⥡¥ >>¯à¨á« «¨... DB>’ ¬ ¡¥§ ¯®««¨âàë ­¥ ¢ê¥¤¥èì -1021ä ©«,3.4¬¥£ ¡ ©â  DB>¨á室­¨ª®¢. Œãá®àª . <0A>ã, ¯®««¨âà  ­¥ ¯à®¡«¥¬  :). ’ ¬ ¨ á ¯®««¨âன ­¥ ¢ê¥¤¥èì. ’ë ­¥ ¯à®¡®¢ « ¨§ãç¨âì ¯à®áâ® ¤¥ª®¤¥à, â®â, ª®â®àë© ¢ ä ©«¥ \SRC\7zip\Compress\LZMA_C\lzmadecode.c,â ¬ ¢á¥£®23ª¡ :).

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,550 @@
...á í⮣® ¬¥áâ  Alone Coder ¯¥à¥á¥« § 
¯¥­â £®­ ¨ ¯à®¤®«¦¨« ­ ¡¨à âì áâ âì¨ ­ 
­ñ¬. <20>¥á¬®âàï ­  ᮯà®â¨¢«ïîéãîáï ª« ¢¨ -
âãàã, íâ® ®ª § «®áì 㤮¡­¥¥ :)
 ”®à¬ â RAR 2.x.
Œ­¥ ®ç¥­ì ¯®­à ¢¨«áï íâ®â ä®à¬ â á â®çª¨
§à¥­¨ï ¡ëáâà®âë à á¯ ª®¢é¨ª , ᮮ⭥áñ­­®©
á ª ç¥á⢮¬ ᦠâ¨ï, ¯®í⮬ã ï à¥è¨« ¢ ¬ ®
­ñ¬ à á᪠§ âì.
„«ï ­ ç «  ¯à¨¢¥¤ã ä¨à¬¥­­ãî â¥å­¨ç¥áªãî
¨­ä®à¬ æ¨î,çâ®¡ë ¡ë«® ­¥¬­®£® ¯®­ïâ­®, çâ®
¨ £¤¥ ¢ ä ©«¥ «¥¦¨â :)
---------begin of techinfo.txt----------
’¥å­¨ç¥áª ï ¨­ä®à¬ æ¨ï ¯® RAR ¢¥àᨨ 2.70
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Ž<>ˆ€…Œ‰ ”Ž<E2809D>Œ€<>ˆ€ „…‰ˆ<E280B9>
 ’Ž‹œŠŽ „‹Ÿ RAR <E2809A>ˆˆ 1.50 ˆ <E28099>˜
==========================================
 ”®à¬ â  à娢­®£® ä ©«  RAR
==========================================
” ©«  à娢  á®á⮨⠨§ ¡«®ª®¢ à §­®© ¤«¨-
­ë. <20>®à冷ª á«¥¤®¢ ­¨ï íâ¨å ¡«®ª®¢ ¬®¦¥â
¬¥­ïâìáï, ­® ¯¥à¢ë¬ ¡«®ª®¬ ¢á¥£¤  ¤®«¦¥­
¡ëâì ¡«®ª-¬ àª¥à, §  ª®â®àë¬ á«¥¤ã¥â ¡«®ª
§ £®«®¢ª   à娢 .
Š ¦¤ë© ¡«®ª ­ ç¨­ ¥âáï á® á«¥¤ãîé¨å ¯®«¥©:
HEAD_CRC  2 ¡ ©â  CRC ¢á¥£® ¡«®ª 
 ¨«¨ ¥£® ç áâ¨
HEAD_TYPE  1 ¡ ©â ’¨¯ ¡«®ª 
HEAD_FLAGS  2 ¡ ©â  ”« £¨ ¡«®ª 
HEAD_SIZE  2 ¡ ©â  <04> §¬¥à ¡«®ª 
ADD_SIZE  4 ¡ ©â  <04>¥®¡ï§ â¥«ì­®¥
¯®«¥:¤®¡ ¢«¥­¨¥
ª à §¬¥àã ¡«®ª 
<EFBFBD>®«¥ ADD_SIZE ¯à¨áãâáâ¢ã¥â, ⮫쪮 ¥á«¨
(HEAD_FLAGS & 0x8000) != 0
ޡ鍩 à §¬¥à ¡«®ª  㪠§ ­ ¢ ¯®«¥ HEAD_SIZE
- ¥á«¨ (HEAD_FLAGS & 0x8000) == 0,- ¨«¨
HEAD_SIZE+ADD_SIZE,¥á«¨ ¥áâì ¯®«¥ ADD_SIZE
- ¯à¨ í⮬ (HEAD_FLAGS & 0x8000) != 0.
‚® ¢á¥å ¡«®ª å á«¥¤ãî騥 ¡¨âë ¢ HEAD_FLAGS
¨¬¥îâ ®¤¨­ ª®¢®¥ §­ ç¥­¨¥:
0x4000 -¥á«¨ ãáâ ­®¢«¥­, â® áâ àë¥ ¢¥àᨨ
RAR ¡ã¤ãâ ¨£­®à¨à®¢ âì íâ®â ¡«®ª
¨ 㤠«ïâì ¥£® ¯à¨ ¨§¬¥­¥­¨¨  àå¨-
¢ ;
¥á«¨ ­¥ ãáâ ­®¢«¥­, â® ¡«®ª ª®¯¨-
àã¥âáï ¢ ­®¢ë©  à娢­ë© ä ©« ¯à¨
¨§¬¥­¥­¨¨  à娢 ;
0x8000 -¥á«¨ ãáâ ­®¢«¥­, â® ¯à¨áãâáâ¢ã¥â
¯®«¥ ADD_SIZE,
¨ à §¬¥à ¯®«­®£® ¡«®ª  á®áâ ¢«ï¥â
HEAD_SIZE+ADD_SIZE.
‡ ï¢«¥­­ë¥ â¨¯ë ¡«®ª®¢:
HEAD_TYPE=0x72 ¡«®ª-¬ àª¥à
HEAD_TYPE=0x73 § £®«®¢®ª  à娢 
HEAD_TYPE=0x74 § £®«®¢®ª ä ©« 
HEAD_TYPE=0x75 § £®«®¢®ª ª®¬¬¥­â à¨ï
HEAD_TYPE=0x76 í«¥ªâà®­­ ï ¯®¤¯¨áì
 áâ à®£® ⨯ 
HEAD_TYPE=0x77 áã¡¡«®ª
HEAD_TYPE=0x78 ¨­ä®à¬ æ¨ï ¤«ï
 ¢®ááâ ­®¢«¥­¨ï
HEAD_TYPE=0x79 í«¥ªâà®­­ ï ¯®¤¯¨áì
<EFBFBD>«®ª ª®¬¬¥­â à¨ï ¨á¯®«ì§ã¥âáï ⮫쪮 ¢­ãâ-
ਠ¤àã£¨å ¡«®ª®¢.
Ž¡à ¡®âª   à娢  ¯à®¨á室¨â á«¥¤ãî騬 ®¡-
à §®¬:
1.—¨â ¥âáï ¨ ¯à®¢¥àï¥âáï ¡«®ª-¬ àª¥à
2.—¨â ¥âáï § £®«®¢®ª  à娢 
3.—¨â îâáï ¨«¨ ¯à®¯ã᪠îâáï HEAD_SIZE-à -
§¬¥à(MAIN_HEAD) ¡ ©â
4.…᫨ ®¡­ à㦥­ ª®­¥æ  à娢 , â® ®¡à ¡®-
⪠  à娢  ¯à¥ªà é ¥âáï, ¨­ ç¥ ç¨â îâáï 7
¡ ©â ¢ ¯®«ïå:
HEAD_CRC,HEAD_TYPE,HEAD_FLAGS,HEAD_SIZE.
5.<04>஢¥àï¥âáï HEAD_TYPE.
ɇǬ HEAD_TYPE==0x74
 ¯à®ç¨â âì § £®«®¢®ª ä ©«  (¯¥à¢ë¥ 7 ¡ ©â
 㦥 ¯à®ç¨â ­ë)
 ¯à®ç¨â âì ¨«¨ ¯à®¯ãáâ¨âì HEAD_SIZE-à §-
 ¬¥à(FILE_HEAD) ¡ ©â
 ¯à®ç¨â âì ¨«¨ ¯à®¯ãáâ¨âì FILE_SIZE ¡ ©â
¨­ ç¥
¯à®ç¨â âì ᮮ⢥âáâ¢ãî騩 ¡«®ª HEAD_TYPE:
 ¯à®ç¨â âì HEAD_SIZE-7 ¡ ©â
 ¥á«¨ (HEAD_FLAGS & 0x8000)
 ¯à®ç¨â âì ADD_SIZE ¡ ©â
6.<04>¥à¥©â¨ ª è £ã4.
==========================================
 ”®à¬ âë ¡«®ª®¢
==========================================
<EFBFBD>«®ª-¬ àª¥à (MARK_HEAD)
~~~~~~~~~~~~~~~~~~~~~~~
HEAD_CRC ‚ᥣ¤  0x6152
2 ¡ ©â 
HEAD_TYPE ’¨¯ § £®«®¢ª : 0x72
1 ¡ ©â
HEAD_FLAGS ‚ᥣ¤  0x1a21
2 ¡ ©â 
HEAD_SIZE <04> §¬¥à ¡«®ª  = 0x0007
2 ¡ ©â 
<EFBFBD>«®ª-¬ àª¥à ¢ ¤¥©á⢨⥫쭮á⨠áç¨â ¥âáï
䨪á¨à®¢ ­­®© ¯®á«¥¤®¢ â¥«ì­®áâìî ¡ ©â:
0x52 0x61 0x72 0x21 0x1a 0x07 0x00
(¯à¨¬.AlCo:㤠筮 ¯®¤®¡à ­ CRC!!! ‚ë室¨â
«î¡®¯ëâ­ ï ¯®á«¥¤®¢ â¥«ì­®áâì:"Rar!",Esc,
Bell¨Nul,㤮¡­ ï ¨ ¤«ï ¢¨§ã «ì­®£® ®¯®-
§­ ¢ ­¨ï, ¨ ¤«ï ¯à®¢¥àª¨ ª ­ «  ¯¥à¥¤ ç¨
¤ ­­ëå ­  ¢è¨¢®áâì.)
(¯à¨¬. Shaitan: ᮡá⢥­­® à §à ¡®â-
稪, …¢£¥­¨© <20>®è «, ¤ ­®£® ä®à¬ â  ¯¥à¢®-
­ ç «ì­® ¨ ¤®¡¨¢ «áï ¢¨§ã «ì­®£® ®¯à¥¤¥«¥-
­¨  à娢 . <20>ਬ¥à­® â ª ï ¦¥ ¨áâ®à¨ï ¨ á
¤à㣨¬¨ ä®à¬ â ¬¨  à娢®¢, ¨ ¢®®¡é¥, ­ «¨-
稥 ­¥¯®¢â®à¨¬®© ¨ ¢¨§ã «ì­®© ᨣ­ âãàë ¢
à §­®£® த  ä ©« å 㦥 áâ «® ¯à ¢¨«®¬ å®-
à®è¥£® â®­ )
‡ £®«®¢®ª  à娢  (MAIN_HEAD)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HEAD_CRC  CRC ¯®«¥© ®â HEAD_TYPE ¤®
2 ¡ ©â   RESERVED2
HEAD_TYPE  ’¨¯ § £®«®¢ª : 0x73
1 ¡ ©â
HEAD_FLAGS  <20>¨â®¢ë¥ ä« £¨:
2 ¡ ©â 
 0x01 -€âਡãâ ⮬  (⮬
¬­®£®â®¬­®£®  à娢 )
 0x02 -…áâì  à娢­ë© ª®¬¬¥­-
â à¨©
 0x04 -€âਡãâ ¡«®ª¨à®¢ª¨
 à娢 
 0x08 -€âਡãâ ­¥¯à¥à뢭®£®
(solid)  à娢 
 0x10 -<04>¥ ¨á¯®«ì§ã¥âáï
 0x20 -…áâì ¨­ä®à¬ æ¨ï ®¡
 ¢â®à¥ ¨«¨ í«¥ªâà®­­ ï
¯®¤¯¨áì (AV)
 ®áâ «ì­ë¥ ¡¨âë ¢ HEAD_FLAGS § à¥§¥à¢¨-
 ஢ ­ë ¤«ï ¢­ãâ७­¥£® ¨á¯®«ì§®¢ ­¨ï.
HEAD_SIZE ޡ鍩 à §¬¥à  à娢­®£®
2 ¡ ©â  § £®«®¢ª ,¢ª«îç ï  à娢­ë¥
ª®¬¬¥­â à¨¨
RESERVED1 ‡ à¥§¥à¢¨à®¢ ­®
2 ¡ ©â 
RESERVED2 ‡ à¥§¥à¢¨à®¢ ­®
4 ¡ ©â 
<EFBFBD>«®ª ª®¬¬¥­â à¨ï
¯à¨áãâáâ¢ã¥â, ¥á«¨ (HEAD_FLAGS & 0x02)!=0
‡ £®«®¢®ª ä ©«  (ä ©« ¢  à娢¥)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HEAD_CRC CRC ¯®«¥© ®â HEAD_TYPE ¤®
2 ¡ ©â  FILEATTR ¨ ¨¬¥­¨ ä ©« 
HEAD_TYPE ’¨¯ § £®«®¢ª : 0x74
1 ¡ ©â
HEAD_FLAGS <04>¨â®¢ë¥ ä« £¨:
2 ¡ ©â 
 0x01 -ä ©« ¯à®¤®«¦ ¥âáï ¨§
¯à¥¤ë¤ã饣® ⮬ 
 0x02 -ä ©« ¯à®¤®«¦ ¥âáï ¢
á«¥¤ãî饬 ⮬¥
 0x04 -ä ©« § è¨ä஢ ­ ¯ à®«¥¬
 0x08 -¥áâì ª®¬¬¥­â à¨© ä ©« 
 0x10 -¨á¯®«ì§ã¥âáï ¨­ä®à¬ æ¨ï
¨§ ¯à¥¤ë¤ãé¨å ä ©«®¢
(ä« £ ­¥¯à¥à뢭®áâ¨)
(¤«ï RAR 2.0 ¨ ¢ëè¥)
 ¡¨âë 7 6 5(¤«ï RAR 2.0 ¨ ¢ëè¥)
 0 0 0 -à §¬¥à á«®¢ àï 64 Š¡
 0 0 1 -à §¬¥à á«®¢ àï 128 Š¡
 0 1 0 -à §¬¥à á«®¢ àï 256 Š¡
 0 1 1 -à §¬¥à á«®¢ àï 512 Š¡
 1 0 0 -à §¬¥à á«®¢ àï 1024Š¡
 1 0 1 -§ à¥§¥à¢¨à®¢ ­®
 1 1 0 -§ à¥§¥à¢¨à®¢ ­®
 1 1 1 -file is directory
 0x100 -¥áâì ¯®«ï
HIGH_PACK_SIZE ¨
HIGH_UNP_SIZE. <20>⨠¯®«ï
¨á¯®«ì§ãîâáï ⮫쪮 ¤«ï
 à娢¨à®¢ ­¨ï ®ç¥­ì ¡®-
«ìè¨å ä ©«®¢ (¡®«ìè¥ 2
ƒ¡), ¤«ï ¬¥­ìè¨å ä ©«®¢
í⨠¯®«ï ®âáãâáâ¢ãîâ.
 0x8000 -íâ®â ¡¨â ¢á¥£¤  ãáâ ­®-
¢«¥­,â ª ª ª ®¡é¨© à §-
¬¥à ¡«®ª  HEAD_SIZE +
+ PACK_SIZE (¨ ¯«îá
HIGH_PACK_SIZE, ¥á«¨
ãáâ ­®¢«¥­ ¡¨â 0x100)
HEAD_SIZE <04>®«­ë© à §¬¥à § £®«®¢ª 
2 ¡ ©â  ä ©« , ¢ª«îç ï ¨¬ï ä ©«  ¨
ª®¬¬¥­â à¨¨
PACK_SIZE <04> §¬¥à ä ©«  ¢  à娢¥
4 ¡ ©â  (ᦠâë©)
UNP_SIZE <04> §¬¥à ¨á室­®£® ä ©« 
4 ¡ ©â  (­¥á¦ âë©)
HOST_OS ˆá¯®«ì§®¢ ­­ ï ¯à¨  à娢¨à®-
1 ¡ ©â ¢ ­¨¨ ®¯¥à æ¨®­­ ï á¨á⥬ :
 0 -MS-DOS
 1 -OS/2
 2 -Win32
 3 -Unix
 4 -Mac OS
 5 -BeOS
FILE_CRC CRC ä ©« 
4 ¡ ©â 
FTIME „ â  ¨ ¢à¥¬ï ¢ áâ ­¤ àâ­®¬
4 ¡ ©â  ä®à¬ â¥ MS-DOS
UNP_VER ‚¥àá¨ï RAR,­¥®¡å®¤¨¬ ï ¤«ï
1 ¡ ©â ¨§¢«¥ç¥­¨ï ä ©« 
METHOD Œ¥â®¤ ᦠâ¨ï
1 ¡ ©â
NAME_SIZE <04> §¬¥à ¨¬¥­¨ ä ©« 
2 ¡ ©â 
ATTR €âਡãâë ä ©« 
4 ¡ ©â 
HIGH_PACK_SIZE ‘â à訥 4 ¡ ©â  64-¡¨â­®£®
4 ¡ ©â  à §¬¥à  ᦠ⮣® ä ©« .
<04>¥®¡ï§ â¥«ì­®¥ §­ ç¥­¨¥,
ª®â®à®¥ ¯à¨áãâáâ¢ã¥â,
⮫쪮 ¥á«¨ ¡¨â 0x100 ¢
HEAD_FLAGS ãáâ ­®¢«¥­.
HIGH_UNP_SIZE ‘â à訥 4 ¡ ©â  64-¡¨â­®£®
4 ¡ ©â  à §¬¥à  ­¥á¦ â®£® ä ©« .
<04>¥®¡ï§ â¥«ì­®¥ §­ ç¥­¨¥,
ª®â®à®¥ ¯à¨áãâáâ¢ã¥â,
⮫쪮 ¥á«¨ ¡¨â 0x100 ¢
HEAD_FLAGS ãáâ ­®¢«¥­.
FILE_NAME ˆ¬ï ä ©«  - áâப 
à §¬¥à®¬ NAME_SIZE ¡ ©â
<EFBFBD>«®ª ª®¬¬¥­â à¨ï
¯à¨áãâáâ¢ã¥â, ¥á«¨ (HEAD_FLAGS & 0x08)!=0
<EFBFBD>«®ª ª®¬¬¥­â à¨ï
~~~~~~~~~~~~~~~~
HEAD_CRC CRC ¯®«¥© ®â HEAD_TYPE ¤®
2 ¡ ©â  COMM_CRC
HEAD_TYPE ’¨¯ § £®«®¢ª : 0x75
1 ¡ ©â
HEAD_FLAGS <04>¨â®¢ë¥ ä« £¨
2 ¡ ©â 
HEAD_SIZE <04> §¬¥à § £®«®¢ª  ª®¬¬¥­â -
2 ¡ ©â  à¨ï + à §¬¥à ª®¬¬¥­â à¨ï
UNP_SIZE <04> §¬¥à ­¥á¦ â®£® ª®¬¬¥­â -
2 ¡ ©â  à¨ï
UNP_VER ‚¥àá¨ï RAR,­¥®¡å®¤¨¬ ï ¤«ï
1 ¡ ©â ¨§¢«¥ç¥­¨ï ª®¬¬¥­â à¨ï
METHOD Œ¥â®¤ ᦠâ¨ï
1 ¡ ©â
COMM_CRC CRC ª®¬¬¥­â à¨ï
2 ¡ ©â 
COMMENT ’¥ªáâ ª®¬¬¥­â à¨ï
<EFBFBD>«®ª ¤®¯®«­¨â¥«ì­®© ¨­ä®à¬ æ¨¨
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HEAD_CRC CRC ¡«®ª 
2 ¡ ©â 
HEAD_TYPE ’¨¯ § £®«®¢ª : 0x76
1 ¡ ©â
HEAD_FLAGS <04>¨â®¢ë¥ ä« £¨
2 ¡ ©â 
HEAD_SIZE ޡ鍩 à §¬¥à ¡«®ª 
2 ¡ ©â 
INFO <04>à®ç¨¥ ¤ ­­ë¥
‘ã¡¡«®ª
~~~~~~~
Ž¡ê¥ªâ ¢  à娢¥ (¡«®ª ¨«¨ § £®«®¢®ª) ¬®¦¥â
ᮯ஢®¦¤ âìáï áã¡¡«®ª®¬. ‘ã¡¡«®ª § ¢¨á¨â
®â ®á­®¢­®£® ®¡ê¥ªâ . ‘ã¡¡«®ª ¬®¦¥â ¡ëâì
㤠«¥­ ¨«¨ ¯¥à¥¬¥é¥­ ¢ ­®¢®© ¢¥àᨨ  à娢 
¯à¨ ¥£® ®¡­®¢«¥­¨¨.
‘ã¡¡«®ª ᮤ¥à¦¨â á«¥¤ãî騥 ¯®«ï:
HEAD_CRC CRC ¡«®ª 
2 ¡ ©â 
HEAD_TYPE ’¨¯ § £®«®¢ª : 0x77
1 ¡ ©â
HEAD_FLAGS <04>¨â®¢ë¥ ä« £¨
2 ¡ ©â  (HEAD_FLAGS & 0x8000)==1,
â ª ª ª ¯®«­ë© à §¬¥à
¡«®ª  á®áâ ¢«ï¥â
HEAD_SIZE + DATA_SIZE
HEAD_SIZE ޡ鍩 à §¬¥à ¡«®ª 
2 ¡ ©â 
DATA_SIZE ޡ鍩 à §¬¥à ¤ ­­ëå
4 ¡ ©â 
SUB_TYPE ’¨¯ áã¡¡«®ª 
2 ¡ ©â 
RESERVED „®«¦­® ¡ëâì 0
1 ¡ ©â
„à㣨¥ ¯®«ï „à㣨¥ ¯®«ï ¢ § ¢¨á¨¬®áâ¨
®â ⨯  áã¡¡«®ª 
‘ã¡¡«®ª à áè¨à¥­­ëå  âਡã⮢ OS/2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HEAD_CRC CRC ¡«®ª 
2 ¡ ©â 
HEAD_TYPE ’¨¯ § £®«®¢ª : 0x77
1 ¡ ©â
HEAD_FLAGS <04>¨â®¢ë¥ ä« £¨
2 ¡ ©â  (HEAD_FLAGS & 0x8000)==1,
â ª ª ª ¯®«­ë©
à §¬¥à ¡«®ª  á®áâ ¢«ï¥â
HEAD_SIZE + DATA_SIZE
HEAD_SIZE ޡ鍩 à §¬¥à ¡«®ª 
2 ¡ ©â 
DATA_SIZE ޡ鍩 à §¬¥à ¤ ­­ëå
4 ¡ ©â  (ᦠâë© à §¬¥à à áè¨à¥­­ëå
 âਡã⮢)
SUB_TYPE 0x100
2 ¡ ©â 
RESERVED „®«¦­® ¡ëâì 0
1 ¡ ©â
UNP_SIZE <04> §¬¥à ­¥á¦ âëå
4 ¡ ©â  à áè¨à¥­­ëå  âਡã⮢
UNP_VER ‚¥àá¨ï RAR,­¥®¡å®¤¨¬ ï ¤«ï
1 ¡ ©â ¨§¢«¥ç¥­¨ï à áè¨à¥­­ëå
 âਡã⮢
METHOD Œ¥â®¤ ᦠâ¨ï
1 ¡ ©â
EA_CRC CRC à áè¨à¥­­ëå  âਡã⮢
4 ¡ ©â 
==========================================
 <20>ਬ¥ç ­¨ï
==========================================
1.„«ï ®¡à ¡®âª¨ SFX- à娢  ­ã¦­® ¯à®¯ãá-
â¨âì ¬®¤ã«ì SFX, ¤«ï 祣® ¢  à娢¥ ®áãé¥-
á⢫ï¥âáï ¯®¨áª ¡«®ª -¬ àª¥à . á ¬®¬ SFX
¬®¤ã«¥ ®âáãâáâ¢ã¥â ¯®á«¥¤®¢ â¥«ì­®áâì ¡ -
©â®¢ ¡«®ª -¬ àª¥à 
(0x52 0x61 0x72 0x21 0x1a 0x07 0x00).
2.CRC ¢ëç¨á«ï¥âáï á ¯®¬®éìî áâ ­¤ àâ­®£®
¯®«¨­®¬  0xEDB88320. á«ãç ¥,¥á«¨ à §¬¥à
CRC ¬¥­ìè¥ 4 ¡ ©â, â® ¨á¯®«ì§ãîâáï ⮫쪮
¬« ¤è¨¥ ¡ ©âë.
3.Š®¤¨à®¢ ­¨¥ ¬¥â®¤  ᦠâ¨ï:
 0x30 -á®åà ­¥­¨¥ (¡¥§ ᦠâ¨ï)
 0x31 -᪮à®áâ­®¥ ᦠ⨥
 0x32 -¡ëáâ஥ ᦠ⨥
 0x33 -­®à¬ «ì­®¥ ᦠ⨥
 0x34 -å®à®è¥¥ ᦠ⨥
 0x35 -¬ ªá¨¬ «ì­®¥ ᦠ⨥
4.<04>®¬¥à ¢¥àᨨ RAR,­¥®¡å®¤¨¬®© ¤«ï ¨§¢«¥-
祭¨ï, ª®¤¨àã¥âáï ª ª 10 * áâ à訩 ­®¬¥à
¢¥àᨨ + ¬« ¤è¨© ­®¬¥à ¢¥àᨨ.
----------end of techinfo.txt-----------
„ «ìè¥ ¯®è«  ®âᥡï⨭ :
 ‚­ãâ७­¨© ä®à¬ â RAR.
ˆá¯®«ì§ã¥âáï ᦠ⨥ ⨯  LZ, § ª«îç î饥áï
¢ ª®¯¨à®¢ ­¨¨ ­¥ª®â®àëå ªã᪮¢ ¨§ 㦥 à á-
¯ ª®¢ ­­®© ç á⨠䠩«  ¯®¤ ªãàá®à. <20>¨¦¥
㯮âॡ«ï¥âáï â¥à¬¨­®«®£¨ï:
"¤«¨­  áá뫪¨"(puts)- ¤«¨­  ª®¯¨à㥬®£®
ªã᪠;
"ᬥ饭¨¥"(disp)- ᬥ饭¨¥ ®â ªãàá®à  ¤®
­ ç «  ª®¯¨à㥬®£® ªã᪠.
„«ï 㬥­ì襭¨ï ¨§¡ëâ®ç­®á⨠LZ ª®¤¨à®¢ ­¨ï
¨á¯®«ì§ãîâáï ¤¥à¥¢ìï • ä䬠­  £«ã¡¨­®© ¤®
15 ¡¨â,¢ ª®«¨ç¥á⢥ 4 èâ㪨. <20>⨠¤¥à¥¢ìï
­®áïâ ­ §¢ ­¨ï:BD, LD, DD ¨ RD.<08>¥à¢®¥
¯à¨¬¥­ï¥âáï ¤«ï à á¯ ª®¢ª¨ ®áâ «ì­ëå âàñå.
BDᮤ¥à¦¨â19¢®§¬®¦­ëå ᨬ¢®«®¢;
LDᮤ¥à¦¨â298¢®§¬®¦­ëå ᨬ¢®«®¢;
DDᮤ¥à¦¨â48¢®§¬®¦­ëå ᨬ¢®«®¢;
RDᮤ¥à¦¨â28¢®§¬®¦­ëå ᨬ¢®«®¢.
<EFBFBD>¨¦¥ ¨á¯®«ì§ã¥âáï â¥à¬¨­:
"ïàãá"(Row)- ᮢ®ªã¯­®áâì ᨬ¢®«®¢ ¢ ¤¥-
ॢ¥, ¨¬¥îé¨å ®¤¨­ ª®¢ãî ¡¨â®¢ãî ¤«¨­ã.
‹î¡®© 㯠ª®¢ ­­ë© ¡«®ª,¥á«¨ ®­ ­¥ ï¥âáï
¢â®àë¬ ¨ ¤ «¥¥ ¢ solid  à娢¥, ­ ç¨­ ¥âáï
á ¡«®ª  ¯®¤ ­ §¢ ­¨¥¬"㯠ª®¢ ­­ë¥ ¤¥à¥-
¢ìï".
 “¯ ª®¢ ­­ë¥ ¤¥à¥¢ìï:
1 ¡¨â-"multimedia block"flag (0,¥á«¨
­¥ multimedia: ­¨¦¥ à áᬠâਢ ¥âáï ⮫쪮
â ª®© ¢ à¨ ­â)
1 ¡¨â- ®ç¨áâ¨âì áâ àë© ¬ áᨢ ¤«¨­ ­ã«ï¬¨
(1- ­¥ ­ ¤®)
19x4 ¡¨â- ¤¥à¥¢®BD.“ª § ­ë ¤«¨­ë ¢ ¡¨-
â å ¤«ï ¢á¥å19ᨬ¢®«®¢ (ᨬ¢®«ë à á¯¨á -
­ë ­¨¦¥). €«£®à¨â¬ £¥­¥à æ¨¨ ¤¥à¥¢ ,¨á室ï
¨§ ¨­ä®à¬ æ¨¨ ® ¤«¨­ å, ¤®¢®«ì­® å¨âàë©, ¨
§¤¥áì ï ¥£® ¯à¨¢®¤¨âì ­¥ ¡ã¤ã. ‘ª ¦ã ⮫ì-
ª®, çâ® ¡®«¥¥ ª®à®âª¨¥ ᨬ¢®«ë à á¯®« £ î-
âáï ¢ ¤¥à¥¢¥ «¥¢¥¥ (â.¥. ­ ç¨­ îâáï ᪮॥
á ­ã«ï, 祬 á ¥¤¨­¨æë), ­¥¦¥«¨ ¡®«¥¥ ¤«¨­-
­ë¥.
<EFBFBD>®á«¥ ⮣®, ª ª ¢ë襨§«®¦¥­­ ï ¨­ä®à¬ æ¨ï
¯à®ç¨â ­ , ­ ç¨­ ¥âáï à ¡®â  á ¡®«ì让 â -
¡«¨æ¥© ¤«¨­ ¯®¤ ­ §¢ ­¨¥¬RT_Table,ª®â®-
à ï ¨¬¥¥â à §¬¥à374=298+48+28 ¡ ©â. ­¥©
¯®á«¥¤®¢ â¥«ì­® ᮤ¥à¦ âáï ¤«¨­ë(0..15)
¢á¥å ᨬ¢®«®¢ ¤¥à¥¢ì¥¢LD, DD¨RD.
ˆâ ª, ãáâ ­ ¢«¨¢ ¥¬ 㪠§ â¥«ìi­  ¯¥à¢ë©
¡ ©â â ¡«¨æë RT_Table¨ ç¨â ¥¬ ᨬ¢®«ë ¨§
ä ©« , ¯®«ì§ãïáì ¤¥à¥¢®¬BD:
0..15- ¯à¨¡ ¢¨âì íâ® ç¨á«® ª ⥪ã饩 ïç¥-
©ª¥ â ¡«¨æëRT_Table¨ ¯¥à¥©â¨ ª á«¥¤ãî饩
ï祩ª¥.
tab[i]=(tab[i]+num)&15;i++
16- ᪮¯¨à®¢ âì ¯à¥¤ë¤ãéãî ï祩ªãN+3à -
§ , £¤¥N (2 ¡¨â )åà ­¨âáï ¢ ä ©«¥ áà §ã
¯®á«¥ ᨬ¢®« 16.
tab[i]=tab[i-1];i++ ¨ â.¤.
17- ¯®¬¥áâ¨âì ¢Z+3ï祥ª,­ ç¨­ ï á ⥪ã-
饩,ç¨á«®0.ƒ¤¥Z (3 ¡¨â )åà ­¨âáï áà §ã
¯®á«¥ ᨬ¢®« 17.
tab[i]=0;i++ ¨ â.¤.
18- ¯®¬¥áâ¨âì ¢Z+11ï祥ª, ­ ç¨­ ï á â¥-
ªã饩,ç¨á«®0.ƒ¤¥Z (7 ¡¨â)åà ­¨âáï áà -
§ã ¯®á«¥ ᨬ¢®« 18.
tab[i]=0;i++ ¨ â.¤.
‡ ¯®«­¥­¨¥ RT_Table § ª ­ç¨¢ ¥âáï, ª®£¤ 
®¡à ¡®â ­ë ¢á¥ ¥ñ374ï祩ª¨.
’ ª¨¬ ®¡à §®¬, ¬ë ¯®«ã稫¨ ¨§ ä ©«  áâàãª-
âãàë ¢á¥å ¤¥à¥¢ì¥¢. <20>¥à¥¢®¤¨¬ ¤¥à¥¢ìï ¢
㤮¡­ë© ¤«ï ­ á ä®à¬ â(¢ ¬®ñ¬ à á¯ ª®¢é¨-
ª¥ íâ® â ¡«¨æ  ç¨á¥«"LowRowCode",â ¡«¨æ 
ç¨á¥«"RowAdr-(LowRowCode>>Row)"¨ â ¡«¨æ 
"­®¬¥à «¨áâ  ¤¥à¥¢ ->ᨬ¢®«",£¤¥RowAdr-
 ¤à¥á ¯¥à¢®£® ᨬ¢®«  ¢ ïàãá¥, LowRowCode
- ª®¤,ᮮ⢥âáâ¢ãî騩 á ¬®¬ã «¥¢®¬ã í«¥¬¥-
­âã ïàãá )¨ ¯¥à¥å®¤¨¬ ª áç¨â뢠­¨î 㯠ª®-
¢ ­­ëå ¤ ­­ëå.
 “¯ ª®¢ ­­ë¥ ¤ ­­ë¥:
Š ª ¢ëè¥ ã¦¥ 㯮¬¨­ «®áì, ¤® á ¬¨å ¤ ­­ëå
¢ ä ©«¥ «¥¦ â ¤¥à¥¢ìï. <20>® ⮬㠦¥ ãá«®¢¨î,
çâ® âॡã¥âáï ¤«ï ­ «¨ç¨ï ¤¥à¥¢ì¥¢ ¢ ­ ç -
«¥ ä ©« (â® ¥áâì,"¡«®ª ­¥ ï¥âáï ¢â®àë¬
¨«¨ ¤ «¥¥ ä ©«®¬ solid  à娢 "),á«¥¤ã¥â
(¨«¨ ­¥ á«¥¤ã¥â ¨­ ç¥) ®¡­ã«¨âì â ¡«¨æã
¯à¥¤ë¤ãé¨å ᬥ饭¨©. „¥«® ¢ ⮬,çâ® à á¯ -
ª®¢é¨ª ¢á¥£¤  åà ­¨â4¯à¥¤ë¤ãé¨å ॠ«¨§®-
¢ ­­ëå ᬥ饭¨ï. <20>⨠ᬥ饭¨ï -20-¡¨â­ë¥
ç¨á« (¬ ªá¨¬ «ì­ ï áá뫪  ­ § ¤ =1 Œ¡).
‚¯à®ç¥¬, ï ­¥ 㢥७, çâ® ®¡­ã«ïâì ¨å â ª
㦠­¥®¡å®¤¨¬®, ­® ªâ® §­ ¥â, çâ® ­  㬥 ã
㯠ª®¢é¨ª ?
—¨â ¥¬ ¨§ ä ©«  ⮪¥­, ¯®«ì§ãïáì ¤¥à¥¢®¬
LD:
0..255- ¯à®á⮠ᨬ¢®«. <20>®¬¥é ¥¬ ¥£® ¢ ¢ë-
室­®© ¯®â®ª.
256- ¯®¢â®à ¯à¥¤ë¤ã饣® ᬥ饭¨ï ¨ ¯à¥¤ë-
¤ãéñ© ¤«¨­ë áá뫪¨. <20>¥ «¨§ã¥¬ íâã áá뫪ã.
257..260- ¡¥àñ¬ ®¤­® ¨§ ¯à¥¤ë¤ãé¨å 4 ᬥ-
饭¨© (257=á ¬®¥ ­®¢®¥,258=¯®§ ¯à®è«®¥
¨ â.¤.). —¨â ¥¬ ⮪¥­, ¯®«ì§ãïáì ¤¥à¥¢®¬
RD.<04>â®â ⮪¥­ 㪠§ë¢ ¥â ­®¬¥à áâப¨ ¢
â ¡«¨æ¥midBIT.ˆ§ ­¥ñ ¡¥àñâáï ¤«¨­  ááë«-
ª¨ ¨ ª®«¨ç¥á⢮ ¡¨â®¢,ª®â®àë¥ ­ã¦­® ᥩç á
¤®¯®«­¨â¥«ì­® ¤®ç¨â âì ¨§ ä ©« ,çâ®¡ë ¯à¨-
¡ ¢¨âì ¨å ª í⮩ ¤«¨­¥ áá뫪¨.
<EFBFBD>®â®¬ ¤«¨­  ¥éñ ­¥¬­®£® ª®à४â¨àã¥âáï:
¥á«¨disp>=257,¨­ªà¥¬¥­â¨à㥬 ¤«¨­ã;
¥á«¨disp>=#2000,á­®¢  ¨­ªà¥¬¥­â¨à㥬
¤«¨­ã;
¥á«¨disp>=#40000,¥éñ à § ¨­ªà¥¬¥­â¨à㥬
¤«¨­ã.
“ääää. <20>¥ «¨§ã¥¬ áá뫪ã.
261..268- ¥á«¨ ¢ëç¥áâì261,¯®«ã稬 ­®¬¥à
áâப¨ ¢ â ¡«¨æ¥ litBIT.ˆ§ ­¥ñ ¡¥àñâáï
ᬥ饭¨¥ ¨ ç¨á«® ¡¨â®¢, ª®â®àë¥ ­ã¦­® ¤®-
ç¨â âì ¨§ ä ©«  ¤«ï ª®à४樨 í⮣® ᬥé¥-
­¨ï. „«¨­  áá뫪¨ áç¨â ¥âáï à ¢­®©2.<04>¥ -
«¨§ã¥¬ áá뫪ã.
269- áç¨â뢠¥¬ ­®¢ë¥ ¤¥à¥¢ìï (ä®à¬ â á¬.
¢ëè¥). <20>¨ç¥£® ¢ á ¬®¬ à á¯ ª®¢é¨ª¥ ­¥ ¨­¨-
樠«¨§¨àã¥âáï! Œ¥­ïîâáï ⮫쪮 ¤¥à¥¢ìï!
270..297- ¢ëç¨â ¥¬270,¯®«ãç ¥¬ ü áâப¨
¢midBIT,¤®áâ ñ¬ ®ââ㤠 ¤«¨­ã áá뫪¨ ¨
ç¨á«® ¡¨â ¥ñ ª®à४樨.
ˆ­ªà¥¬¥­â¨à㥬 ¤«¨­ã.
—¨â ¥¬ ⮪¥­, ¯®«ì§ãïáì ¤¥à¥¢®¬DD.Ž­ § -
¤ ñâ ­®¬¥à áâப¨ ¢ â ¡«¨æ¥bigBIT- ¡¥àñ¬
®ââ㤠 ᬥ饭¨¥ ¨ ç¨á«® ¡¨â®¢ ¤«ï ¥£® ª®à-
४樨.
…᫨disp>=#2000,¨­ªà¥¬¥­â¨à㥬 ¤«¨­ã;
¥á«¨disp>=#40000,¥éñ à § ¨­ªà¥¬¥­â¨à㥬
¤«¨­ã.
<EFBFBD>¥ «¨§ã¥¬ áá뫪ã.
<EFBFBD> á¯ ª®¢ª  § ª ­ç¨¢ ¥âáï, ª®£¤  ¨§¢«¥ç¥­®
á⮫쪮 ¡ ©â à á¯ ª®¢ ­­®£® ä ©« , ᪮«ìª®
㪠§ ­® ¢ § £®«®¢ª¥ í⮣® ä ©« .
‚áñ! :) á«¥¤ãî騩 à § ï à á᪠¦ã ¢ ¬ ¯à®
¬ã«ì⨬¥¤¨©­ãî ª®¬¯à¥áá¨î ¨ è¨ä஢ ­¨¥,
¥á«¨, ª®­¥ç­®, á ¬ à §¡¥àãáì :)
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

View File

@ -0,0 +1,54 @@
.SPG
„ ­­ë© ä®à¬ â á«ã¦¨â ¤«ï åà ­¥­¨ï § ¯ã᪠¥¬ëå
¯à®£à ¬¬ ­  «î¡ëå ­®á¨â¥«ïå (CD/DVD/HDD). ‘ ¬¨
ä ©«ë ¬®£ãâ ¡ëâì § ¯ãé¥­ë ¨§ WDC ¢ «¥¢®© ¯ ­¥«¨
¯à®áâë¬ ­ ¦ â¨¥¬ ­  ENTER.
(¢ WDCv1.06 ä®à¬ â ¯®¤¤¥à¦ ­ ­¥ ¯®«­®áâìî:
1. ®¡à ¡ â뢠¥âáï ⮫쪮 ¯¥à¢ë© ¡«®ª á ¤ ­­ë¬¨
2. ­¥ ãç¨â뢠¥âáï ¯®àâ X
3. CRC ­¥ ¯à®¢¥àï¥âáï)
"Spectrum Prog" file format v0.0:
ᬥ鳤«¨­.
---+-----------------------------------------------
+0³32 - १¥à¢
+32³12 - ¨¤¥­â¨ä¨ª â®à ä®à¬ â  ("SpectrumProg")
+44³1 - ¢¥àá¨ï ä®à¬ â 
+45³2 - CRC ¢á¥£® § £®«®¢ª  (512 ¡ ©â)
+47³2 - ®¡à â­ ï CRC (áâ à訩 ¡ ©â ¢¯¥à¥¤¨)
+49³1 - ***
+50³1 - ***
+51³13 - १¥à¢
---+-----------------------------------------------
+64³2 -  ¤à¥á § ¯ã᪠
+66³1 - §­ ç¥­¨¥ ¯®àâ  #7FFD ¯¥à¥¤ § ¯ã᪮¬
+67³2 -  ¤à¥á ¯®àâ  X, ¥á«¨ = 0 â® ¢ ¯®àâ X §­ -¥
³ ­¥ § ­®á¨âáï
+69³1 - §­ ç¥­¨¥ ª®â. ¡ã¤¥â § ­¥á¥­® ¢ ¯®àâ X ¯-¤
³ § ¯ã᪮¬ (¥á«¨ X<>0)
+70³3 - ¤ â  (¤¥­ì,¬¥áïæ,£®¤)
+73³1 - ¢¥àá¨ï ᡮન
+74³2 -  ¤à¥á ¢¥à設ë á⥪ (¥á«¨=0, â® ­¥ ¬¥­ï¥¬)
³
+76³2 - १¥à¢
³
+78³1 - ¤«¨­  ¡«®ª  ­ áâ஥ª
³ (¥á«¨=0, â® ¨£­®à¨à㥬 â ª®¢ë¥,
³ ¨­ ç¥ ª¨¤ ¥¬ n<256 ¡ ©â ¢  ¤à¥á #5B00)
----+-<06>«®ª_§ £à㧪¨*8-----------------------------
+128³2 -  ¤à¥á § £à㧪¨
³ (¥á«¨ <#A000, â® ¨¤ñâ § ¢¥à襭¨¥ ®¡à ¡®âª¨
³ ¡«®ª®¢ § £à㧪¨)
³1 - ¤«¨­  ¡«®ª  ¢ 2048 ¡ ©â­ëå ᥪâ®à å
³1 - ­®¬¥à áâà ­¨çª¨ ª®â. ­ ¤® ¢ª«îç¨âì
³4 - १¥à¢
----+----------------------------------------------
+192³256- ®¡« áâì ­ áâ஥ª ¯à®£à ¬¬ë
----+----------------------------------------------
+448³64 - १¥à¢
----+----------------------------------------------
‚® ¢à¥¬ï § ¯ã᪠ ¯à®£à ¬¬ë ¢ª«î祭 1 ०¨¬ ¯à¥à뢠-
­¨© (I=63). <20>®  ¤à¥áã #6000 «¥¦¨â ª¥à­ «ì ¢ë§®¢®¢.
---------------------------------------------------
Budder/23.12.2006

View File

@ -0,0 +1,98 @@
;„¥ª®¬¯à¥áá®à ¤«ï v 3.01
;HL-®âªã¤  DE-ªã¤ 
;DLPCB DEFM "v301"
DELPZ PUSH DE
LD DE,DLPCB
LD BC,4
LDIR
POP DE
xpD0 LD A,(HL)
SRL A
JR NC,xpD1
CALL xpSUB ;short copy
RRA
RL B
AND 7
xpM2 JR NZ,xpNex
LD A,(HL)
INC HL
xpNex LD C,(HL)
INC HL
PUSH HL
LD H,D
LD L,E
SBC HL,BC
LD B,0
LD C,A
xpM1 INC BC
INC BC
LDIR
POP HL
EX AF,AF
JR Z,xpD0
JR NZ,xpDRR
xpD1 RRA
JR C,xpZ1
RRA
JR C,xpZ2
JR Z,xpDEND
INC HL
xpDRR LD B,A ;nocompr
xpDL0 LD A,(HL)
INC HL
XOR (HL)
LD (DE),A
INC DE
DJNZ xpDL0
JR xpD0
xpZ2 SRL A ;repeat
JR C,xpZ2L
LD C,A
XOR A
EX AF,AF
xpZ22 INC HL
PUSH HL
LD H,D
LD L,E
DEC HL
JR xpM1
xpZ2L CALL xpSUB
RRA
RL B
LD C,(HL)
JR xpZ22
xpZ1 SRL A
JR NC,xpTWO
LD C,A ;long copy
INC HL
LD A,(HL)
AND #1F
LD B,A
LD A,C
CALL xpSUB
OR A
JR xpM2
xpTWO INC A ;¤¢  ¡ ©â 
LD C,A
INC HL
PUSH HL
LD H,D
LD L,E
SBC HL,BC
LD C,2
LDIR
POP HL
JR xpD0
xpDEND LD HL,DLPCB
LD C,4
LDIR
RET
xpSUB EX AF,AF
LD A,(HL)
RLCA
RLCA
RLCA
AND 7
EX AF,AF
INC HL
RET

View File

@ -0,0 +1,283 @@
Ä Echo35 (2:5029/35.26) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ZX.SPECTRUM Ä
Msg : 100 of 107
From : Alexey Komarov 2:5020/400 23 Apr 02 14:29:48
To : All 26 Apr 02 01:04:11
Subj : Fwd: SOURCE: Š®­¢¥à⨫ª  审¥âë á ¯à®£à ¬¬®© ­  ALASM ¢ ⥪áâ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
From: "Alexey Komarov" <komarov@dubna.ru>
==========================================================================
* Forwarded by Alexey Komarov <komarov@dubna.ru>
* Newsgroup: relcom.comp.speccy
* From: "Alexander Shabarshin" <shaos@mail.ru>
* Date: Fri, 12 Apr 2002 16:43:34 +0600
* Subj: SOURCE: Š®­¢¥à⨫ª  审¥âë á ¯à®£à ¬¬®© ­  ALASM ¢ ⥪áâ
==========================================================================
// H2ASM.CPP - Alexander Shabarshin (shaos@mail.ru) 12.04.2002
// Convert hobeta with ALASM source to text source
// Š®­¢¥à⨫ª  审¥âë á ¯à®£à ¬¬®© ­  ALASM ¢ ®¡ëç­ë© ⥪áâ
// …áâì ­¥¤®¤¥«ª¨ - ªâ® § ¬¥â¨«, á®®¡é ©â¥!
// ¢à®¤¥ ­ã¦­ ï ¢¥éì - ¬®¦¥â ª®¬ã ¨ ¯à¨£®¤¨âáï
// ¥á«¨ ªâ® ¬®¦¥â - ª¨­ì⥠¢ fido7.zx.spectrum
//   â® ¬­¥ â㤠 ­¥¤®¡à âìáï :)
// http://www.shaos.ru/nedopc
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* decode(int c,int col)
{
static char str[256];
char *po = str;
*po = 0;
switch(c)
{
case 0x80: strcpy(str," INCLUDE"); break;
case 0x81: strcpy(str," INCBIN"); break;
case 0x82: strcpy(str," MACRO"); break;
// case 0x83:
case 0x84: strcpy(str," RLCA"); break;
case 0x85: strcpy(str," RRCA"); break;
case 0x86: strcpy(str," HALT"); break;
case 0x87: strcpy(str," CALL"); break;
case 0x88: strcpy(str," PUSH"); break;
// case 0x89:
// case 0x8A:
case 0x8B: strcpy(str," DJNZ"); break;
// case 0x8C:
// case 0x8D:
case 0x8E: strcpy(str," LDIR"); break;
case 0x8F: strcpy(str," CPIR"); break;
// case 0x90:
// case 0x91:
case 0x92: strcpy(str," LDDR"); break;
// case 0x93:
// case 0x94:
// case 0x95:
// case 0x96:
case 0x97: strcpy(str," DEFB"); break;
case 0x98: strcpy(str," DEFW"); break;
case 0x99: strcpy(str," DEFS"); break;
case 0x9A: strcpy(str," DISP"); break;
case 0x9B: strcpy(str," ENDM"); break;
case 0x9C: strcpy(str," EDUP"); break;
// case 0x9D:
case 0x9E: strcpy(str," MAIN"); break;
// case 0x9F:
case 0x9F: strcpy(str," (BC)"); break;
case 0xA0: strcpy(str," (DE)"); break;
case 0xA1: strcpy(str," (HL)"); break;
case 0xA2: strcpy(str," DB"); break;
case 0xA3: strcpy(str," DW"); break;
case 0xA4: strcpy(str," DS"); break;
case 0xA5: strcpy(str," NOP"); break;
case 0xA6: strcpy(str," INC"); break;
case 0xA7: strcpy(str," DEC"); break;
case 0xA8: strcpy(str," RLA"); break;
case 0xA9: strcpy(str," RRA"); break;
// case 0xAA:
case 0xAB: strcpy(str," CPL"); break;
case 0xAC: strcpy(str," SCF"); break;
case 0xAD: strcpy(str," CCF"); break;
case 0xAE: strcpy(str," ADD"); break;
case 0xAF: strcpy(str," ADC"); break;
case 0xB0: strcpy(str," SUB"); break;
case 0xB1: strcpy(str," SBC"); break;
case 0xB2: strcpy(str," AND"); break;
case 0xB3: strcpy(str," XOR"); break;
case 0xB4: strcpy(str," RET"); break;
case 0xB5: strcpy(str," POP"); break;
// case 0xB6:
case 0xB7: strcpy(str," EXX"); break;
case 0xB8: strcpy(str," RLC"); break;
case 0xB9: strcpy(str," RRC"); break;
case 0xBA: strcpy(str," SLA"); break;
case 0xBB: strcpy(str," SRA"); break;
case 0xBC: strcpy(str," SLI"); break;
case 0xBD: strcpy(str," SRL"); break;
case 0xBE: strcpy(str," BIT"); break;
case 0xBF: strcpy(str," RES"); break;
case 0xC0: strcpy(str," SET"); break;
case 0xC1: strcpy(str," OUT"); break;
case 0xC2: strcpy(str," NEG"); break;
// case 0xC3:
// case 0xC4:
case 0xC5: strcpy(str," LDI"); break;
// case 0xC6:
// case 0xC7:
// case 0xC8:
// case 0xC9:
// case 0xCA:
case 0xCB: strcpy(str," ORG"); break;
case 0xCC: strcpy(str," EQU"); break;
case 0xCD: strcpy(str," ENT"); break;
// case 0xCE:
case 0xCF: strcpy(str," DUP"); break;
case 0xD0: strcpy(str," (C)"); break;
case 0xD1: strcpy(str," (IX"); break;
case 0xD2: strcpy(str," (IY"); break;
case 0xD3: strcpy(str," AF'"); break;
case 0xD4: strcpy(str," LD"); break;
case 0xD5: strcpy(str," JR"); break;
case 0xD6: strcpy(str," JP"); break;
case 0xD7: strcpy(str," OR"); break;
case 0xD8: strcpy(str," CP"); break;
case 0xD9: strcpy(str," EX"); break;
case 0xDA: strcpy(str," DI"); break;
case 0xDB: strcpy(str," EI"); break;
case 0xDC: strcpy(str," IN"); break;
case 0xDD: strcpy(str," RL"); break;
case 0xDE: strcpy(str," RR"); break;
// case 0xDF:
case 0xE0: strcpy(str," BC"); break;
case 0xE1: strcpy(str," DE"); break;
case 0xE2: strcpy(str," HL"); break;
case 0xE3: strcpy(str," AF"); break;
case 0xE4: strcpy(str," IX"); break;
case 0xE5: strcpy(str," IY"); break;
case 0xE6: strcpy(str," SP"); break;
case 0xE7: strcpy(str," NZ"); break;
case 0xE8: strcpy(str," NC"); break;
// case 0xE9:
// case 0xEA:
case 0xEB: strcpy(str," HX"); break;
case 0xEC: strcpy(str," LX"); break;
// case 0xED:
// case 0xEE:
case 0xEF: strcpy(str," B"); break;
case 0xF0: strcpy(str," C"); break;
case 0xF1: strcpy(str," D"); break;
case 0xF2: strcpy(str," E"); break;
case 0xF3: strcpy(str," H"); break;
case 0xF4: strcpy(str," L"); break;
case 0xF5: strcpy(str," A"); break;
case 0xF6: strcpy(str," P"); break;
case 0xF7: strcpy(str," M"); break;
case 0xF8: strcpy(str," Z"); break;
// case 0xF9:
// case 0xFA:
// case 0xFB:
// case 0xFC:
// case 0xFD:
// case 0xFE:
case 0xFF: strcpy(str," "); break;
default: sprintf(str," |0x%2.2X|",c);
printf("\n\nError %s\n",str);
return NULL;
}
if(col>2) po++;
return po;
}
int main(int argc,char **argv)
{
int i,j,k,c;
char hhead[17],name[12],ahead[64],str[256],*po=str;
printf("\n\nH2ASM v1.0, Copyright (c) 2002, Alexander Shabarshin
http://www.shaos.ru\n\n");
if(argc<3)
{
printf("\n\nH2ASM file.$h file.asm\n\n");
return 1;
}
FILE *fh = fopen(argv[1],"rb");
if(fh==NULL) return 0;
FILE *fa = fopen(argv[2],"wt");
if(fa==NULL)
{
fclose(fh);
return 0;
}
fread(hhead,17,1,fh);
for(i=0;i<8;i++) name[i]=hhead[i];
int ftyp=hhead[8];
int fstart=(int)hhead[9]+((int)hhead[10]<<8);
int flen=(int)hhead[11]+((int)hhead[12]<<8);
int blk=hhead[14];
int check=hhead[15]+(hhead[16]<<8);
for(j=i=0; i<0x0F; ++i)
{
k = hhead[i]; k &= 0xFF;
j += (k * 0x0101 + i);
}
j &= 0xFFFF;
if(j!=check)
{
printf("Illegal checksum in header of hobeta\n");
}
fread(ahead,64,1,fh);
flen-=64;
printf("Name:%s\n",ahead);
printf("\n");
int comment,colon,old,quat;
while(1)
{
comment = 0;
colon = 0;
quat = 0;
k = fgetc(fh);
flen--;
j = 0;
old = 0;
for(i=1;i<k;i++)
{
c = fgetc(fh);
flen--;
if(c<128||comment||quat)
{
if(c<32)
{
while(--c>0) str[j++]=' ';
}
else {
if(!comment && !quat && colon==1 && old>=128) str[j++]=' ';
str[j++]=c;
}
if(c==';') comment=1;
if(c=='"')
{
if(quat) quat=0;
else quat=1;
}
}
else {
po = decode(c,++colon);
if(po==NULL) break;
str[j] = 0;
if(colon<2)
{
strcat(str,"\t");
j++;
}
strcat(str,po);
j += strlen(po);
}
old = c;
}
if(po==NULL) break;
str[j] = 0;
printf("%s\n",str);
fprintf(fa,"%s\n",str);
if(flen<=0) break;
}
fclose(fh);
fclose(fa);
return 1;
}
==========================================================================
㢠¦¥­¨¥¬, €«¥ªá¥©.
--- ifmail v.2.15dev5
* Origin: OOO Contact company (2:5020/400)

View File

@ -0,0 +1,178 @@
-----------------------------
”®à¬ â ani-ä ©«®¢ ­  ᯥª¥
-------------- - - -
+00 "GIF animation" : ᨣ­ âãà 
+13 =0
+14 à §¬¥à ¯® X ¢ §­ ª®¬¥áâ å (1-32)
+15 à §¬¥à ¯® Y ¢ ¯¨ªá¥«ïå (1-192)
+16... ¤ ­­ë¥  ­¨¬ æ¨¨ (ª ¤àë)
 ­¨¬ æ¨ï ¯à¥¤áâ ¢«ï¥â ᮡ®© ¯®á«¥¤®¢ â¥«ì­®áâì ª ¤à®¢
¤«ï ª ¦¤®£® ª ¤à  ¢ ­ ç «¥ á«¥¤ãîâ ¤¢  ¡ ©â :
+0 ¤«¨â¥«ì­®áâì ª ¤à  ¢ 1/50 ᥪ
+1 ⨯ 㯠ª®¢ª¨ ª ¤à 
¥á«¨ ¤«¨â¥«ì­®áâì=255 ¨«¨ ⨯ 㯠ª®¢ª¨ ­¥à á¯®§­ ­ ¯«¥©¥à®¬, â®
¬ã«ì⨪ ¢®§¢à é ¥âáï ­  á ¬ë© ¯¥à¢ë© ª ¤à.
¨ ª®­¢¥àâ¥à, ¨ ¡¥â  । ªâ®à  ¢ë¡¨à îâ ­ ¨«ãç訩 ¬¥â®¤ 㯠ª®¢ª¨
¨§ 9 ¨¬¥îé¨åáï (¯® ¬¥â®¤ã ᦠâ¨ï ¨§®¡à ¦¥­¨ï)
---- ⨯ 0
íâ® ­¥ã¯ ª®¢ ­ë© á¯à ©â ¢ «¨­¥©­®¬ ä®à¬ â¥. <20>뢠¥â, çâ® ª ¤à ­¨ ¢ ª ªãî
­¨ ®¤­¨¬ ¤à㣨¬ ¬¥â®¤®¬ ­¥ ¦¬¥âáï.
<EFBFBD>ਠ­ «¨ç¨¨ æ¢¥â  áâப   âਡã⮢ ¨¤ñâ ¯®á«¥ ª ¦¤ëå 8 áâப ¨§®¡à ¦¥­¨ï
---- ⨯ 1
¢§ïâ ¨§ áâ âì¨ "‘¦ â¨¥ £à ä¨ç¥áª®© ¨­ä®à¬ æ¨¨ ¨ çâ® ¨§ í⮣® ¬®¦­® ¯®«ãç¨âì"
(C) Vitamin/CAIG/2001.
Š ¤à à §¡¨¢ ¥âáï ­  §­ ª®¬¥áâ  (à §¬¥à ¯® Y 㢥«¨ç¨¢ ¥âáï ¤® ¡«¨¦ ©è¥£® ªà â­®£®
8 ç¨á« ). <20> áᬮâਬ 㯠ª®¢ªã â ª®£® §­ ª®¬¥áâ :
#55,#ff,#55,#ff,#ff,#ff,#50,#05
­ ç¨­ï á® ¢â®à®£® ¡ ©â  ¤¥« ¥¬ XOR'¨­£ á ¯à¥¤ë¤ã騬:
#55,#aa,#aa,#aa,#00,#00,#af,#55
á®§¤ ¤¨¬ ä« £®¢ë© ¡ ©â - ®â¬¥â¨¬ 0 ¡ ©âë, ª®â®àë¥ à ¢­ë ¯à¥¤ë¤ã饬ã, 1 - ­¥à ¢­ë.
¤«ï 1£® ¡ ©â  ¯à¥¤ë¤ã騬 áç¨â ¥âáï 0. ’®«ìª® ¡¨âë ¢ ®¡à â­®¬ ¯®à浪¥ - ¯à ¢ë© ¡¨â
®â¢¥ç ¥â §  ¯¥à¢ë© ¡ ©â. <20>®«ã稬:
1,1,0,1,0,0,1,1 = #D3
⥯¥àì ¢ë¢®¤¨¬ ¢ ¯®â®ª á­ ç «  ä« £®¢ë© ¡ ©â,   ¯®â®¬ - ⥠¡ ©âë XOR'¨­£ , ¤«ï
ª®â®àëå ãáâ ­®¢«¥­ ¡¨â ¢ ä« £®¢®¬ ¡ ©â¥:
#D3,#55,#AA,#00,#AF,#55
¢ ¨â®£¥ ¢¬¥áâ® 8 ¡ ©â §­ ª®¬¥áâ  ¯®«ã稫¨ 6 ¡ ©â ¢ 㯠ª®¢ ­®¬ ä®à¬ â¥.
à á¯ ª®¢ª  ¨¤¥â ¯® á«¥¤ãîé¥¬ã  «£®à¨â¬ã:
byte=0
xorbyte=0
flag=¡ ©â ä« £®¢
横« 8
RR flag
if carry=1 then ¡¥à¥¬ ¨§ ¯®â®ª  ­®¢ë© xorbyte
byte=byte xor xorbyte
¢ë¢®¤ byte ­  íªà ­
ªæ
Š®«¨ç¥á⢮ 㯠ª®¢ ­ëå ¡«®ª®¢, ¥áâ¥á⢥­­®, à ¢­® ç¨á«ã §­ ª®¬¥áâ ¢ ª ¤à¥.
‡­ ª®¬¥áâ  ¯ ªãîâáï á«¥¢  ­ ¯à ¢® ᢥàåã ¢­¨§ (â.¥ á­ ç «  àï¤ ¢¥àå­¨å, ¯®â®¬
á«¥¤ãî騩 àï¤, ¨ â ª ¤® ­¨§ )
---- ⨯ 2
®ç¥­ì ¯®å®¦ ­  ⨯ 1, ­® ¢ ¡ ©â¥ ä« £®¢ á¡à®è¥­ë ⥠¡¨âë, ᮮ⢥âáâ¢ãî騥
­ã«ï¬ ¢ XOR'¨­£¥. .¥ ¤«ï ¯à¨¬¥à  ¨§ ⨯  1 ä« £¨ ¡ã¤ãâ:
1,1,0,0,1,1,1,1 = #CF
¨ ¢ ¯®â®ª ¢ë¤ áâáï
#CF,#55,#aa,#aa,#aa,#af,#55
âãâ ¯®«ã稫®áì çâ® ¢ë¨£àëè ¬¨­¨¬ «¥­, ­® íâ® ­¥ §­ ç¨â çâ® ®­ å㦥 ⨯  1
§¤¥áì à á¯ ª®¢ª  â ª ï:
byte=0
flag=¡ ©â ä« £®¢
横« 8
RR flag
if carry=1 then byte=byte xor (¡ ©â ¨§ ¯®â®ª )
¢ë¢®¤ byte ­  íªà ­
ªæ
---- ⨯ 3
íâ® â®â ¦¥ ⨯ 1, ­® ¯®«ã祭®¥ §­ ª®¬¥áâ® ­¥ ¢ë¢®¤¨âáï ¯àﬨª®¬ ­  íªà ­,
  ­ ª« ¤ë¢ ¥âáï ¯® XOR ­  ᮮ⢥âáâ¢ãî饥 §­ ª®¬¥áâ® ¯à¥¤ë¤ã饣® ª ¤à .
---- ⨯ 4
 ­ «®£¨ç­®: ª ¤à 㯠ª®¢ ­ ⨯®¬ 2 ¨ ¯® XOR ­ ª« ¤ë¢ ¥âáï ­  ¯à¥¤ë¤ã騩.
…᫨ ª ¤à ¬¥­ï¥âáï ­¥ ᨫ쭮, â® ¢ १ã«ìâ â¥ ¥£® XOR¨­£  á ¯à¥¤ë¤ã騬
ª ¤à®¬ ¯®«ãç ¥âáï ¬­®£® ¯ãáâëå §­ ª®¬¥áâ, ª®â®àë¥ ¯ ªãîâáï «ãçè¥ ¢á¥£®,
¨ ¢ í⮬ á«ãç ¥ ⨯ 3 ¨ ⨯ 4 ­  £®«®¢ã ¢ëè¥ ®áâ «ì­ëå ⨯®¢ 㯠ª®¢ª¨.
’¥¯¥àì ® ­®¢ëå ⨯ å:
---- ⨯ë 5-9
íâ® á¯à¥áᮢ ­ë¥ ⨯ë 1-4. ‚¢®¤¨âáï â ª®¥ ¯®­ï⨥ ª ª ä« £ 2£® ã஢­ï.
¡¨âë í⮣® ä« £  ®¯à¥¤¥«ïîâ á®áâ®ï­¨¥ ¡ ©â®¢ ä« £®¢ ¤«ï 8 á«¥¤ãîé¨å
§  ­¨¬ §­ ª®¬¥áâ. …᫨ ¡¨â=0, â® ä« £=0 (¢ í⮬ á«ãç ¥ ¢ ¯®â®ª ¯¨è¥âáï
⮫쪮 梥â, ¤  ¨ â® ¥á«¨ ®­ ¥áâì),   ¥á«¨=1, â® ä« £ ­¥ ­ã«¥¢®©, ¨ ¡«®ª
¨¤ñâ ¢ ¯®â®ª ¯® ¯®«­®© ¯à®£à ¬¬¥ (ä« £,¤ ­­ë¥ ¨ ¬®¦¥â 梥â)
<EFBFBD>  ¯à¨¬¥à¥:
¤®¯ãá⨬, 㯠ª®¢ ­ë© ª ¤à (¤«ï è¨à®âë ªà㣮§®à  ¡ã¤¥â á ­¥ã¯ ª®¢ ­ë¬ 梥⮬) ­ ç¨­ ¥âáï â ª...
DB %10010000
DB 1
DB 2
DB 3
DB 4
DB %00100001,#FF,#55,5
DB 6
DB 7
DB %10000000,#77,1
<EFBFBD>¥à¢ë© ¡ ©â - ä« £ 2£® ã஢­ï. ‘¬®âਬ §  á®áâ®ï­¨¥¬ ¡¨â®¢ ­ ç¨­ ï á ­ã«¥¢®£® (¯à ¢®£®)
0 - ¡«®ª ¯ãá⮩ (⨯ë 5,6) ¨«¨ ­¥ ¬¥­ï¥âáï (⨯ë 7,8)
¨§ ¤ ­­ëå ¡«®ª  ¢ ¯®â®ª¥ ⮫쪮 梥â (1)
0 - â® ¦¥ (梥â 2)
0 - â® ¦¥ (梥â 3)
0 - â® ¦¥ (梥â 4)
1 - €ƒ€! ¡«®ª ¢ ¯®â®ª ¢ë«®¦¥­ ¯®«­®áâìî
¡¥à¥¬ ä« £ ¡«®ª  (%00100001) ¨ ᮮ⢥âá⢥­­® ⨯ã à á¯ ª®¢ë¢ ¥¬ ¡«®ª. 梥â 5
0 - ¡«®ª ¯ãá⮩. 梥â 6
0 - ¡«®ª ¯ãá⮩. 梥â 7
1 - ¯®«­ë© ¡«®ª. (ä« £ %10000000, ¤ ­­ë¥ #77, 梥â 1)
‚áñ, à §®¡à «¨áì á 8 ¡«®ª ¬¨...
„ «ìè¥ á«¥¤ã¥â â® ¦¥ á ¬®¥ - ä« £ 2£® ã஢­ï ¨ ¢áñ çâ® ª ­¥¬ã ¯à¨« £ ¥âáï
Š®­¥ç­®, ®¡é¥¥ ç¨á«® ¡«®ª®¢ ¢ ª ¤à¥, ­¥ ®¡ï§ â¥«ì­® ªà â­® 8. â ª¨å á«ãç ïå
­¥­ã¦­ë¥ ¡¨âë ¯®á«¥¤­¥£® ä« £  2£® ã஢­ï ­¥ ãç¨â뢠îâáï.
—â® ¬ë á í⮣® ¯®«ãç ¥¬? Š ¦¤ë© ­ã«¥¢®© ¡ ©â ä« £®¢ áâ¢ ¥âáï ¢ 1 ¡¨â ä« £  2£® ã஢­ï,
­® ¯à¨ í⮬ ª ¦¤ë© ­¥­ã«¥¢®© à á¯ã堥⠤® 9 ¡¨â. <20> ¯à¨¬¥à, ¯®«­®áâìî ¯ãá⮩ ª ¤à ¡¥§ 梥â 
㦬¥âáï ¢ áâà è­ë¥ 64 à §  (¢®-¯¥à¢ëå ¯ãáâë¥ §­ ª®¬¥áâ  ¦¬ãâáï ¢ ­ã«¥¢®© ä« £®¢ë© ¡ ©â,  
¢® ¢â®àëå ª ¦¤ë© ­ã«¥¢®© ä« £®¢ë© ¡ ©â ¦¬¥âáï ¢ 1 ¡¨â ä« £  2£® ã஢­ï)
---- ⥯¥àì ¯à® æ¢¥â
<EFBFBD>®¤ ¨­ä®à¬ æ¨î ® ­ «¨ç¨¨ æ¢¥â  ¨ ¥£® 㯠ª®¢ª¥ (¤ , ¨ í⮠⮦¥ ¥áâì!) ¯¥à¥¤ îâ áâ à訥 ¡¨âë
⨯  ª ¤à .
b7 = 0 ¥á«¨ 梥⮢®£® ¯®â®ª  ­¥â (â.¥ ®­ ¯®«­®áâìî ¨¤¥­â¨ç¥­ ¯®â®ªã ¯à¥¤ë¤ã饣® ª ¤à )
= 1 ¥á«¨ ®­ ¥áâì
b6 = 0 ¥á«¨ 梥⠭¥ ª®¤¨àã¥âáï (â.¥ §  ª ¦¤ë¬ 㯠ª®¢ ­ë¬ §­ ª®¬¥á⮬ ¨¤ñâ 1 ¡ ©â 梥â )
= 1 ¥á«¨ ª®¤¨àã¥âáï (¯à®¯ã᪠îâáï §­ ª®¬¥áâ  á ­¥¨§¬¥­ïî騬áï æ¢¥â®¬)
  ⥯¥àì ï ᪠§ âì ¯® ¡ã¬ ¦ª ...
¯à¨ 㯠ª®¢ª¥ æ¢¥â  ¢¢¥¤¥­ ¥é¥ ¨ ª®­â஫ì­ë© ¡ ©â ¤«ï 梥â . ¢¥á쬠 ¨ ®ç¥­ì ¯®å®¦ ­ 
ä« £ 2£® ã஢­ï - ¥á«¨ ¢ ­¥¬ ¡¨â = 0, ⮠梥⠧­ ª®¬¥áâ  ­¥ ¯®¬¥­ï«áï ¯® ®â­®è¥­¨î
ª ¯à¥¤ë¤ã饬㠪 ¤àã ¨ ¢ ¯®â®ª¥ ®âáãâáâ¢ã¥â. € ¥á«¨ ¡¨â = 1, â® ¢á«¥¤ §  §­ ª®¬¥á⮬
¨¤¥â ¥£® 梥â. Š ª ¨ ä« £ 2£® ã஢­ï, ä« £ æ¢¥â  ¢áâà¥ç ¥âáï ª ¦¤ë¥ 8 §­ ª®¬¥áâ.
…᫨ ®¡  í⨠䫠£  ­ «¨ç¨áâ¢ãîâ (­ ¯à, ⨯ 5 á 㯠ª®¢ ­ë¬ 梥⮬: #5), â®
¯¥à¢ë¬ ¢á¥£¤  ¨¤¥â ä« £ 2£® ã஢­ï,   §  ­¨¬ - ä« £ 梥â .
<EFBFBD>®«­ ï á奬  ¯®â®ª  ª ¤à  ¢à®¤¥ ª ª ¢ë£«ï¤¨â â ª:
[¤«¨â¥«ì­®áâì]
[⨯] b0..5-⨯ 㯠ªà¢ª¨ b6-梥â á¯à¥áᮢ ­ b7-梥⠯à¨áãâáâ¢ã¥â
[ä« £ 2 ã஢­ï] ⮫쪮 ¤«ï ⨯®¢ 5-9 (®¯à¥¤¥«ï¥â ­ «¨ç¨¥ ¯ à [ä« £][¡«®ª])
[ä« £ 梥â ] ⮫쪮 ¤«ï á¯à¥áᮢ ­®£® æ¢¥â  (®¯à¥¤¥«ï¥â ­ «¨ç¨¥ ª®¬¯®­¥­â  [梥â])
[ä« £ 1][¡«®ª 1][梥â 1]
[ä« £ 2][¡«®ª 2][梥â 2]
[ä« £ 3][¡«®ª 3][梥â 3]
[ä« £ 4][¡«®ª 4][梥â 4]
[ä« £ 5][¡«®ª 5][梥â 5]
[ä« £ 6][¡«®ª 6][梥â 6]
[ä« £ 7][¡«®ª 7][梥â 7]
[ä« £ 8][¡«®ª 8][梥â 8]
[ä« £ 2 ã஢­ï]
...
<EFBFBD>ã ¨ ª ª ¢á¥£¤  ¯à¨®à¨â¥â ¢ ¢ë¡®à¥ ⨯  㯠ª®¢ª¨ (¨ ¨§®¡à ¦¥­¨ï, ¨ 梥â ) - à §¬¥à...
Sam Style

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,68 @@
Формат модуля Chip Tracker 1.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Расширение .CHI
Модуль состоит из четырёх частей - заголовок, ордер (список по-
зиций), паттерны, сэмплы. Каждая часть выравнена по границе сек-
торов.
Заголовок имеет размер 1 сектор:
+0 (8) "CHIPv1.0"
+8 (32) имя трека (русских букв в шрифте нет)
+40 (1) tempo
Внимание! ДОЛЖНО СЧИТАТЬСЯ, что tempo измеряется в 50-х долях
секунды, хотя версии редактора до 1.3 включительно и плейер
0.01 версии играют сонг из-за допущенной ошибки несколько мед-
леннее!
+41 (1) длина сонга-1 (последняя используемая позиция) 0..255
+42 (1) позиция зацикливания (0..255)
+43 (16*4) параметры сэмплов (в порядке 0..F):
++0 (2) позиция зацикливания (равна длине для незацикленных)
++1 (2) длина. Сначала младшие байты, потом старшие.
Для неиспользованных сэмплов здесь нули.
+107 (31) зарезервировано (нулевые байты).
+138 (16*8) имена сэмплов (в том же порядке). По 8 байт на имя.
Для неиспользованных сэмплов здесь пробелы.
Список позиций имеет размер 1 сектор и содержит номера паттернов
в порядке проигрывания. Номера паттернов хранятся как 0..30,
т.е. на единицу меньше, чем показывается в редакторе. Неисполь-
зованные позиции содержат 0.
Паттерны хранятся до последнего использованного в списке пози-
ций. Каждый паттерн занимает 512 байт, которые рассматриваются
как два запареллеленных блока по 256 байт. В паттерне 64 строч-
ки, каждая из которых занимает 4 последовательных байта в первом
256-байтовом куске паттерна и ещё 4 последовательных байта во
втором. Каналы A,B,C,D хранятся именно в таком порядке. Причём
каналы A,D должны играться как правые, а B,C - как левые.
Для каждой ноты каждого канала:
в первом куске: во втором куске:
%nnnnnnCC %ssssPPPP
nnnnnn - нота (0=пусто, 1=C-1, ... 60=B-5, 63=пауза);
ssss - её сэмпл (обязательно указан!);
CC - код команды, а PPPP - её параметр:
00=sample offset. Сэмпл играется с PPPP*512-го байта, но в
поле ноты должна стоять нота;
01=slide down(-) на PPPP микросапогов каждую 1/50 секунды;
10=slide up(+) на PPPP микросапогов каждую 1/50 секунды;
Микросапог - условная единица частоты (не периода!);
Слайды действуют только в пределах текущей строчки.
11=в канале A - темп PPPP (1..15);
в канале D - конец паттерна (текущая строчка - последняя);
в каналах B,C - запрещено.
Сэмплы хранятся в 8-битном беззнаковом виде, причём каждый сэмпл
выравнивается по границе сектора (256 байт). В неиспользованной
таким образом части последнего сектора находится то же, что и в
начале цикла этого сэмпла. Если он не зациклен, то там значения
128. Сохраняются все сэмплы, кроме пустых. Максимум #BB=187 сек-
торов сэмплов.
Ещё раз внимание! поскольку из-за второй ошибки в программе Chip
Tracker Compiler v0.01 не грузит до конца модули, имеющие пустые
сэмплы, прилагаю исходник этого плейера, в котором имеются нуж-
ные исправления (скорость в том числе).

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,46 @@
Beginning Quantity Meaning
============ ======== ============
#0000 #30(16x3) Palette. 16 triads of G,R,B colors
encoded as ASCII digits:
"0"(#30) - color is off
"1"(#31) - dark color
"2"(#32) - normal color
"3"(#33) - bright color
Ëþáîå äðóãîå çíà÷åíèå ïðèðàâíèâàåòñÿ
óòèëèòîé GRFVIEW ê "3".
#0030(*) #03 "GRF"
#0033(*) #01 Recommended attribute for background
(for small pictures)
#0034(*) #01 Recommended border (#00-#0F)
#0035 #4B Not used
#0080(**) #01 X-coord (0-79) of top left corner of
the picture in bytes (=8 pixels)
#0081(**) #01 Y-coord (0-199) of top left corner of
the picture in pixels
#0082 #01 WIDTH (1..80) in bytes (=8 pixels)
#0083 #01 HEIGHT (1..200) in pixels
#0084 WIDTH*HEIGHT Pixels. Column #0 (HEIGHT pixels) then
column #1 ... column #(WIDTH-1).
#84+WIDTH*HEIGHT #nnnn Attributes. The same but RLE encoded:
consists of pairs of bytes, in which the first byte in pair encodes number of repetitions of
second byte.
There are viewers of this format for CP/M (GRAF.COM), TASiS (grfview)
and TR-DOS (MCX viewer).
By now I should save the screenshot from RetroX when the picture is ready then cut
it in Photoshop, make 16 color palette and save the
picture in 8bpp format. Then I run my utility RetroXtoGRF
http://alonecoder.nedopc.com/zx/retroxtogrf.rar

View File

@ -0,0 +1,106 @@
Утилита GRFVIEW предназначена для просмотра монохромных или
цветных (мультиколорных) картинок в формате CP/M-редактора GRAF
в режиме 640x200. В самой среде CP/M данные картинки имеют рас-
ширение BLK, однако в OS TASiS оно зарезервировано за драйверами
дисковых устройств и, чтобы избежать путаницы, здесь им было
присвоено "свободное" расширение GRF - производная от названия
редактора. Поэтому, при переносе картинок из CP/M в TASiS не за-
будьте сменить расширение!
Откуда можно раздобыть GRF/BLK-файлы?
1) Нарисовать самостоятельно в графическом редакторе GRAF.
2) Сконвертировать в CP/M из исходных МОНОХРОМНЫХ(!) PCX-файлов
при помощи специальной, прилагающейся к редактору утилиты
PCXBLK.COM. Само-собой, таким способом можно получить только мо-
нохромные картинки. Но их можно вручную раскрасить все в том же
редакторе.
3) Сконвертировать в RetroX (редактор -> Import Picture -> Settings ->
ZX Clones Special -> TurboATM Multicolor Polychrome)... а поскольку сохранять
он не умеет, то сделать скриншот, обрезать картинку (ширина должна делиться
на 8, а высота на 2), сохранить в фотошопе в формате bmp 8bpp (0-й цвет
желательно принудительно задать чёрным), потом сконвертировать утилитой
RetroX to GRF.
ФОРМАТ BLK(GRF)-ФАЙЛА
=====================
Смещение Кол-во Значение
============ ======== ============
#0000 #30(16x3) Палитра. Представляет собой 16 троек
значений GRB-цветов (именно в таком
порядке), представленных в виде сим-
волов ASCII:
"0"(#30) - цвет (G,R или B) выключен
"1"(#31) - цвет низкой интенсивности
"2"(#32) - цвет в режиме BRIGHT 0
"3"(#33) - цвет в режиме BRIGHT 1
Любое другое значение приравнивается
утилитой GRFVIEW к "3".
#0030(*) #03 Метка "GRF" - означает, что за ней
следуют два значащих байта
#0033(*) #01 Рекомендуемые атрибуты (INK & PAPER)
заднего фона, на который налагается
изображение. Актуально для картинок,
по размеру меньших 640x200.
#0034(*) #01 Рекомендуемый цвет бордюра (#00-#0F)
Может быть актуально при использова-
нии нестандартной палитры.
#0035 #4B Не используется. Может быть забито
любым мусором.
#0080(**) #01 X-координата (0-79) левого верхнего
угла выводимой картинки, измеряемая
в столбцах (1 стлб= 8 пикс= 1 байт)
#0081(**) #01 Y-координата (0-199) левого верхнего
угла выводимой картинки, измеряемая
в строчках (1 стр = 1 пиксель)
#0082 #01 WIDTH - ширина картинки в столбцах
(от 1 до 80)
#0083 #01 HIGH - высота картинки в строчках
(от 1 до 200)
#0084 WIDTH*HIGH Растр монохромного изображения.
Представляет собой последователь-
ность слева направо столбцов от
1 до x (x = WIDTH), состоящих из
y байтов каждый (y = HIGH), считая
сверху вниз.
#84+WIDTH*HIGH #nnnn Растр атрибутов. Полная аналогия
растра монохромного изображения по
структуре, с той лишь разницей, что
он прилагается в упакованном по ме-
тоду RLE виде. То есть, представляет
из себя последовательность двухбайт-
ных слов, первый байт в каждом из
которых означает количество (1-255)
последовательно идущих одинаковых
байтов атрибутов, а второй байт -
собственно, само значение атрибута.
----------------------------------
Примечания:
*) НОВОВВЕДЕНИЕ специально для утилиты GRFVIEW. В оригинале -
неиспользуемый участок. Может быть забит любым мусором.
**) Необязательные параметры X и Y картинки, особенно для утили-
ты GRFVIEW, где изображение автоматически центрируется, в соот-
ветствии со своими габаритами.
****************************************************************
 2006, февраль. Тимонин Максим/NedoPC group
****************************************************************
P.S. Стартовый адрес COM-файла в TASiS - 24000DEC

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,52 @@
MegaLZ
”®à¬ â ¯ ª®¢ ­­®£® ä ©« :
¯¥à¢ë© ¡ ©â ª®¯¨àã¥âáï ¢ ¢ë室
¢â®à®© - ¨¤ñâ ¢ ¡¨âë
¡¨âë ¢ ¡ ©â¥ ¡¨â®¢ - á® áâ à襣®.
…᫨ ­ã¦¥­ ¡¨â,   ¥£® 㦥 ­¥â (¢á¥ 8 ª®­ç¨«¨áì) - â® ­®¢ë© ¡ ©â ¢ë¡¨à ¥âáï
¨§ ¯®â®ª . Žââ㤠 ¦¥ ¢ë¡¨à îâáï ¨ ¡ ©âë, ®¡®§­ ç¥­­ë¥ <byte> - ­® ⮫쪮
¯®á«¥ ¢ë¡®àª¨ ¢á¥å ¡¨â®¢ áá뫪¨.
ä®à¬ â¥ ááë«®ª: <byte> - ¡ ©â, ª®â®àë© ¢ë¡¨à ¥âáï ¨§ ¯®â®ª 
1<byte> - ª®¯¨à®¢ âì <byte> ¢ ¢ë室.
000abc - ª®¯¨à®¢ âì 1 áâ àë© ¡ ©â ¯® ᬥ饭¨î FFF8+[abc] ®â ⥪ã饩 ¯®§¨æ¨¨ ¢ ¢ë室¥
(abc==000 - ᬥ饭¨¥ FFF8, abc==111 - FFFF)
001<byte> - ª®¯¨à®¢ âì 2 ¡ ©â  ¯® ᬥ饭¨î FF00+<byte> (-1..-256)
0100<byte> - ª®¯¨à®¢ âì 3 ¡ ©â  ¯® ᬥ饭¨î FF00+<byte>
0101abcd<byte> - ª®¯¨à®¢ âì 3 ¡ ©â  ¯® ᬥ饭¨î (F[abcd]-1)*256+<byte> (-257..-4352)
¡®«¥¥ ¤«¨­­ë¥ áá뫪¨ 㤮¡­® ¯à¥¤áâ ¢¨âì ¢ ¢¨¤¥ 3 ç á⥩:
¯à¥ä¨ªá: 011
¤«¨­  áá뫪¨:
1a -> 4+[a]
01ab -> 6+[ab]
001abc -> 10+[abc]
0001abcd -> 18+[abcd]
00001abcde -> 34+[abcde]
000001abcdef -> 66+[abcdef]
0000001abcdefg -> 130+[abcdefg] (âãâ ¤«¨­  ­¥ ¡®«¥¥ 255!)
ᬥ饭¨¥:
0<byte> - FF00+<byte> ­ § ¤ (-1..-256)
1abcd<byte> - (F[abcd]-1)*256+<byte> (-257..-4352)
Œ¥âª  ª®­æ  ¯®â®ª :
011000000001
¯à¨¬¥àë:
000111 - ¯®¢â®à¨âì ¯®á«¥¤­¨© ¡ ©â
001<byte=FF> - ¯®¢â®à¨âì ¯®á«¥¤­¨© ¡ ©â ¤¢ ¦¤ë (ᬥ饭¨¥=-1, ¤«¨­  2)
011 001101 10000<byte=0> - áá뫪  ¤«¨­®© %101+10 = 15 ¡ ©â ᮠᬥ饭¨¥¬ -4352
Lord Vader

View File

@ -0,0 +1 @@
MS Pack 01.96 MS Pack 01.96  <20>® ¬­¥­¨îHrumer' , ¢â®à  㯠ª®¢é¨ª®¢ Hrust,«ãç訬 ª®¬¯à¥áá®à®¬ ⥪á⮢ ­  ZX ¤®2000£®¤  ¡ë«MS Pack.† «ì,ª®­¥ç­®,çâ® Hrumer­¨ª®£¤  ­¥ ¯¨á « áâ â¥© ¯® ¢®¯à®á ¬ ª®¬¯à¥áᨨ ¨ ­¥ áâ « ®â¢¥ç âì ­  ¬®¨ ¢®¯- à®áë «¨ç­®,   ¢¥¤ì ¥£® ¨¬ï ¨ ¯à®£à ¬¬ë ¢á¯«ë¢ îâ ¢ í⮬ à §¤¥«¥ 㦥 ­¥ ¯¥à¢ë© à §. ޤ­ ª®,çâ® ¦¥ ¯à¥¤áâ ¢«ï¥â ᮡ®© ä®à- ¬ â ª®¬¯à¥áá®à Microspace? <20> á¯ ª®¢é¨ª, ª ᮦ «¥­¨î,­¥®¯â¨¬ «¥­ ¯® ¤«¨­¥. ‘âàãªâãà  ¯¥à¥å®¤®¢ ¯®¤¤ ñâáï ®¯â¨- ¬¨§ æ¨¨, «¨è­¨©XOR A,¬ «®¯®«¥§­®¥ á®åà - ­¥­¨¥HL'...<08>® ᪮à®áâì ¤¥ª®¬¯à¥áᨨ ¯à¨- «¨ç­ ï - ­ ¯à¨¬¥à,¤«ï 㯠ª®¢ª¨ <20>‡“MS Pack ¨ ᥣ®¤­ï ¯®ç⨠­¥§ ¬¥­¨¬. ‚¥¤ì ¢ ­ñ¬ á«®- ¢ àì, ¢ ®â«¨ç¨¥ ®â Hrum,á®áâ ¢«ï¥â ¢áî ¤«¨­ã ä ©« . Š®­¥ç­®,í⮠᪠§ «®áì ­  ᪮- à®á⨠ᠬ®£® 㯠ª®¢é¨ª . •íè¨à®¢ ­¨ï ¤«ï ã᪮७¨ï ¯®¨áª  ¯®¢â®à®¢ ­¥â ­¨ ¢Hrum, ­¨ ¢MS Pack. ˆ¬¥îâáï ¡¨â®¢ë© ¨ ¡ ©â®¢ë© ¯®â®ª¨,¡¨â®- ¢ë© ¯®â®ª ¢ë¡¨à ¥âáï ¯® 2 ¡ ©â . „«ï à ¡®- âë ¨á¯®«ì§ã¥âáï á⥪ (¯à¨­æ¨¯ ADD HL,HL: DJNZ:POP HL:LD B,C).  “¯ ª®¢ ­­ë© ¡«®ª ¤®«¦¥­ «¥¦ âì ¯®á«¥ à á¯ ª®¢é¨ª  (Hrum-¯®¤®¡­ë© ¯à¨­æ¨¯). <20>ã- ¤¥¬ ®âáç¨â뢠âì ¡ ©âë ®â ­ ç «  à á¯ ª®¢- 騪 : +#e9-  ¤à¥á,¯® ª®â®à®¬ã «¥¦ â5¡ ©â ª®­- æ  ä ©« . ’®ç­¥¥, ¤à¥á+4, â.ª.¡ ©âë ª®¯¨- àãîâáï ç¥à¥§LDDR.<04>®ç¥¬ã5¡ ©â ­¥ «¥¦ â ­¥¯®á।á⢥­­® ¡¥§ 㪠§ â¥«ï? ’¥¬ ¡®«¥¥ çâ®4¡ ©â  (¨«¨ ¤ ¦¥6,¥á«¨ ¢ ª®­æ¥ ¤¥- ª®¬¯à¥áá®à  ­¥JP, RET)¤® 㯠ª®¢ ­­®£® ¡«®ª  ­¥ ¨á¯®«ì§ãîâáï? …᫨ ¡ë5¡ ©â ª®- ­æ  ä ©«  «¥¦ «¨ ¢¯à¨âëª §  ¤¥¯ ª¥à®¬, ¨å ­¥ ¯à¨è«®áì ¡ë ¨ ¯¥à¥¡à á뢠âì! ’ ª çâ® íâ® à¥è¥­¨¥  ¢â®à®¢ ¤®¢®«ì­® áâà ­­®. +#eb-2¡ ©â HL¤«ï ¯¥à¥¬¥é¥­¨ï 㯠ª®- ¢ ­­®£® ¡«®ª  (á ¯®¬®éìîLDDR); +#ed-2¡ ©â DE, ­ «®£¨ç­®; +#ef-2¡ ©â BC, ­ «®£¨ç­®; +#f1-  ¤à¥á, ªã¤  à á¯ ª®¢ë¢ âì(DE'); +#f3- ¯¥à¢ë¥2¡ ©â  ¡¨â®¢®£® ¯®â®ª . „ «¥¥ ᮣ« á­® ¡¨â®¢®¬ã ¯®â®ªã: %0- ¯à®áâ® ¡ ©â (¨§ ¡ ©â®¢®£® ¯®â®ª ); %100-puts=2.Š®à®âª ï áá뫪 : disp8 ¢ ¡ ©â®¢®¬ ¯®â®ª¥(1..256,¯à¨çñ¬0ᮮ⢥- âáâ¢ã¥â1¨ â.¤.!); %101-puts=3; %110-puts=4; %11101-puts=5; %11110-puts=6; %1111100-puts=7; %1111101-puts=8; %1111110-puts=9; %111111100-puts=10; %111111101-puts=11; %111111110-puts=12; %11111111100-puts=13; %11111111101-puts=14; %11111111110-puts=15; %11111111111-puts=16; %11100- ¢§ïâì ­¥ª¨©byte¨§ ¡ ©â®¢®£® ¯®- ⮪ . …᫨-1,â® ¯à¥à¢ âì à á¯ ª®¢ªã. …᫨-2,â® á«¥¤ãî騥 2¡ ©â  ¢ ¡ ©â®¢®¬ ¯®â®ª¥ - íâ® puts, ¨­ ç¥ puts=byte+17= =17..270.  <20>®â®¬ ¤«ï ¢á¥å ááë«®ª,ªà®¬¥puts=2(¤«ï ­¥ñ ¢ëè¥ ¡ë«® ­ ¯¨á ­® ®á®¡®), á«¥¤ãî騬 ®¡à §®¬ ¢ëç¨á«ï¥âáïdisp(ãçâ¨â¥, çâ® ¢MS Packdisp­¥áâ ­¤ àâ­ë© - ®­ ¢ëç¨â ¥âáï ¨§  ¤à¥á -1! ˆ¬¥­­® ¯®í⮬㠢puts=2ãâ®ç­¥- ­®, ç⮠祬ã ᮮ⢥âáâ¢ã¥â!): %1-  ­ «®£¨ç­®puts=2; %0000-dispH=1,§¤¥áì ¨ ¤ «¥¥dispL¡¥àñ- âáï ¨§ ¡ ©â®¢®£® ¯®â®ª  ¯®á«¥dispH; %0001-dispH=2; %00100-dispH=3; %00101-dispH=4; %00110-dispH=5; %00111-dispH=6; %010000-dispH=7; %010001-dispH=8; %010010-dispH=9; %010011-dispH=10; %010100-dispH=11; %010101-dispH=12; %010110-dispH=13; %0101110-dispH=14; %0101111-dispH=15; %0110000-dispH=16; ... %0111110-dispH=30; %0111111-dispH¨§ ¡ ©â®¢®£® ¯®â®ª .  ¯®¤£®â®¢¨« €. Š®¤¥à

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
PCD v6.2 Powerful Code Decreaser v6.2  “¯ ª®¢é¨ª ¢ ᢮ñ ¢à¥¬ï ¨á¯®«ì§®¢ «áï ¤«ï ᦠâ¨ï RGB ª à⨭®ª(.Y).‚®§¬®¦­®, ¨¬ 㯠ª®¢ ­ë ¬­®£¨¥ ¦ãà­ «ë. ‚®§¬®¦­®, ¨¬¥­­® §¤¥áì ¯®ï¢¨«®áì áâ ­¤ àâ­®¥ ¤¥à¥¢® ¨§16 ¢ à¨ ­â®¢,ª®â®à®¥ ¢¯®á«¥¤á⢨¨ ¯®¯ «® ¢MS Pack, Hrum, Hrust...<05>¥ ¡¥àãáì ã⢥ত âì ­¨ç¥£®... ª®¬¯«¥ªâ¥ á ª®¬¯à¥áá®à®¬ ¯à¨« £ îâáï à á¯ ª®¢é¨ª¨ ¢ ¨á室­¨ª å. <20>â® à¥è ¥â ¬­®- £¨¥ ¯à®¡«¥¬ë,¤ ¢ ï ¢®§¬®¦­®áâì ¢ë¡à âì,ª ª ¨á¯®«ì§®¢ âì à á¯ ª®¢é¨ª. <20> á¯ ª®¢é¨ª¨ ­¥- ¤®áâ â®ç­® ®¯â¨¬¨§¨à®¢ ­ë,­® ­ «¨ç¨¥ ¨áå®- ¤­¨ª®¢ ¯®§¢®«ï¥â à¥è¨âì ¨ íâ®â ¢®¯à®á. ˆ¬¥îâáï ¡¨â®¢ë© ¨ ¡ ©â®¢ë© ¯®â®ª¨,¡¨â®- ¢ë© ¯®â®ª ¢ë¡¨à ¥âáï ¯® 2 ¡ ©â . „«ï à ¡®- âë ¨á¯®«ì§ã¥âáï á⥪ (¯à¨­æ¨¯DJNZ:POP HL: LD B,C:ADD HL,HL). “¯ ª®¢ ­­ë© ¡«®ª ­ ç¨­ ¥âáï á5¡ ©â, ®â­®áïé¨åáï ª ª®­æã ä ©« , ¯®â®¬ «¥¦ â2 ¯¥à¢ëå ¡ ©â  ¡¨â®¢®£® ¯®â®ª . „ «¥¥ ᮣ« á­® ¡¨â®¢®¬ã ¯®â®ªã: %1- ¯à®áâ® ¡ ©â (¨§ ¡ ©â®¢®£® ¯®â®ª ); %000,xxxx-puts=1.‘¢¥à媮à®âª ï áá뫪  á disp=xxxx+1=1..16; %001-puts=2.Š®à®âª ï áá뫪 ,dispL¨§¢- «¥ª ¥âáï ¨§ ¡ ©â®¢®£® ¯®â®ª . …᫨-1,â® ¢ë室 ¨§ à á¯ ª®¢é¨ª ,¨­ ç¥dispL­  ¥¤¨- ­¨æã ¡®«ìè¥ ¯à®ç¨â ­­®£®; %010-puts=3.‡¤¥áì ¨ ¤ «¥¥ á«¥¤ãî騬 ®¡- à §®¬ ®¯à¥¤¥«ï¥âáïdisp:¨§ ¡ ©â®¢®£® ¯®- ⮪  áç¨â뢠¥âáïdispL, dispH¨§ ¡¨â®- ¢®£® ¯®â®ª  ¯® ¤¥à¥¢ã:  %0-dispH=0,  %1000-dispH=1,  %1010-dispH=2,  %1100-dispH=3,  %1110-dispH=4,  %1011000-dispH=5, ¨ â.¤. Š®¤ë ­ ç¨­ îâáï á ¥¤¨­¨æë ¨ ¨¬¥îâ áâàãªâãàã:2 ¨­ä®à¬ æ¨®­­ëå ¡¨â ,1¡¨â ¯à¨§­ ª  ®ª®­ç ­¨ï(0=®ª®­ç ­¨¥)¨ â.¤.„® 8¡¨âdispH. Šàã¯­ë© ­¥¤®áâ â®ª - ᮢ¥à- 襭­® ­¥ ¨á¯®«ì§ãîâáï ª®¤ë,­ ç¨­ î騥áï á %1001... %01101-puts=4; %01110-puts=5; %0111100-puts=6; %0111101-puts=7; %0111110-puts=8; %011111100-puts=9; %011111101-puts=10; %011111110-puts=11; %01111111100-puts=12; %01111111101-puts=13; %01111111110-puts=14; %01111111111-puts=15; %01100- ¢§ïâì ­¥ª¨©byte¨§ ¡ ©â®¢®£® ¯®- ⮪ . …᫨0,â® áç¨â âì 2¡ ©â puts¨§ ¡ ©â®¢®£® ¯®â®ª , ¨­ ç¥puts=byte+15.  ¯®¤£®â®¢¨« €. Š®¤¥à

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
запускаемый файл для DNA OS и iS-DOS.
первые три байта - t,r,f
далее два байта - стартовый адрес,далее - сам кодовой блок.

View File

@ -0,0 +1 @@
384x304 viewer „ ­­ ï ¯à®£à ¬¬  ¯®§¢®«ï¥â ¯à®á¬ âà¨Ä ¢ âì æ¢¥â­ë¥ ª à⨭ª¨,¯® à §¬¥à ¬ ¯à¥¢ëè Ä î騥 íªà ­ (¨¬¥¥âáï ¤¢  ०¨¬  -256x192¨ 384x304,®­¨ ¯¥à¥ª«îç îâáï ª­®¯ª®©"0"). <0A>ணࠬ¬  ®ä®à¬«¥­  ¢ ¢¨¤¥ ¨á室­¨ª  (â.¥. ç¥à­®¢®© ¢ à¨ ­â, á ª®â®àë¬ ¬®¦¥â¥ ¯®íªáÄ ¯¥à¨¬¥­â¨à®¢ âì ¨ ¢ë - ®­ ¯à¥ªà á­® ¯à®Ä ª®¬¬¥­â¨à®¢ ­), ­ §¢ ­¨ï ä ©«®¢ ª à⨭ª¨ 㪠§ë¢ îâáï ¢INCBIN' å¢ ª®­æ¥. Š à⨭ª  ¤®«¦­  ¨¬¥âì ä®à¬ âch$,áâàãªâãàã ª®â®à®Ä £® ï ᥩç á à á᪠¦ã. +0"chr$" +4è¨à¨­  ¢ §­ ª®¬¥áâ å +5¢ëá®â  ¢ §­ ª®¬¥áâ å +6à §¬¥à §­ ª®¬¥áâ  ¢ ¡ ©â å:  8=ç/¡,  9=梥⭮¥,  18=2-íªà ­­®¥ 梥⭮¥. +7¢á¥ §­ ª®¬¥áâ , á«¥¢  ­ ¯à ¢®, ᢥàåã ¢­¨§. <20>ணࠬ¬  á ¯à¨¬¥à®¬ ª à⨭ª¨ «¥¦¨â ¢ ¯à¨«®¦¥­¨¨, ¢  à娢¥ .rar. ˆá室­¨ª ª®­¢¥àâ®à  ¨§ ç¥âëàñåimg¢ ®¤¨­ ch$ ¯à¨« £ ¥âáï.ch$â ª®£® à §¬¥à  ª ª à § § ­¨¬ ¥â ¯®ç⨠¢áî ᢮¡®¤­ãî 128k ¯ ¬ïâì, ­¥ § ­ïâãî ०¨¬®¬384x304. Šà®¬¥ ⮣®, ª®­¢¥àâ¨à®¢ âì ®¡ëç­ë© íªÄ à ­ ¢ch$㬥¥â ­®¢ ï ¢¥àá¨ï ¬®¥£® íªà ­Ä ­®£® ª®­¢¥àâ®à to8c. Alone Coder

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,114 @@
Äåêîìïðåññîð Ìåäíîíîãîâà, èñïîëüçîâàâøèéñÿ, ïî-âèäèìîìó, â "׸ð-
íîì Âîðîíå", ëþáîïûòåí òåì,÷òî áèòîâûé ïîòîê â åãî ôîðìàòå îòñó-
òñòâóåò - íåñìîòðÿ íà îñíîâàííîå íà LZ ñæàòèå. Çà ñ÷¸ò ýòîãî ïî-
ëó÷åí íåêîòîðûé âûèãðûø â ñêîðîñòè è ïðîèãðûø â ïëîòíîñòè.
 òåêñòå êîììåíòàðèè: æ¸ëòûå - àâòîðñêèå, çåë¸íûå - ìîè.
;Äåêîìïðåññîð äëÿ v 3.01
;HL-îòêóäà DE-êóäà
;DLPCB DEFM "v301"
DELPZ PUSH DE
LD DE,DLPCB
LD BC,4
LDIR
POP DE
xpD0 LD A,(HL)
SRL A
JR NC,xpD1
CALL xpSUB ;short copy
RRA ;%AAAlenB1
RL B ; ^^^nopacked
AND 7
xpM2 JR NZ,xpNex ;len<=9
LD A,(HL) ;len>9
INC HL
xpNex LD C,(HL) ;disp (ñ ó÷¸òîì B)
INC HL
PUSH HL
LD H,D
LD L,E
SBC HL,BC
LD B,0
LD C,A
xpM1 INC BC
INC BC ;>=3
LDIR
POP HL
EX AF,AF'
JR Z,xpD0
JR NZ,xpDRR ;nocompr 1..7
xpD1 RRA
JR C,xpZ1
RRA
JR C,xpZ2
JR Z,xpDEND ;%xxxxx000
INC HL
xpDRR LD B,A ;nocompr 1..31
xpDL0 LD A,(HL)
INC HL
XOR (HL)
LD (DE),A
INC DE
DJNZ xpDL0
JR xpD0
xpZ2 SRL A ;%xxxxx100 ;repeat
JR C,xpZ2L
LD C,A
XOR A
EX AF,AF'
xpZ22 INC HL
PUSH HL
LD H,D
LD L,E
DEC HL
JR xpM1
xpZ2L CALL xpSUB ;%xxxX1100
RRA ; ^
RL B ;0/1
LD C,(HL)
JR xpZ22
xpZ1 SRL A ;%xxxxxx10
JR NC,xpTWO
LD C,A ;%xxxxx110 ;long copy
INC HL
LD A,(HL)
AND #1F
LD B,A
LD A,C
CALL xpSUB
OR A
JR xpM2
xpTWO INC A ;äâà áàéòà %xxxxx010
LD C,A ;=1..32
INC HL
PUSH HL
LD H,D
LD L,E
SBC HL,BC
LD C,2
LDIR
POP HL
JR xpD0
xpDEND LD HL,DLPCB ;%xxxxx000
LD C,4
LDIR
RET
xpSUB EX AF,AF' ;ïîìåñòèòü 3 ñò.áèòà òåêóùåãî áàéòà â A'
LD A,(HL)
RLCA
RLCA
RLCA
AND 7
EX AF,AF'
INC HL
RET

BIN
Docs/FORMATS/mod.rar Normal file

Binary file not shown.

23
Docs/FORMATS/scl.hdr Normal file
View File

@ -0,0 +1,23 @@
.SCL δ ©«λ
----------
”®p¬ β scl ―p¨¤y¬ « Pavel Nedelin (Paul Pavlov) ¨ ―®<E28095>  ¬¥­οβμ ¥£®
­¥ α®΅¨p ¥βαο :) (Ά¥«¨<C2AB>  <20>®««¥<C2AB>ζ¨ο α<>®­Ά¥pη¥­λε δ ©«®Ά)
βpy<EFBFBD>βyp  α«¥¤yξι ο:
- ―¥pΆλ¥ 8 ΅ ©β - SINCLAIR (®βαξ¤  ¨ p αθ¨p¥­¨¥ - scl :)
- ΅ ©β 9 - η¨α«® ΅«®<C2AB>®Ά
―®α«¥ η¥£®:
- § £®«®Ά®<CE86> 1-£® δ ©«  (14 ΅ ©β ¨§ <20> β «®£  ΅¥§ track/sec)
 £®«®Ά®<CE86> 2-£® δ ©« , ...]
§ β¥¬:
- <20>®¤®Άλ© ΅«®<C2AB> 1
[<5B>®¤®Άλ© ΅«®<C2AB> 2, ...]
¨ ­ <C2AD>®­¥ζ:
- ―®α«¥¤­¨¥ 4 ΅ ©β  - <20>®­βp®«μ­ ο αy¬¬  ( p¨δ¬¥β¨η¥α<C2A5> ο)
®β«¨η¨¥ ®β β ―®Άα<CE86>®£® δ®p¬ β  § £®«®Ά<C2AE>¨ ­¥ ―¥p¥¬¥θ¨Ά ξβαο
α <20>®¤®Άλ¬¨ ΅«®<C2AB> ¬¨ - ¤«ο y¤®΅αβΆ  ―®α¥<CEB1>β®p­®£® <20>®―¨p®Ά ­¨ο
Ά tr-dos ¨«¨ ­  trd.

25
Docs/FORMATS/scr.hdr Normal file
View File

@ -0,0 +1,25 @@
.SCR-ä ©«ë
-----------
.SCR-ä ©«ë - íâ® ¤ ¬¯ë ¯ ¬ï⨠¯¥à¢ëå 6912 ¡ ©â®¢ ‘¯¥ªâà㬮¢áª®£® އ“.
‘¢ï§ì ¬¥¦¤ã ª®®à¤¨­ â ¬¨ x ¨ y ¨  ¤à¥á ¬¨ ¢ ¤¨á¯«¥©­®¬ ä ©«¥ á«¥¤ãîé ï:
16384+INT (x/8)+1792*INT (y/64)-2016*INT (y/8)+256*y
Ÿ ¯®­¨¬ î, çâ® íâ® ­¥ «ãç訩 ᯮᮡ à á᪠§ë¢ âì ®¡ ®à£ ­¨§ æ¨¨ íªà ­ 
‘¯¥ªâà㬠, ­® ¥á«¨ ®ç¥­ì ­ ¯à殮­­® ¯®¬®§£®¢ âì ­ ¤ í⮩ ä®à¬ã«®©, â®
¨§ ­¥¥ ¬®¦­® "¢ëâï­ãâì" ¢áî ­¥®¡å®¤¨¬ãî ¨­ä®à¬ æ¨î. Œ« ¤è¨¥ âਠ¡¨â 
ª®®à¤¨­ âë x ®¯à¥¤¥«ïîâ ª ª®© ¡¨â ¢  ¤à¥á¥ ᮮ⢥âáâ¢ã¥â ¤ ­­®¬ã
¯¨ªá¥«ã. ’ ª ï ¯®¡¨â­ ï à áª« ¤ª  ®â¢¥ç ¥â ¡®«ì襩 ç á⨠íªà ­­®©
¯ ¬ïâ¨: 256*192/8=6144 ¡ ©â®¢. Žáâ «ì­ë¥ 768 ¡ ©â®¢ åà ­ïâ ¨­ä®à¬ æ¨î ®
梥⮢ëå  âਡãâ å íªà ­ . €¤à¥á ¢ ä ©«¥  âਡã⮢, ᮮ⢥âáâ¢ãî騩
ª®®à¤¨­ â¥ x,y ¬®¦¥â ¡ëâì ­ ©¤¥­ ¯® ä®à¬ã«¥:
22528+INT (x/8)+32*INT (y/8)
Œ« ¤è¨¥ âਠ¡¨â  ¢ ¡ ©â¥  âਡã⮢ ®¯à¥¤¥«ïîâ æ¢¥â ¯¥à¥¤­¥£® ¯« ­ 
(梥⠢ª«î祭­ëå ¯¨ªá¥«®¢). <20>¨âë 3-5 ᮮ⢥âáâ¢ãîâ æ¢¥âã ä®­ . <20>¨â 6 -
¡¨â ïમáâ¨,   ¡¨â 7 - ¯à¨§­ ª ¬¨£ ­¨ï. …᫨ ®­ ¢ª«î祭, â® ç¥à¥§
ª ¦¤ë¥ 16/50 ¤®«¥© ᥪ㭤ë ULA ¯¥à¥ª«îç ¥â æ¢¥â  ¯¥à¥¤­¥£® ¨ § ¤­¥£®
¯« ­ .

79
Docs/FORMATS/sna Normal file
View File

@ -0,0 +1,79 @@
=======================================================================
| Forwarded by Vyacheslav Mednonogov (2:5030/675.30)
| Area : ZX.SPECTRUM.ARCHIVE (ZX.SPECTRUM.ARCHIVE)
| From : Michael Markowsky, 2:5020/378 (10 Oct 96 18:12)
| To : All
Subj : .SNA
=========================================================================
Hello, All!
<EFBFBD> § 㦠ãâ ¯®è¥« p §£®¢-ä ©« å, â® ¢®â ¥£® ä®p¬ â (¨§ ¨­â¥p­¥â®¢áª®£®
SPECTRUM.FAQ, ¢ ª®â®p®¬, áp¥¤¨ ¯p®ç¥£®, ®¯¨á ­ë ä®p¬ âë p §«¨ç­ëå á­ ¯è®â®¢):
=====================================================================
2. Mirage Microdrive .SNA format used by Spectrum 1.7 and JPP
Notice, that in Intel CPUs the least significant byte goes first.
When the registers have been loaded, a RETN command is required to
start the program. IFF2 is short for interrupt flip-flop 2, and for
all practical purposes is the interrupt-enabled flag. Set means
enabled.
ffset Size
------------------------------------------------------------------------------
0 1 db I
1 8 dw HL',DE',BC',AF'
9 10 dw HL,DE,BC,IY,IX
19 1 db Interrupt (bit 2 contains IFF2, 1=EI/0=DI)
20 1 db R
21 4 dw AF,SP
25 1 db IntMode (0=IM0/1=IM1/2=IM2)
26 1 db BorderColor (0..7, not used by Spectrum 1.7)
27 49152 RAM dump 16384..65535
------------------------------------------------------------------------------
Total: 49179 bytes
==============================================================================
Šáâ â, ¦¥« î騥 ¬®£ã íâ®â FAQ:
SPE_FAQ.LZH 249696 [004] comp.sys.sinclair
Sinclair ZX Spectrum FAQ
v.2.7 (February 13 1995)
€ ¥á« ã ª®£®-â® ¥áâ좥¦¨© FAQ, â® å®p®è® ¡ë ¥£® á § ª¨­ãâì ¨«¨ ¢
ä ©«íåã.
est wishes! Mi-+-
+ Origin: KLUG's BBS _ 0:00-7:30 _ USR Courier V.Evr HST DS (2:5020/378)
==========ReadMeAgai==============================================
t Msg, All!
[I---------------ï稬 ¯à¨¢¥â®¬, ‘« ¢ !
‚¨àâã «ì­ ï <20>¥ «ì­ ï …¤¨­¨æ  <-------- H¥ïન© †¥¬çã£
mailme: copper_feet@mail.ru icq#me: 81191986
--- GNS-2000 v.3.00. * Origin: -= MADE BY COPPER FEET =- (2:5030/675.30)
struct hdrSNA128 {
unsigned char i;
unsigned short althl, altde, altbc, altaf;
unsigned short hl, de, bc, iy, ix;
unsigned char iff1; /* 00 - reset, FF - set */
unsigned char r;
unsigned short af, sp;
unsigned char im,pFE;
unsigned char page5[PAGE]; // 4000-7FFF
unsigned char page2[PAGE]; // 8000-BFFF
unsigned char active_page[PAGE]; // C000-FFFF
/* 128k extension */
unsigned short pc;
unsigned char p7FFD;
unsigned char trdos;
// unsigned char pages[PAGE]; // all pages, except already saved
// (m.b. 5 or 6 pages)
};

66
Docs/FORMATS/tap.hdr Normal file
View File

@ -0,0 +1,66 @@
.TAP-ä ©«ë:
-----------
<20>⨠䠩«ë ᮤ¥à¦ â ¡«®ª¨ ¤ ­­ëå, á®åà ­¥­­ëå ª ª ¡ë ­  «¥­âã. ‚á¥
¡«®ª¨ ­ ç¨­ îâáï á ¤¢ãå ¡ ©â®¢, ¢ ª®â®àëå 㪠§ ­® ᪮«ìª® ¡ ©â®¢ § 
­¨¬¨ á«¥¤ã¥â (­¥ áç¨â ï íâ¨å ¤¢ãå ¡ ©â®¢). ‡ â¥¬ ¨¤ãâ á ¬¨ ¤ ­­ë¥,
¢ª«îç î騥 ä« £®¢ë© ¡ ©â ¨ ¡ ©â ª®­â஫쭮© á㬬ë. <20> ©â ª®­â஫쭮©
áã¬¬ë ¯®«ãç ¥âáï ¢ १ã«ìâ â¥ ¯®á«¥¤®¢ â¥«ì­®© ®¯¥à æ¨¨ XOR ¤«ï ¢á¥å
¡ ©â®¢, ¢ª«îç ï ä« £®¢ë© ¡ ©â. <20> ¯à¨¬¥à, ¥á«¨ ¢ë § å®â¨â¥ ¢ë£à㧨âì
¯ àã ¡ ©â®¢ ¨§ <20>‡“ ª®¬ ­¤®©: SAVE "ROM" CODE 0,2, â® ¯®«ãç¨â¥ ¢
१ã«ìâ â¥:
|-----„ ­­ë¥, £¥­¥à¨àã¥¬ë¥ ‘¯¥ªâà㬮¬--| |---------|
13 00 00 03 52 4f 4d 7x20 02 00 00 00 00 80 f1 04 00 ff f3 af a3
^^^^^...... ¤«¨­  ¯¥à¢®£® ¡«®ª  (19¡.=17¡.åí¤¥à+ä« £+ª®­âà.á㬬 )
^^... ä« £®¢ë© ¡ ©â (00 ¤«ï åí¤¥à , ff ¤«ï ¡«®ª  ¤ ­­ëå)
^^ ¯¥à¢ë© ¡ ©â åí¤¥à , 㪠§ë¢ î騩 ­  ⨯ ¤ ­­ëå
¨¬ï ä ©«  ..^^^^^^^^^^^^^
¨­ä®à¬ æ¨ï ¢ åí¤¥à¥.......^^^^^^^^^^^^^^^^^
ª.á. åí¤¥à .................................^^
¤«¨­  ¢â®à®£® ¡«®ª ............................^^^^^
ä« £®¢ë© ¡ ©â 2-£® ¡«®ª ..............................^^
¯¥à¢ë¥ ¤¢  ¡ ©â  <20>‡“....................................^^^^^
ª®­â஫쭠ï á㬬  ¯¥à¢ëå ¤¢ãå ¡ ©â®¢ ¨ ä« £®¢®£® ¡ ©â ........^^
<20>¬ã«ïâ®à ¢á¥£¤  áç¨â뢠¥â ¡ ©âë á ­ ç «  ¡«®ª . …᫨ § £à㦠¥âáï
¬¥­ìè¥ ¡ ©â®¢, 祬 ¥áâì ¢ ­ «¨ç¨¨, â® «¨è­¨¥ ¡ ©âë ¯à®¯ã᪠îâáï ¨
¯®á«¥¤­¨© § £à㦥­­ë© ¡ ©â à áᬠâਢ ¥âáï ª ª ª®­â஫쭠ï á㬬 . …᫨
§ ¯à è¨¢ ¥âáï ­  § £à㧪㠡®«ìè¥ ¡ ©â®¢, 祬 ¥áâì ¢ ­ «¨ç¨¨, â®
§ £à㦠îé ï ¯à®æ¥¤ãà  ¯à¥à뢠¥âáï á ¢ª«î祭¨¥¬ ä« £ ,
ᢨ¤¥â¥«ìáâ¢ãî饣® ®¡ ®è¨¡ª¥ ¢¢®¤  á «¥­âë. Ž¡à ¡®âªã ®è¨¡ª¨
¯à®¨§¢®¤¨â ¢ë§ë¢ ¥¬ ï Z80 ¯à®æ¥¤ãà .
Ž¡à â¨â¥ ¢­¨¬ ­¨¥ ­  â®, çâ® ¬®¦­® ®¡ê¥¤¨­ïâì .<E28099>-ä ©«ë ¯à®áâë¬
"¯à¨á⥣¨¢ ­¨¥¬" ¨å ¤à㣠ª ¤àã£ã, ­ ¯à¨¬¥à â ª:
COPY /B FILE1.TAP + FILE2.TAP ALL.TAP
„«ï ¯®«­®âë ª à⨭ë ï ¢ª«îçã á ¦¥ ¨ áâàãªâãàã åí¤¥à . Ž­ ¢á¥£¤ 
á®á⮨⠨§ 17 ¡ ©â®¢:
<20> ©â „«¨­  ޝ¨á ­¨¥
0 1 ’¨¯ ä ©«  (0,1,2 ¨«¨ 3)
1 10 ˆ¬ï ä ©«  (¥á«¨ ¬¥­ìè¥ 10 ᨬ¢®«®¢, ¢áâ ¢«ïîâáï
¯à®¡¥«ë )
11 2 „«¨­  ¡«®ª  ¤ ­­ëå
13 2 <20> à ¬¥âà 1
15 2 <20> à ¬¥âà 2
’¨¯ ä ©«  0,1,2,3 ᮮ⢥âáâ¢ã¥â: ¯à®£à ¬¬¥, ç¨á«®¢®¬ã ¬ áᨢã,
ᨬ¢®«ì­®¬ã ¬ áᨢã, ¡«®ªã ª®¤®¢. <20>ªà ­­ë¥ ä ©«ë SCREEN$
à áᬠâਢ îâáï ª ª ä ©«ë ª®¤®¢, ­ ç¨­ î騥áï ¢ 16384 ¨ ¨¬¥î騥 ¤«¨­ã
6912 ¡ ©â®¢. …᫨ ä ©« ï¥âáï ¯à®£à ¬¬®©, â® ¯ à ¬¥âà-1 ᮤ¥à¦¨â
­®¬¥à áâப¨  ¢â®áâ àâ  ¨«¨ ç¨á«®, ¡®«ì襥, 祬 32768, ¥á«¨ ­®¬¥à
áâப¨  ¢â®áâ àâ  ­¥ 㪠§ ­. ¯ à ¬¥âà-2 ᮤ¥à¦¨â ᬥ饭¨¥  ¤à¥á 
¯à®£à ¬¬­ëå ¯¥à¥¬¥­­ëå ®â­®á¨â¥«ì­®  ¤à¥á  ­ ç «  ¯à®£à ¬¬ë. „«ï ¡«®ª 
ª®¤®¢ ¯ à ¬¥âà-1 ᮤ¥à¦¨â  ¤à¥á, ¨§ ª®â®à®£® íâ®â ¡«®ª ¢ë£à㦠«áï,  
¯ à ¬¥âà 2 ᮤ¥à¦¨â ç¨á«® 32768. „«ï ä ©«®¢ ¤ ­­ëå (¬ áᨢ®¢) ¡ ©â,
à á¯®«®¦¥­­ë© ¢ ¯®§¨æ¨¨ 14 ᮤ¥à¦¨â ¨¬ï ¯¥à¥¬¥­­®©.

102
Docs/FORMATS/trd.hdr Normal file
View File

@ -0,0 +1,102 @@
.TRD д ©«л
----------
ќ«Ґ¬Ґ­в Є в «®Ј .
ДДДДДДДДДДДДДДДДД
Љ ¦¤®¬г д ©«г ў ®Ў« cвЁ Є в «®Ј  cв ўЁвcп ў c®®вўҐвcвўЁҐ в Є
­ §лў Ґ¬л© н«Ґ¬Ґ­в Є в «®Ј , p ў­л© 16 Ў ©в ¬. ’ ЄЁ¬ ®Ўp §®¬ ­  ®¤­®©
¤ЁcЄҐвҐ, ­Ґ§ ўЁcЁ¬® ®в ®ЎкҐ¬ , ¬®¦Ґв Ўлвм § ЇЁc ­® ¤® 128 д ©«®ў.
в Ў«ЁжҐ ЇpЁўҐ¤Ґ­ д®p¬ в н«Ґ¬Ґ­в  Є в «®Ј . ќвЁе ¤ ­­ле ўЇ®«­Ґ ¤®cв в®з­®
¤«п ®ЇЁc ­Ёп «оЎ®Ј® ў®§¬®¦­®Ј® д ©« .
ЙНННННННННСНННННСННННННННННННННННННННН»
єC¬ҐйҐ­ЁҐ і„«Ё­ і H §­ зҐ­ЁҐ є
є®в ­ з « і і є
ЗДДДДДДДДДЕДДДДДЕДДДДДДДДДДДДДДДДДДДДД¶
є #00 і 8 і €¬п д ©«  є
є #08 і 1 і ’ЁЇ д ©«  є
є #09 і 2 і Џ p ¬Ґвp START є
є #0B і 2 і Џ p ¬Ґвp LENGTH є
є #0D і 1 і Љ®«ЁзҐcвў® cҐЄв®p®ў є
є #0E і 1 і H®¬Ґp 1Ј® cҐЄв®p  є
є #0F і 1 і H®¬Ґp ¤®p®¦ЄЁ є
ИНННННННННПНННННПНННННННННННННННННННННј
ќ«Ґ¬Ґ­вл Є в «®Ј  p cЇ®«®¦Ґ­л ў ⮬ Ї®pп¤ЄҐ, ў Є Є®¬ еp ­пвcп
д ©«л. …c«Ё нв®в Ї®p冷Є ­ pгиЁвм, в® TR-DOS Ўг¤Ґв Їp ўЁ«м­® cзЁвлў вм
Ё­д®p¬ жЁо, ­® ў ­ҐЄ®в®pлегз пе ў®§¬®¦­л cЎ®Ё. Ѓ ©в c® c¬ҐйҐ­ЁҐ¬ #00
ЁcЇ®«м§гҐвcп ЋC ¤«п § ¤ ­Ёп cЇҐжЁ «м­ле  вpЁЎгв®ў д ©«г. „«п pҐ «м­®
cгйҐcвўго饣® д ©«  нв®в Ў ©в c®¤Ґp¦Ёв ЇҐpўл© cЁ¬ў®« ҐЈ® Ё¬Ґ­Ё. ЏpЁ
г¤ «Ґ­ЁЁ д ©«  ў нв®в д ©« § ЇЁcлў Ґвcп 1. HҐЇ®cpҐ¤c⢥­­® §  Ї®c«Ґ¤­Ё¬
д ©«®¬ ¤®«¦Ґ­ cв®пвм ­г«Ґў®© Ў ©в. Џ® §­ зҐ­Ёо нв®Ј® д ©«  ­ҐЄ®в®pлҐ
Є®¬ ­¤л TR-DOS ®ЇpҐ¤Ґ«пов p §¬Ґp Є в «®Ј  (CAT, LIST). Ћ¤­ Є® Є®¬ ­¤л,
ўлЇ®«­пойЁҐ § Јpг§Єг д ©«®ў Їp®c¬ вpЁў ов ўcҐ н«Ґ¬Ґ­вл Є в «®Ј , ў­Ґ
§ ўЁcЁ¬®cвЁ §­ зҐ­Ёп Ў ©в  #00.
㦥Ў­л© cҐЄв®p.
ДДДДДДДДДДДДДДДДД
㦥Ў­л© (¤Ґўпвл© cҐЄв®p ў ®Ў« cвЁ Є в «®Ј ) ЁcЇ®«м§гҐвcп cЁc⥬®©
¤«п еp ­Ґ­Ёп Ё­д®p¬ жЁЁ ® c ¬®© ¤ЁcЄҐвҐ. в Ў«ЁжҐ ЇpЁўҐ¤Ґ­ ҐЈ® д®p¬ в:
ЙНННННННННННННННСНННННННСННННННННННННННННННННННННННННННННННННННННННН»
єC¬ҐйҐ­ЁҐ ®в і „«Ё­  і ‡­ зҐ­ЁҐ є
є­ з «  cҐЄв®p  і і є
ЗДДДДДДДДДДДДДДДЕДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДє
є #00 і 1 і Ѓ ©в 0 є
є #01 і 224 і HҐ ЁcЇ®«м§гҐвcп (§ Ї®«­Ґ­® Ў ©в®¬ 0) є
є #E1 і 1 і H®¬Ґp ЇҐpў®Ј® ­Ґ§ ­пв®Ј® cҐЄв®p  ­  ¤ЁcЄҐ є
є #E2 і 1 і H®¬Ґp ¤®p®¦ЄЁ ЇҐpў®Ј® ­Ґ§ ­пв®Ј® cҐЄв®p  є
є #E3 і 1 і ’ЁЇ ¤ЁcЄҐвл є
є #E4 і 1 і Љ®«ЁзҐcвў® д ©«®ў є
є #E5 і 2 і Љ®«ЁзҐcвў® cў®Ў®¤­ле cҐЄв®p®ў є
є #E7 і 1 і €¤Ґ­вЁдЁЄ жЁ®­­л© Є®¤ TR-DOS (#10) є
є #E8 і 2 і HҐ ЁcЇ®«м§гҐвcп (§ Ї®«­Ґ­® Ў ©в®¬ 0) є
є #EA і 9 і HҐ ЁcЇ®«м§гҐвcп (§ Ї®«­Ґ­® Ў ©в®¬ 32) є
є #F3 і 1 і HҐ ЁcЇ®«м§гҐвcп (§ Ї®«­Ґ­® Ў ©в®¬ 0) є
є #F4 і 1 і Љ®«ЁзҐcвў® г¤ «Ґ­­ле д ©«®ў є
є #F5 і 8 і H §ў ­ЁҐ ¤ЁcЄҐвл є
є #FD і 3 і HҐ ЁcЇ®«м§гҐвcп (§ Ї®«­Ґ­® Ў ©в®¬ 0) є
ИНННННННННННННННПНННННННПНННННННННННННННННННННННННННННННННННННННННННј
Љ Є ўЁ¤­® Ё§ в Ў«Ёжл, ў c«г¦ҐЎ­®¬ cҐЄв®pҐ cЁc⥬®© ЁcЇ®«м§говcп
«Ёим ­ҐcЄ®«мЄ® Ў ©в, §­ зҐ­Ёп ®cв «м­ле ­Ґ ў ¦­®. €cЄ«о祭ЁҐ c®cв ў«пҐв
Ў ©в c® c¬ҐйҐ­ЁҐ¬ #00. …Ј® §­ зҐ­ЁҐ ўcҐЈ¤  ¤®«¦­® Ўлвм ­г«Ґўл¬.
„ў  Ў ©в  #E1 Ё #E2 гЄ §лў ов ­ з «® cў®Ў®¤­®© ®Ў« cвЁ ­  ¤ЁcЄҐ.
ЏpЁ c®§¤ ­ЁЁ д ©«  Ёе c®¤Ґp¦Ё¬®Ґ ЇҐpҐЇЁcлў Ґвcп ў Ў ©вЁ #0E Ё #0F
н«Ґ¬Ґ­в  Є в «®Ј . ЋЎкҐ¬ cў®Ў®¤­®© ®Ў« cвЁ еp ­Ёвcп ў ¤ўге Ў ©в е c®
c¬ҐйҐ­ЁҐ¬ #E5.
Ѓ ©в #E3 c®¤Ґp¦Ёв вЁЇ ¤ЁcЄҐвл, Є®в®pл© § ўЁcЁв ®в ЇpЁ¬Ґ­пҐ¬®Ј®
¤ЁcЄ®ў®¤ . ЏҐpҐ¤ «оЎ®© ®ЇҐp жЁҐ© c ¤ЁcЄҐв®© cЁc⥬  "­ cвp Ёў Ґвcп",
cзЁвлў п c«г¦ҐЎ­л© cҐЄв®p Ё Їp®ўҐpпп §­ зҐ­ЁҐ нв®Ј® Ў ©в .
ЙННННННННННСНННННННННННННННННННННННННННН»
є ‡­ зҐ­ЁҐ і ’ЁЇ ¤ЁcЄҐвл є
ЗДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДД¶
є #16 і 80-¤®p®¦Ґз­ п, 2-cв®p®­­пп є
є #17 і 40-¤®p®¦Ґз­ п 2-cв®p®­­пп є
є #18 і 80-¤®p®¦Ґз­ п 1-cв®p®­­пп є
є #19 і 40-¤®p®¦Ґз­ п 1-cв®p®­­пп є
ИННННННННННПННННННННННННННННННННННННННННј
„ў  Ў ©в  ў c«г¦ҐЎ­®¬ cҐЄв®pҐ ®вўҐ¤Ґ­® ¤«п еp ­Ґ­Ёп Ё­д®p¬ жЁЁ ®
Є®«ЁзҐc⢥ д ©«®ў ­  ¤ЁcЄҐвҐ. Ў ©в c® c¬ҐйҐ­ЁҐ¬ #E4 § ЇЁc ­® зЁc«®
 «м­ле н«Ґ¬Ґ­в®ў Є в «®Ј , в.Ґ. ¤Ґ©c⢨⥫쭮 cўп§ ­­ле c д ©« ¬Ё.
Ѓ ©в #F4 еp ­Ёв зЁc«® г¤ «Ґ­­ле д ©«®ў. “§­ вм зЁc«® д ©«®ў ¬®¦­® ўлзвп
§­ зҐ­ЁҐ Ў ©в  #F4 Ё§ §­ зҐ­Ёп Ў ©в  #E4.
ЏpЁ c®§¤ ­ЁЁ ­®ў®Ј® д ©« , §­ зҐ­ЁҐ Ў ©в  #E4 㢥«ЁзЁў Ґвcп ­ 
Ґ¤Ґ­Ёжг. Љ®Ј¤  ¦Ґ Їp®Ёc室Ёв г¤ «Ґ­ЁҐ д ©« , ў®§¬®¦­л ¤ў  ў  ­в .
ЏҐpўл©, Ў®«ҐҐ Їp®cв®© - Ґc«Ё г¤ «пҐвcп Ї®c«Ґ¤­Ё© д ©« ­  ¤ЁcЄҐ. н⮬
гз Ґ Ё§ Ў ©в  #E4 ўлзЁв Ґвcп Ґ¤Ґ­Ёж ,   ў ЇҐpўл© Ў ©в, cўп§ ­­®Ј® c
д ©«®¬ н«Ґ¬Ґ­в  Є в «®Ј , § ЇЁcлў Ґвcп 0. ЏpЁ н⮬ ®Ў« cвм, § ­Ё¬ Ґ¬ п
д ©«®¬, ®cў®Ў®¦¤ Ґвcп, Ё ў®ccв ­®ўЁвм в Є®© д ©« ¬®¦­® в®«мЄ® ў ⮬
гз Ґ, Ґc«Ё ­  ¤ЁcЄҐвг ­Ґ Ўл«® c¤Ґ« ­® Ї®c«Ґ¤гойЁе § ЇЁcҐ©. …c«Ё ¦Ґ
г¤ «пҐвcп ­Ґ Ї®c«Ґ¤­Ё©, в® Ґ¤Ґ­Ёж  Ўг¤Ґв ¤®Ў ў«Ґ­  ў Ў ©в c® c¬ҐйҐ­ЁҐ¬
#F4,   ў ЇҐpўл© Ў ©в cўп§ ­­®Ј® н«Ґ¬Ґ­в  Є в «®Ј  § ЇЁиҐвcп 1.
”Ё§ЁзҐcЄ®Ј® г¤ «Ґ­Ёп ­Ґ Їp®Ё§®©¤Ґв, Ё д ©« Ї® ЇpҐ¦­Ґ¬г Ўг¤Ґв § ­Ё¬ вм
¬Ґcв® ­  ¤ЁcЄҐ. HҐ 㢥«ЁзЁвcп, ҐcвҐc⢥­­®, Ё ®ЎкҐ¬ cў®Ў®¤­®© ®Ў« cвЁ.
Ґp­гвм в Є®© д ©« Їp®cв® - ­Ґ®Ўе®¤Ё¬® ў®ccв ­®ўЁвм ЇҐpўл© Ў ©в н«Ґ¬Ґ­в 
Є в «®Ј  (­Ґ § Ўлў 㬥­миЁвм ­  1 Ў ©в Ї® c¬ҐйҐ­Ёо #F4), ­® c¤Ґ« вм
нв® ¬®¦­® в®«мЄ® ¤® ўлЇ®«­Ґ­Ёп Є®¬ ­¤л MOVE.
„«п Ё¤Ґ­вЁдЁЄ жЁЁ ¤ЁcЄҐвл c«г¦Ёв Ў ©в c® c¬ҐйҐ­ЁҐ¬ #E7. HҐЄ®в®pлҐ
ЋC Ё¬Ґов c室­л© дЁ§ЁзҐcЄЁ© д®p¬ в. —в® Ўл ®в«ЁзЁвм "cў®Ё" ¤ЁcЄҐвл ®в
"зг¦Ёе" TR-DOS Є ¦¤л© p § Їp®ўҐpпҐв нв®в Ў ©в.
‡ ¤ ­­®Ґ ў Є®¬ ­¤Ґ FORMAT Ё¬п ¤ЁcЄ  еp ­Ёвмcп ў c«г¦ҐЎ­®¬ cҐЄв®pҐ
c® c¬ҐйҐ­ЁҐ¬ #F5. €¬п ¤®Ї®«­пҐвcп cЇp ў  Їp®ЎҐ« ¬Ё ¤® 8 Ў ©в®ў.
Ј¤  ‚ и, RomanRom2

177
Docs/FORMATS/z80.hdr Normal file
View File

@ -0,0 +1,177 @@
.Z80-ä ©«ë
-----------
‘â àë© ä®à¬ â ä ©«®¢ .Z80 (¤«ï ¢¥àᨩ ¤® 1.45) ¢ë£«ï¤¨â â ª:
‘¬¥é¥­¨¥ „«¨­  ޝ¨á ­¨¥
0 1 <20>¥£¨áâà €
1 1 <20>¥£¨áâà F
2 2 <20>¥£¨áâ஢ ï ¯ à  BC (á­ ç «  ¬« ¤è¨©, â.¥. )
4 2 <20>¥£¨áâ஢ ï ¯ à  HL
6 2 <20>ணࠬ¬­ë© áç¥â稪 (<28>)
8 2 “ª § â¥«ì á⥪  (SP)
10 1 <20>¥£¨áâà ¯à¥à뢠­¨© I
11 1 <20>¥£¨áâà ॣ¥­¥à æ¨¨ R (<28>¨â 7 - ­¥ §­ ç é¨©)
12 1 Bit 0 : <20> ¢¥­ 7-¬ã ¡¨âã ॣ¨áâà  R
Bit 1-3: –¢¥â ¡®à¤îà 
Bit 4 : 1- ¢¯¥ç â ­ <20>…‰ˆŠ SamRam
Bit 5 : 1- ¡«®ª ¤ ­­ëå ª®¬¯à¥áá¨à®¢ ­
Bit 6-7: <20>¥ §­ ç é¨¥
13 2 <20>¥£¨áâ஢ ï ¯ à  DE
15 2 <20>¥£¨áâ஢ ï ¯ à  BC'
17 2 <20>¥£¨áâ஢ ï ¯ à  DE'
19 2 <20>¥£¨áâ஢ ï ¯ à  HL'
21 1 <20>¥£¨áâà €'
22 1 <20>¥£¨áâà F'
23 2 <20>¥£¨áâà IY (‘­ ç «  ¬« ¤è¨©)
25 2 <20>¥£¨áâà IX
27 1 ’ਣ£¥à ¯à¥à뢠­¨©, 0=DI, ¨­ ç¥ EI
28 1 ’ਣ£¥à ¯à¥à뢠­¨© IFF2 (஫¨ ­¥ ¨£à ¥â)
29 1 Bit 0-1: <20>¥¦¨¬ ¯à¥à뢠­¨© (0, 1 ¨«¨ 2)
Bit 2 : 1=í¬ã«ïæ¨ï 2-£® ¢ë¯ã᪠ ‘¯¥ªâà㬠
Bit 3 : 1=„¢®©­ ï ç áâ®â  ¯à¥à뢠­¨©
Bit 4-5: 1=‚ë᮪ ï ¢¨¤¥®á¨­åà®­¨§ æ¨ï
3=<3D>¨§ª ï ¢¨¤¥®á¨­åà®­¨§ æ¨ï
0,2=<3D>®à¬ «ì­ ï
Bit 6-7: 0=Šãàá®à/Protek/AGF- ¤¦®©á⨪
1=Š¥¬¯áâ®­-¤¦®©á⨪
2=Sinclair-«¥¢ë© ¤¦®©á⨪
3=Sinclair-¯à ¢ë© ¤¦®©á⨪
<20> ¤¨ ᮢ¬¥á⨬®á⨠¥á«¨ ¡ ©â 12 à ¢¥­ 255, â® ®­ ¯à¨­¨¬ ¥âáï à ¢­ë¬ 1.
<20>®á«¥ í⮣® 30-¡ ©â­®£® åí¤¥à  á«¥¤ãîâ 48 ª¨«®¡ ©â®¢ ‘¯¥ªâà㬮¢áª®©
¯ ¬ïâ¨. …᫨ ¡¨â-5 12-£® ¡ ©â  à ¢¥­ 1, â® ¤ ¬¯ ¯ ¬ï⨠¨¤¥â ¢
ª®¬¯à¥áá¨à®¢ ­­®¬ ä®à¬ â¥. Œ¥â®¤ ª®¬¯à¥áᨨ ®ç¥­ì ¯à®áâ. ‡ ¬¥­ïîâáï ¢á¥
¯®á«¥¤®¢ â¥«ì­®á⨠¨¤ãé¨å ¯®¤àï¤ ¯ï⨠®¤¨­ ª®¢ëå ¡ ©â®¢. ‚¬¥áâ® ­¨å
¯à®¨§¢®¤¨âáï § ¯¨áì ED ED xx yy. ‡¤¥áì ED ED - íâ® ¯à¥ä¨ªá, xx -
ª®íä䍿¨¥­â ¯®¢â®à ,   yy - ¯®¢â®àïî騩áï ¡ ©â. ˆâ ª, ª®¤¨àãîâáï ⮫쪮
¯®á«¥¤®¢ â¥«ì­®á⨠¨§ ¯ï⨠¯®¢â®à®¢ ¨«¨ ¡®«¥¥. ˆáª«î祭¨¥¬ ïîâáï
¯®á«¥¤®¢ â¥«ì­®á⨠¨§ ¡ ©â®¢, à ¢­ëå ED. „ ¦¥ ¥á«¨ í⮠⮫쪮 ¤¢ 
¡ ©â , ¢á¥ à ¢­® ®­¨ ¯ ªãîâáï ED ED 02 ED. ˆ ¯®á«¥¤­¥¥ ¯à ¢¨«®: «î¡®©
¡ ©â, ­¥¯®á।á⢥­­® á«¥¤ãî騩 §  ED, ­¥ 㯠ª®¢ë¢ ¥âáï ¢ ®¡é¨© ¡«®ª.
<20> ¯à¨¬¥à, ã ­ á ¥áâì ¯®á«¥¤®¢ â¥«ì­®áâì ED 00 00 00 00 00 00. Ž­  ­¥
¯ ªã¥âáï, ª ª ED ED ED 06 00,   ¯ ªã¥âáï ª ª ED 00 ED ED 05 00. <20>«®ª
§ ª ­ç¨¢ ¥âáï ª®­æ¥¢ë¬ ¬ àª¥à®¬ 00 ED ED 00.
’ ª®© ä®à¬ â ä ©«®¢ .Z80 ¨á¯®«ì§®¢ «áï ¢¥àá¨ï¬¨ í¬ã«ïâ®à  ¤® 1.45.
<20> ç¨­ ï á ¢¥àᨨ 2.0 ¢ á¢ï§¨ á ¯®¤¤¥à¦ª®© ä ©«®¢ ®ââ¨áª®¢ ¯ ¬ïâ¨,
á­ïâëå á® 128-£® ‘¯¥ªâà㬠, ¯®ï¢¨«áï ­®¢ë© ä®à¬ â. íâ®â ­®¢ë© ä®à¬ â
¨á¯®«ì§ã¥âáï ¤«ï ¢á¥å ®ââ¨áª®¢, ­¥¢ ¦­® 48-ëå ¨«¨ 128-ëå. <20>® í¬ã«ïâ®à
¯®-¯à¥¦­¥¬ã ¯®­¨¬ ¥â ¨ áâ àë© ä®à¬ â.
<20>¥á¬®âàï ­  â®, çâ® í¬ã«ïâ®à ¯®­¨¬ ¥â áâ àë© ä®à¬ â, á ¬ ®­ ­¨ª®£¤ 
ä ©«®¢ .Z80 ¢ áâ à®¬ ä®à¬ â¥ ­¥ ¯à®¨§¢®¤¨â. <20>® ¯à¨ ¦¥« ­¨¨ ­®¢ë© ä®à¬ â
¬®¦­® ª®­¢¥àâ¨à®¢ âì ¢ áâ àë© (ª®­¥ç­® ⮫쪮 ¤«ï 48Š-ä ©«®¢), ¥á«¨
¨á¯®«ì§®¢ âì ã⨫¨âã ConvZ80.
<20>®¢ë© ä®à¬ â ­ ç¨­ ¥âáï á â ª®£® ¦¥ 30-¡ ©â­®£® åí¤¥à , çâ® ¨
¯à¨¢¥¤¥­­ë© ¢ëè¥. <20>® ⥯¥àì ¡¨âë 4 ¨ 5 ä« £®¢®£® ¡ ©â  (12-£®) 㦥 ­¥
¨¬¥îâ §­ ç¥­¨ï,   ¡ ©âë 6 ¨ 7 à ¢­ë ­ã«î, çâ® £®¢®à¨â ® ⮬, çâ® íâ®
ä ©« ¢ ­®¢®¬ ä®à¬ â¥.
‡  ¯¥à¢ë¬¨ 30-î ¡ ©â ¬¨ á«¥¤ãîâ ¤®¯®«­¨â¥«ì­ë¥:
‘¬¥é¥­¨¥ „«¨­  ޝ¨á ­¨¥
* 30 2 „«¨­  ¤®¯®«­¨â¥«ì­®£® ¡«®ª  (á¬. ­¨¦¥)
* 32 2 <20>ணࠬ¬­ë© áç¥â稪
* 34 1 €¯¯ à â­ë© ०¨¬ (á¬. ­¨¦¥)
* 35 1 ०¨¬¥ í¬ã«ï樨 SamRam ᮤ¥à¦¨â ¡¨â®¢®¥
á®áâ®ï­¨¥ ¬¨ªà®á奬ë 74ls259.
०¨¬¥ 128Š á®¤¥à¦¨â ¯®á«¥¤­¨© ¢ë¢®¤ ­ 
¯®àâ 7FFD.
* 36 1 ‘®¤¥à¦¨â 0FF, ¥á«¨ ¢¯¥ç â ­® <20>‡“ ˆ­â¥à䥩á -1
* 37 1 <20>¨â 0: 1 ¥á«¨ ¢ª«î祭  í¬ã«ïæ¨ï ॣ¨áâà  R
Bit 1: 1 ¥á«¨ ¢ª«î祭  í¬ã«ïæ¨ï LDIR
* 38 1 <20>®á«¥¤­¨© ¢ë¢®¤ ­  ¯®àâ 7FFD.
* 39 16 ‘®¤¥à¦¨¬®¥ ॣ¨áâ஢ ¬ã§ëª «ì­®£® á®¯à®æ¥áá®à 
55 2 ‘ç¥â稪 ⠪⮢ (¬« ¤è¨©)
57 1 ‘ç¥â稪 ⠪⮢ (áâ à訩)
58 1 ”« £®¢ë© ¡ ©â. ˆá¯®«ì§ã¥âáï ‘¯¥ªâ â®à®¬
(í¬ã«ïâ®à ‘¯¥ªâà㬠 ¤«ï ª®¬¯ìîâ¥à®¢ QL)
<20>ਠ§ £à㧪¥ Z80 ¥£® ¨£­®à¨àã¥â,   ¯à¨ ¢ë£à㧪¥
¢ëáâ ¢«ï¥â ¢ ­¥¬ 0.
59 1 0FF, ¥á«¨ ¢¯¥ç â ­® <20>‡“ "ƒ®à¤®­"
60 1 0FF, ¥á«¨ ¢¯¥ç â ­® <20>‡“ Œ128. „®«¦­® ¡ëâì 0.
61 1 0FF, ¥á«¨ 0-8191 - އ“
62 1 0FF, ¥á«¨ 8192-16383 - އ“
63 10 Š« ¢¨è¨, § ¤ ­­ë¥ ¢ ª ç¥á⢥ ¯®«ì§®¢ â¥«ì᪮£®
¤¦®©á⨪ .
73 10 Š« ¢¨ âãà­ë¥ ¤ ­­ë¥ ¤«ï ª« ¢¨è, 㪠§ ­­ëå
¢ëè¥.
83 1 ’¨¯ ãáâனá⢠ "ƒ®à¤®­". 0=Disciple + Epson,
1=Disciple + HP, 16=Plus D
84 1 ‘â âãá ª­®¯ª¨ INHIBIT ¨­â¥àä¥©á  Disciple
: 0=¨­â¥àä¥©á ®âª«î祭, §  ¨áª«î祭¨¥¬ ¤¦®©á⨪®¢
: 0FF=¯®¤ª«î祭
85 1 ”« £ INHIBIT ¨­â¥àä¥©á  Disciple
: 0=<3D>‡“ ¬®¦¥â ¡ëâì ¢¯¥ç â ­®;
: 0FF=­¥ ¬®¦¥â ¡ëâì ¢¯¥ç â ­®.
‡­ ç¥­¨¥ ᮤ¥à¦¨¬®£® ¯®§¨æ¨¨ 30 à ¢­® 23-¬ ¤«ï ¢¥àᨨ í¬ã«ïâ®à  2.01
¨ à ¢­® 54-¬ ¤«ï ¢¥àᨨ 3.0. <20>®§¨æ¨¨, ¯®¬¥ç¥­­ë¥ §­ ª®¬ "*",
ᮮ⢥âáâ¢ãîâ åí¤¥àã ¢¥àᨨ 2.01 ¨ ¨­â¥à¯à¥â¨àãîâáï ¢¥àᨥ© 3.0 â®ç­®
â ª ¦¥, §  ¨áª«î祭¨¥¬ ¡ ©â  34:
—¨á«® ‡­ ç¥­¨¥ ¢ ¢¥àᨨ 2.01 ‡­ ç¥­¨¥ ¢ ¢¥àᨨ 3.0
0 48k 48k
1 48k + If.1 48k + If.1
2 SamRam 48k + M.G.T.
3 128k SamRam
4 128k + If.1 128k
5 - 128k + If.1
6 - 128k + M.G.T.
‘â à訩 ¡ ©â áç¥â稪  ⠪⮢ ®âáç¨â뢠¥â â ªâë ¯® ¬®¤ã«î 4. ‘à §ã
¯®á«¥ ⮣®, ª ª ULA £¥­¥à¨àã¥â ᢮¥ ¯à¥à뢠­¨¥ (ª ¦¤ë¥ 20
¬¨««¨á¥ªã­¤), ®­ à ¢¥­ â६ ¨ 㢥«¨ç¨¢ ¥âáï ­  ¥¤¨­¨æã ç¥à¥§ ª ¦¤ë¥
¯ïâì í¬ã«¨à㥬ëå ¬¨««¨á¥ªã­¤. í⨠¨­â¥à¢ «ë, à ¢­ë¥ 1/200 ᥪ㭤ë,
¬« ¤è¨© ¡ ©â áç¥â稪  áç¨â ¥â ®â 17472 ¤® ­ã«ï, çâ® ¨ ¤ ¥â 69888
⠪⮢ ­  ª ¤à.
<20> ©â 60 ¤®«¦¥­ ¡ëâì ­ã«¥¢ë¬, ¯®áª®«ìªã ᮤ¥à¦¨¬®¥ އ“ ãáâனá⢠
Multiface 128 ­¥ á®åà ­ï¥âáï ¢ ä ©«¥-®ââ¨áª¥. …᫨ M128 ¡ë« ¢¯¥ç â ­ ¢
¬®¬¥­â á®åà ­¥­¨ï ®ââ¨áª , í¬ã«¨à㥬 ï ¯à®£à ¬¬  ᪮॥ ¢á¥£® ­¥ ¡ã¤¥â
à ¡®â âì ¯à¨ ¯®á«¥¤ãî饩 § £à㧪¥.
<20> ©âë 61 ¨ 62 - ä㭪樨 ¯à®ç¨å ä« £®¢, â ª¨å ª ª ¡ ©â 34, 59, 60 ¨ 83.
<20>®á«¥ åí¤¥à  ¨¤ãâ ¡«®ª¨ ¯ ¬ïâ¨, ª ¦¤ë© ¨§ ª®â®àëå ᮤ¥à¦¨â 㯠ª®¢ ­­ë¥
¤ ­­ë¥ 16-ª¨«®¡ ©â­®£® ¡«®ª . Š®¬¯à¥áá¨ï ¯à®¨§¢®¤¨âáï ¯® áâ à®© á奬¥,
§  ¨áª«î祭¨¥¬ ª®­¥ç­®£® ¬ àª¥à , ª®â®àë© â¥¯¥àì ®âáãâáâ¢ã¥â.
‘âàãªâãà  ¡«®ª  ¯ ¬ï⨠᫥¤ãîé ï:
<20> ©â „«¨­  ޝ¨á ­¨¥
0 2 „«¨­  ¤ ­­ëå (¡¥§ í⮣® âà¥å¡ ©â­®£® åí¤¥à )
2 1 ‘âà ­¨ç­ë© ­®¬¥à ¡«®ª 
3 [0] “¯ ª®¢ ­­ë¥ ¤ ­­ë¥
<20>ã¬¥à æ¨ï áâà ­¨æ § ¢¨á¨â ®â  ¯¯ à â­®£® ०¨¬ :
‘âà. ०¨¬¥ 48 ०¨¬¥ 128 ०¨¬¥ SamRam
0 48K <20>‡“ <20>‡“ (áâ à®¥) 48K <20>‡“
1 <20>‡“ ˆ­â¥à䥩á -1, <20>‡“ Disciple ¨«¨ <20>‡“ Plus D,
¢ ᮮ⢥âá⢨¨ á ⥬, çâ® § ¤ ­®
2 - <20>‡“ (­®¢®¥) <20>‡“ SamRam (BASIC)
3 - page 0 <20>‡“ SamRam (¬®­¨â®à,..)
4 8000-bfff page 1 Ž¡ëç­ë¥ 8000-bfff
5 c000-ffff page 2 Ž¡ëç­ë¥ c000-ffff
6 - page 3 ’¥­¥¢ë¥ 8000-bfff
7 - page 4 ’¥­¥¢ë¥ c000-ffff
8 4000-7fff page 5 4000-7fff
9 - page 6 -
10 - page 7 -
11 <20>‡“ Multiface <20>‡“ Multiface
०¨¬¥ 48Š ¢ë£à㦠îâáï áâà ­¨æë 4,5 ¨ 8. ०¨¬¥ SamRam á®åà ­ïîâáï
áâà ­¨æë á 4 ¯® 8. ०¨¬¥ 128Š - ¢á¥ áâà ­¨æë á 3 ¯® 10. Š®­æ¥¢®©
¬ àª¥à ®âáãâáâ¢ã¥â.

View File

@ -0,0 +1,48 @@
Š ª ­ ¯¨á âì ᮡá⢥­­ë© ¤à ©¢¥à.
…᫨ ¢ è  á奬  ¯®¤ª«î祭¨ï ¯à¨­â¥à  ®â«¨ç ¥âáï ®â ¢ë襯ਢ¥-
¤¥­­®©,â® ¢® ¨§¡¥¦ ­¨¨ ¯¥à¥¤¥«®ª ¢ ª®¬¯ìîâ¥à¥, á«¥¤ã¥â á®§¤ âì ᢮©
¤à ©¢¥à. <20>â® ­¥¡®«ìè ï ¯à®£à ¬¬  ¢ ¬ è¨­­ëå ª®¤ å, à á¯®«®¦¥­­ ï á
 ¤à¥á  #5B01 ¨ ¨¬¥îé ï ¤«¨­ã ­¥ ¡®«¥¥ 255 ¡ ©â. (<28>â® ­¥¨á¯®«ì§ã¥-
¬ ï ®¡« áâì ¡ãä¥à  ZX-¯à¨­â¥à ). ­ ç «¥ ¯à®£à ¬¬ë à á¯®«®¦¨â¥
â®çª¨ ¢å®¤ ,¯® ª®â®àë¬ à¥¤ ªâ®à ¡ã¤¥â ®¡à é âìáï ª ¤à ©¢¥àã:
#5B01 - ¨­¨æ¨ «¨§ æ¨ï ¯®àâ ;
#5B03 - ¯¥à¥¤ ç  ¡ ©â  ¨§ ॣ¨áâà  € ¢ ¯®à⠯ਭâ¥à ;
<20>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ ¤®«¦­  ­ áâநâì ¯à®£à ¬¬¨àã¥¬ë© ¯®àâ
(¥á«¨ â ª®¢®© ¨¬¥¥âáï), ¯à®¢¥à¨âì £®â®¢­®áâì ¯à¨­â¥à  ¨ ¯à¨ ­¥®¡å®-
¤¨¬®á⨠¢ë¤ âì ­  ¯à¨­â¥à ã¯à ¢«ïîéãî ¯®á«¥¤®¢ â¥«ì­®áâì. <20>â  ¯à®-
楤ãà  ­¨ç¥£® ­¥ ¢®§¢à é ¥â.
<20>à®æ¥¤ãà  ¯¥à¥¤ ç¨ ¡ ©â  ­  ¯à¨­â¥à ¤®«¦­  ®¦¨¤ âì ¥£® £®â®¢-
­®á⨠¨ ¯¥à¥¤ âì ¡ ©â ¢ ¯®à⠯ਭâ¥à  á® áâ஡¨à®¢ ­¨¥¬. <20>à®æ¥¤ãà 
¤®«¦­  ¯à¥à뢠âìáï ­ ¦ â¨¥¬ BREAK ¨«¨ ¯à¨ ¢®§­¨ª­®¢¥­¨¨ ®è¨¡ª¨.
…᫨ ¡ ©â ¯® ª ª¨¬-«¨¡® ¯à¨ç¨­ ¬ ­¥ ¯¥à¥¤ ­ ¢ ¯®à⠯ਭâ¥à , ¯à®æ¥-
¤ãà  ¢®§¢à é ¥â 㪠§ â¥«ì "" ãáâ ­®¢«¥­ë¬.
Ž¡¥ ¯à®æ¥¤ãàë ¬®£ãâ ¬®¤¨ä¨æ¨à®¢ âì «î¡ë¥ ॣ¨áâàë ¯à®æ¥áá®à .
á«ãç ¥ 㤠筮£® § ¢¥à襭¨ï ¢â®à®© ¯à®æ¥¤ãàë ä« £ "" ¤®«¦¥­ á¡à -
á뢠âìáï. <20>à®æ¥¤ãà  ¯¥à¥¤ ç¨ ¡ ©â  ¢ ¯à¨­â¥à ¢ë§ë¢ ¥âáï á § ¯à¥é¥­-
­ë¬¨ ¯à¥à뢠­¨ï¬¨.
¯à¨«®¦¥­¨¨ ¯à¨¢®¤¨âáï ¯à¨¬¥à á®áâ ¢«¥­¨ï ¤à ©¢¥à  ¤«ï ¯à¨­-
â¥à  EPSON-LX, ¯®¤ª«îç ¥¬®£® ¯® ¢ë襯ਢ¥¤¥­­®© á奬¥ ç¥à¥§  ¤ ¯â¥à
Š<EFBFBD>58055, ¨¬¥î騩  ¤à¥á :
<20>®àâ € - #3F;
<20>®àâ - #5F;
<20>®àâ - #7F;
“¯à.á«®¢® - #FF.
<20>ਠ­ ¯¨á ­¨¨ ¤à ©¢¥à  ­¥ ¤®¯ã᪠îâáï:
1.‚®§¬®¦­®áâì ¡¥§¢ë室­®£® § æ¨ª«¨¢ ­¨ï;
2.‚®§¬®¦­®áâì ¢ë室  ¢ ¡¥©á¨ª (¯® RST #08 ¨«¨ ç¥à¥§ ¤­® á⥪ );
3.ˆ§¬¥­¥­¨¥ ⨯  ¯à¥à뢠­¨ï;
4.<2E> §à¥è¥­¨¥ ¯à¥à뢠­¨© ¢® ¢à¥¬ï ¯¥à¥¤ ç¨ ¤ ­­ëå ç¥à¥§ ¨­â¥à䥩á;
5.Ž¡à é¥­¨¥ ª DOS;
6.<2E>¥à¥­ §­ ç¥­¨¥ ª ­ «®¢ ¨ ¯®â®ª®¢,   â ª¦¥ ¨å ®âªàë⨥ ¨«¨ § ªàë-
⨥;
7.<2E>ணࠬ¬­ë¥ ¯à¥à뢠­¨ï (RST #NN);
8.Œ®¤¨ä¨ª æ¨ï 㪠§ â¥«ï á⥪  ¨«¨ ॣ¨áâ஢®© ¯ àë IR;
9.  àã襭¨¥ á⥪ ;
10.Œ®¤¨ä¨ª æ¨ï ¯ ¬ï⨠§  ¯à¥¤¥« ¬¨ ¡ãä¥à  ZX-¯à¨­â¥à . (‚¯à®ç¥¬,
¥á«¨ ­¥®¡å®¤¨¬®, ¨á¯®«ì§ã©â¥ ­¨¦­¨¥ 2/3 íªà ­­®© ®¡« áâ¨. <20>â®,
ࠧ㬥¥âáï, ­¥íáâ¥â¨ç­®, ­® ¡¥§¡®«¥§­¥­­®).

468
Docs/FORMATS/zxzip.hdr Normal file
View File

@ -0,0 +1,468 @@
.ZXZIP ä ©«ë
------------
âpãªâãp  ä ©«®¢®£® § £®«®¢ª   p娢®¢ ZxZip
ÉÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºOffset³ Field ³ Description º
ÇÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º +00 ³ filename ³ º
º +08 ³ extension ³ º
º +09 ³ start address ³ <20>p®áâ® ª®¯¨ï 14 ¡ ©â âp¤®á­®£® ä ©«®¢®£® º
º ³ /basic length ³ § £®«®¢ª  º
º +0B ³ length ³ º
º +0D ³ sect.length ³ º
ÇÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º +0E ³ packed size ³ <20> §¬¥p 㯠ª®¢ ­­®£® ä ©«  º
ÇÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º +10 ³ CRC-32 value ³ ‡­ ç¥­¨¥ ª®­âp®«ì­®© ¯®«¨­®¬¨ «ì­®© áã¬¬ë º
ÇÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º +14 ³ pack method ³ Œ¥â®¤ 㯠ª®¢ª¨: º
º ³ ³ 0 - Stored 1 - LZPress º
º ³ ³ 2 - Shrunk 3 - Implode º
ÇÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º +15 ³ flags ³ <20> §­®¥ ;-) º
º ³ ³ bit0 - binary/text bit1..7 - reserved º
ÈÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ˆá室­ ï ¤«¨­  ä ©«  ®¯p¥¤¥«ï¥âáï ¯® á«. «£®p¨â¬ã:
1) <20>p¥¤¯®« £ ¥¬ ï ¤«¨­  (¤«ï BASIC: w[+09]+4, ¤«ï ®áâ «ì­ëå: w[+0B]),¥á«¨ ¥© ¢
â®ç­®á⨠ᮮ⢥âáâ¢ã¥â ¤«¨­  ¢ ᥪâ®p å, 㪠§ ­­ ï ¢ b[+0D];
2) ‡­ ç¥­¨¥ b[+0D]*256 ¥á«¨ ᮮ⢥âáâ¢¨ï ­¥â.
€p娢 áâp®¨âáï ¨§ ¯®á«¥¤®¢ â¥«ì­® ¨¤ãé¨å ç á⥩, á®áâ®ïé¨å ¨§ § £®«®¢ª ¨ ¡«®ª 
ª®¬¯p¥áá¨p®¢ ­­ëå ¤ ­­ëå ¤«¨­®© w[+0E].
// b[+xx] - ¡ ©â ¯® ᬥ饭¨î xx; w[+xx] - á«®¢® ¯® ᬥ饭¨î xx
Ä NETMAIL (2:5015/97) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NETMAIL Ä
Msg : 2 of 71 +3 Rcv Pvt
From : Michael Kondratyev 2:5030/299.18 <20>ïâ 31 ˆî« 98 04:45
To : Roman Khroupnin 2:5015/97 cª 02 €¢£ 98 05:32
Subj : SN102, ZXZIP inside
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Hi Roman,
RK> ˆcå®¤ï ¨§ â ¡«¨æë ï ¯®­ï« çâ® íâ® ¤ ­­ë¥ ª®­ªp¥â­® ¯® *.ZXZ (­  PC).
í⨠¤ ­­ë¥ ª®­ªp¥â­® ¯® ¢­ãâp¥­­¥© áâpãªâãp¥. ¯®áª®«ìªã ¤«¨­  âp¤®á­®£® ä ©« 
­¥¡¥áª®­¥ç­ , § £®«®¢ª®¢ ¯®«ãç ¥âáï ­¥áª®«ìª®, ­® ¢á¥ ®¤­® á⮨⠯®­¨¬ âì ª ª
¥¤¨­ë© ä ©«.
RK> ®¡p §®¬ ¯p¨ ¯p®c¬®âp¥ 审¥â­®£® ZXZIP  p娢  ¢ ­ ç «¥ ä ©«  ¬®¦­®
RK> ®¡­ py¦¨âì c­ ç «  ¨¬ï ®­®£®,   § â¥¬ ZIP. ‹¨ç­® ¬¥­ï íâ® ¤®«£®
RK> c¡¨¢ «® c ⮫ªy ¯®ª  ï ¤®¯¥p ¢ 祬 âyâ cyâì).
¢ ⮬ ¨ áãâì. ª ª ¨ ¢ ®¢¥p«¥ïå ª zxunzip48 ¬®¦­® ¯p®ç¥áâì 'ovl'. ­¥­ã¦­®¥ ¯®«¥
¨á¯®«ì§ã¥âáï ¤«ï ¤®¯®«­¨â¥«ì­®© ¨¤¥­â¨ä¨ª æ¨¨.
RK> .¥. c¨ây¥¢¨­  c«¥¤yîé ï:
RK> - ¢ ZXZIP  p娢¥ ­¥â ¨­ä®p¬ æ¨¨ ® ª®«¨ç¥c⢥ ä ©«®¢ ¢  p娢¥, ­¥â CRC
RK> ¢c¥£®  p娢 , ­¥â ®p¨£¨­ «ì­®£® ª®¤ -¤¥cªp¨¯â®p  ª ª y ¢c¥å PC
RK>  p娢 â®p®¢
­¥â.  ¡á®«îâ­ë© ¯®á«¥¤®¢ â¥«ì­ë© ¯®â®ª. â ª ª®£¤ -â® ¡ë«® 㤮¡­¥¥. ª®£¤ 
¤¥« «®áì. ¢ ª®­æ¥ ª®­æ®¢, § ç¥¬ ®¡ï§ â¥«ì­® ¢® ¢á¥¬ 㯮¤®¡«ïâìáï ¤p㣨¬
 p娢 â®p ¬?   ­  ᨭª«¥p¥ ⮣¤ , ¢ 1992-93 £®¤ã (  ¬®¦¥â ¨ ¤® á¨å ¯®p) ­¨ª ª¨å
¤pã£¨å  p娢 â®p®¢ ­¥ ¡ë«® (¨«¨ ï ­¥ ­ è¥«?).
RK> - ­¥â ¨­ä®p¬ æ¨¨ ® ç¥âëp¥å ¡ ©â å [+10] (CRC-32 value). —â® íâ® §
RK> CRC?
RK> ’®«ìª® § £®«®¢ª , ª ª ¢ 审¥â­ëå ä ©« å? ’¥«  ä ©« - p娢 ? ’®£® ¨ ⮣®?
⮫쪮 ⥫  ä ©« . ¨á室­®£®.
RK> ˆ ª ª¨¬ ®¡p §®¬ ®­  ¢ëç¨c«ï¥âcï?
áâ ­¤ ­®, ªp®¬¥ ®¤­®© ¬¥«®ç¨. ¬¥«®çì - ­¥ ¨­¢¥pâ¨pã¥âáï ¯® ®ª®­ç ­¨¨.
áíª®­®¬«¥­  ⨯  ¯ p  ¡ ©â ª®¤  ;)
RK> - ªâ® § ¤ ¥â ¡ ©â [+14]? ZXZIP ¯p¨ y¯ ª®¢ª¥? <20>â® ¬¥â®¤ ª ª¨¬ ¡ë«
¢á¥ çâ® ­¥ ¯¥p¢ë¥ 14 ¡ ©â âp¤®á­®£® § £®«®¢ª  ¥áâ¥á⢥­­® § ¤ ¥â zxzip. ®âªã¤ 
¨¬ ¥é¥ ¢§ïâìáï-â®?
RK> y¯ ª®¢ ­ ä ©«, â.¥. § ¤ ¥âcï y¦¥ ¯®c«¥ y¯ ª®¢ª¨? ˆ«¨ íâ®â ¬¥â®¤
RK> § ¤ ¥âcï(¡y¤¥â § ¤ ¢ âìcï) ¢ ª®¬ ­¤­®© câp®ª¥?
ª ª 㯠ª®¢ ­, â ª ¨ ¥áâì, áâp ­­ë© ¢®¯p®á. ¨§ ¬¥â®¤®¢ «¨èì #3 (¨, ¯®­ïâ­®, #0)
¯®¤¤¥p¦ ­ ¢ 86å ¢¥pá¨ïå;   ¢ ®¡é¥¬-â® ¨ p¥¤ª® ­  ¯p ªâ¨ª¥ ¢áâp¥ç îâáï  p娢ë á
¤p㣨¬¨ (#1 ¢®®¡é¥ ®âªp®¢¥­­®¥ £ ¢­¥æ®,  â ¢¨§¬).
RK> - ­¥ ¯®­ïâ­® ­ §­ ç¥­¨¥ ¡ ©â  [+15].
¢ ­ã«¥¢®¬ ¡¨â¥ åp ­¨âáï ä« £ ⥪á⮢®á⨠䠩«  (¢ ®¡é¨å ç¥pâ å - íâ®
¯p¥®¡« ¤ ­¨¥ ascii ᨬ¢®«®¢). ¬¥­ïâì ­¥ p¥ª®¬¥­¤ã¥âáï, ¯®áª®«ìªã íâ® ¥é¥ ¨
¨á¯®«ì§ã¥âáï ª ª ¯ p ¬¥âp 㯠ª®¢ª¨.
RK> - ZXUNZIP ¬®¦¥â p  ª®¢ë¢ âì ⮫쪮 ¢c¥ ä ©«ë cp §y.
¤ . å®âï ¡ë ¯®â®¬ã, çâ® ï ­¥ ¯p¥¤áâ ¢«ïî, ª ª § ¤ ¢ âì ¨¬¥­  (â ¬ ¬®£ãâ ¡ëâì
å®âì áâ® ®¤¨­ ª®¢ëå, ­ ¯p¨¬¥p).
­® ¬®¦­® íâ® ®¡®©â¨, ¤®¯ãá⨬, ᤥ« ¢ ᢮© ¢p¥¬¥­­ë©  p娢 ¨§ ­ã¦­ëå ¤«ï
p á¯ ª®¢ª¨ ä ©«®¢.
RK> ¯ p ¬¥âpë TYPE ¨ START ®¡p §yîâ ZIP? € £¤¥ £ p ­â¨ï ⮣® çâ® ¡®«ìè¥ ­¨ªâ®
RK> ¨c¯®«ì§y¥â í⨠¯ p ¬¥âpë? —â® ­¨ª ª®© â ¬ Œ ©ª« „¦¥ªc®­ ¨§ €¢câp «
¯p¥§¥p¢ â¨¢ ­  ᢥçªã ­ ¤¥¢ ¥èì ;)
RK> 审¥â­ë¬¨ ä ©« ¬¨. C *.ZXZ  p娢 ¬¨ ¢ í⮬ c«yç ¥ ®¡«®¬. ˆå ª®­¥ç­® ¬®¦­®
RK> "¯p¥¢p â¨âì" ¢ 审¥â­ë© ä ©«,   ªâ® §­ ¥â çâ® íâ® §  *.ZXZ ä ©«? Œ®¦¥â íâ®
¢ ¯p¨­æ¨¯¥, ®­¨ ®á®¡¥­­® ¨ ­¥ ­ã¦­ë - íâ® ç¨áâ® ¯p®¬¥¦ãâ®ç­ë© ⨯. á ­¨¬ ¡ë«®
¯p®é¥ p ¡®â âì ¢ ­¥-âp¤®á¥.
RK> ï ¯p¨ª «ë¢ îcì, ¢®­ COMMAND.COM ¯¥p¥¨¬¥­®¢ «...
®¯ïâì ¦¥, § é¨â¨âìáï ®â ¨§®¡p¥â â¥«ì­®£® ¨¤¨®â  ¯p¨ ¢á¥¬ ¦¥« ­¨¨ ­¥ ¯®«ãç¨âáï.
  ¬¥¦¤ã ¯p®ç¨¬, ï ¥é¥ ­¨ ã ª®£® .zxz ­¥ ¢áâp¥ç «.
RK> - ¯®c¥¬y ¥câì ¬ëc«ì ¢ ª ç¥c⢥ p¥è¥­¨ï ¢®¯p®c  ® ¯®¤«¨­­®c⨠ZXZIP
RK>  p娢  p¥è¨âì c«¥¤yî騬 ®¡p §®¬; (⥯¥pì ¯® ¡ p ¡ ­y, 审¥â­ë© íâ® ä ©«
RK> ¨«¨ ZXZ) c c ¬®£® ­ ç «   p娢  ¯p®¢¥p¨âì íây c ¬yî CRC-32 y ¯¥p¢®£® ¦¥
¬®¦­® ¨ â ª. ⮫쪮 á­ ç «  ¯p¨¤¥âáï íâ®â ä ©« p á¯ ª®¢ âì. å®âï, ¬®¦¥â
­ ©¤¥èì § áâ®p¥­­ë©..
ï ¢  ­§¨¯¥ ¨§­ ç «ì­® ¯p®¢¥pïî ¯® 楫®áâ­®á⨠ p娢  ¨ ¯® ᮮ⢥âá⢨î
packed/unpacked size (¯¥p¢ ï ¤.¡. ¬¥­ìè¥ ¤«ï ¯ ª®¢ ­­ëå ¨ p ¢­  ¤«ï áâ®p¥­­ëå)
RK> - ¤ «¥¥, ⥯¥pì ­  pyª å ¬ë ¨¬¥¥¬ ¤¢ , ¯p ªâ¨ç¥cª¨ p §­ëå  p娢 â®p ,
RK> ®
RK> ¨§ ª®â®pëå ¯ ªy¥â ⮫쪮 ¯® ®¤­®¬y ä ©«y ¨ ⮫쪮 ¢ ZXZ  p娢ë. „py£®
¬®p «ì ¯p®áâ: ­¨ª®£¤  ­¨ª®¬ã ­¥ ¤ ¢ © áëpëå ¨ ¯p®¬¥¦ãâ®ç­ëå ¢¥pᨩ. â®â,
ª®â®pë© ¯® ®¤­®¬ã, ¯p¥¤­ §­ ç¥­ ¤«ï ¥£® 㤠«¥­¨ï, ª ª  ¡á®«îâ­® «¥¢ë© ¯p®¤ãªâ.
¤«ï ¬¥­ï ¥£® 㦥 ­¥â. áâ ­¤ pâ ¤«ï åp ­¥­¨ï âp¤®á­ëå ᨭª«¥p­ëå ä ©«®¢ - íâ®
审¥â ,   §­ ç¨â, p ¡®â âì ­ ¤® ⮫쪮 á ­¥©.
RK> —¥ ¤¥« âì ¡y¤¥¬?
¯p®¤®«¦ âì ¤¨áªãáá¨î, ¢¥p®ïâ­®.
ªáâ â¨, ¥é¥ ® áâ ­¤  å 审¥â­ëå $z - ¯® ¬®¥¬ã p¥è¥­¨î, ¬­®£®â®¬­ë¥ ¤®«¦­ë
¡ëâì ¯® p áè¨p¥­¨î $z0..$z9, ®¤­®â®¬­ë¥ - $z
¨ ¥é¥, ¯®ª  ­¥ § ¡ë«, ¯p® ¨§¢¥áâ­ãî ®è¨¡ªã ¢  ­§¨¯¥. ¯®ï¢¨« áì ®­  ¯®áª®«ìªã ï
 ¡á®«îâ­® ­¥ ¯p®¢¥pï« ¤®á®¢áª¨¥ ¢¥pᨨ ¨ á®á⮨⠢ ®á®¡¥­­®á⨠¬á¤®á  ¯«¥¢ âì
­  ­ «¨ç¨¥ p áè¨p¥­¨ï ¥á«¨ ¨¬ï ¤¥¢ ©á®¢®¥. ⨯ , com1.$c ¨«¨ prn.$b. â® ¥áâì
â ª¨å ®­ ¯p®áâ® ­¥ p á¯ ªã¥â.
Bye, Michael.
Ä NETMAIL (2:5015/97) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NETMAIL Ä
Msg : 3 of 71 -2 Snt Pvt Loc
From : Roman Khroupnin 2:5015/97 âp 04 €¢£ 98 16:23
To : Michael Kondratyev 2:5030/299.18 âp 04 €¢£ 98 16:51
Subj : SN102, ZXZIP inside
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
• © Michael!
MK> ¢ ⮬ ¨ áyâì. ª ª ¨ ¢ ®¢¥p«¥ïå ª zxunzip48 ¬®¦­® ¯p®ç¥áâì 'ovl'.
MK> ­¥­­®¥ ¯®«¥ ¨á¯®«ì§y¥âáï ¤«ï ¤®¯®«­¨â¥«ì­®© ¨¤¥­â¨ä¨ª æ¨¨.
<EFBFBD>®­ïâ­®. ’®£¤  ¤ ¢ © ®câ ­®¢¨¬cï ­  ⮬ çâ® ZIP ¨c¯®«ì§®¢ âì ­¨ªâ® ­¥ ¡y¤¥â.
RK>> - ZXUNZIP ¬®¦¥â p  ª®¢ë¢ âì ⮫쪮 ¢c¥ ä ©«ë cp §y.
MK> ¤ . å®âï ¡ë ¯®â®¬y, çâ® ï ­¥ ¯p¥¤áâ ¢«ïî, ª ª § ¤ ¢ âì ¨¬¥­  (â ¬
MK> ¬®£yâ ¡ëâì å®âì áâ® ®¤¨­ ª®¢ëå, ­ ¯p¨¬¥p).
Hy ¨ çâ®. c¥ ¨å ¨ p  ªy©. H® ¢ ¡®«ì設c⢥, ï ¡ë cª § «  ¡c®«îâ­®¬,
®¤¨­ ª®¢ë¥ ä ©«ë ¢câp¥ç îâcï ªp ©­¥ p¥¤ª®.
MK> ­® ¬®¦­® íâ® ®¡®©â¨, ¤®¯yá⨬, ᤥ« ¢ ᢮© ¢p¥¬¥­­ë©  p娢 ¨§ ­­ëå
MK> ¤«ï p á¯ ª®¢ª¨ ä ©«®¢.
•¬¬... ­¥ ¯®­ï«. € ª ª ¥£® c¤¥« âì? ˆ¬¥­­® ¨§ _­­ëå_ ä ©«®¢, â.¥. ï ¤®«¦¥­
ª ª â® yª § âì í⨠䠩«ë? Ÿ â ª ¯p¥¤câ ¢«ï« íâ® c¥¡¥ - p  ª®¢ âì ¢c¥ ¢®
¢p¥¬¥­­yî ¤¨p¥ªâ®p¨î,   ¯®â®¬ ¢ ⥪yéyî ¯¥p¥¯¨c âì "­­ë¥". € ¢p¥¬¥­­
¤¨p¥ªâ®p¨î £p®å­yâì.
MK> ®¯ïâì ¦¥, § é¨â¨âìáï ®â ¨§®¡p¥â â¥«ì­®£® ¨¤¨®â  ¯p¨ ¢á¥¬ ¦¥« ­¨¨ ­¥
MK> ¯®«yç¨âáï.   ¬¥¦¤y ¯p®ç¨¬, ï ¥é¥ ­¨ y ª®£® .zxz ­¥ ¢áâp¥ç «.
—â® ¦, ⮣¤  ®âª §ë¢ ¥¬cï ®â ­¨å ª ª ®â ª« cc  :)
MK> ï ¢  ­§¨¯¥ ¨§­ ç «ì­® ¯p®¢¥pïî ¯® 楫®áâ­®á⨠ p娢  ¨ ¯®
MK> ᮮ⢥âá⢨î packed/unpacked size (¯¥p¢ ï ¤.¡. ¬¥­ìè¥ ¤«ï ¯ ª®¢ ­­ëå
MK> ¨ p ¢­  ¤«ï áâ®p¥­­ëå)
€ ª ª ¯p®¢¥p¨âì æ¥«®câ­®câì  p娢 ?
c¥ â ª¨ ¬­¥ ª ¦¥âcï ¯p®é¥ ¢c¥£®, ¨ y¤®¡­¥© ¨¬¥âì CRC ¢c¥£®  p娢 .
‚®â ⥡¥ ¨ 楫®câ­®câì ¨ ®p¨£¨­ «ì­ë© ¤¥cªp¨¯â®p.
MK> â®â, ª®â®pë© ¯® ®¤­®¬y, ¯p¥¤­ §­ ç¥­ ¤«ï ¥£® y¤ «¥­¨ï, ª ª  ¡á®«îâ­®
MK> «¥¢ë© ¯p®¤yªâ. ¤«ï ¬¥­ï ¥£® y¦¥ ­¥â. áâ ­¤ pâ ¤«ï åp ­¥­¨ï âp¤®á­ëå
MK> ᨭª«¥p­ëå ä ©«®¢ - í⮠审¥â ,   §­ ç¨â, p ¡®â âì ­ ¤® ⮫쪮 á ­¥©.
<EFBFBD>â®â  ¡§ æ ­ ¤® ¢ª«îç¨âì ¢ ¤®ª¨ ¯® ¯ ª¥ây ZXZIP, ¢ ä ª ¨ ¢ ¤®ª¨ ª ­ ¢¨£ â®py :)
RK>> —¥ ¤¥« âì ¡y¤¥¬?
MK> ¯p®¤®«¦ âì ¤¨áªyáá¨î, ¢¥p®ïâ­®.
MK> ªáâ â¨, ¥é¥ ® áâ ­¤  å 审¥â­ëå $z - ¯® ¬®¥¬y p¥è¥­¨î, ¬­®£®â®¬­ë¥
MK> ¤®«¦­ë ¡ëâì ¯® p áè¨p¥­¨î $z0..$z9, ®¤­®â®¬­ë¥ - $z
’®£¤  â ª®© ¢®¯p®c. …c«¨ ä ©« (y¦¥ ¯ ª®¢ ­­ë©) ­¥ y¡¨p ¥âcï ¢  p娢 (>255),
çâ® ¤¥« ¥èì? <20> §p¥§ ¥èì ¨ ®câ â®ª ¢ $zn? ˆ«¨ â ª¨å p §p뢮¢ y â¥¡ï ­¥â ¢
¯p¨­æ¨¯¥? …c«¨ p §p¥§ ¥èì â® ª ª ¨¤¥­â¨ä¨æ¨py¥èì ®câ â®ª (¢ ¤py£®¬ $z) ¨ ª ª
¯®â®¬ cª«¥¨¢ ¥èì ¢ UNZIP?
ˆ ¥é¥. ’ë c«¥¤yî騬 ⮬ ¬ ¯p¨c¢ ¨¢ ¥èì ¨¬ï "********". ¥¯¥pì c¬®âp¨ c¨ây¥¢¨­ :
§ ¯ ª®¢ « ï çâ® ­¨âì ¢ ¬­®£®â®¬­ë©  p娢. Cª ¦¥¬ â®â ¦¥ ZED. <20>®â®¬ § ¯ ª®¢ «
¥é¥ ¤¥¬y ª ªyî ­¨¡y¤ì ⮦¥ ¢ ¬­®£®â®¬­ë©  p娢. .¥. ¯®­ïâ­® ¤ , ¯®«y稫 ¤®ä¨£ 
ä ©«®¢ "********". Š ª ¬­¥ ⥯¥pì ¨å ®â«¨ç¨âì, ¤«ï ZED ¨ ¤«ï ¤¥¬ë?
MK> ¨ ¥é¥, ¯®ª  ­¥ § ¡ë«, ¯p® ¨§¢¥áâ­yî ®è¨¡ªy ¢  ­§¨¯¥. ¯®ï¢¨« áì ®­ 
MK> ¯®áª®«ìªy ï  ¡á®«îâ­® ­¥ ¯p®¢¥pï« ¤®á®¢áª¨¥ ¢¥pᨨ ¨ á®á⮨⠢
MK> ®á®¡¥­­®á⨠¬á¤®á  ¯«¥¢ âì ­  ­ «¨ç¨¥ p áè¨p¥­¨ï ¥á«¨ ¨¬ï ¤¥¢ ©á®¢®¥.
MK> ⨯ , com1.$c ¨«¨ prn.$b. â® ¥áâì â ª¨å ®­ ¯p®áâ® ­¥ p á¯ ªy¥â.
<EFBFBD>p® â® ª ª ®­ ­¥ ¬®¦¥â p  ª®¢ âì ä ©« com1 å®âì ­ ¯¨è¥â?
Ÿ ¢ ­ ¢¨£ â®p¥ ®¡®è¥« íâ® ¯y⥬ ¤®¡ ¢«¥­¨ï ª ¨¬¥­¨ â ª¨å ä ©«®¢ c¢®¥
c®¡c⢥­­®¥ ¦¥ ¨¬ï. .¥. ¨¬ï - com1, câ ­¥â com1com1 ¨ â.¤.
RomanRom2@usa.net [Team Œ€‡„€‰ - <20>…‡] [Team ¦¥­é¨­ - «î¡¨âì]
--- GoldED 3.00.Beta1+
Ä NETMAIL (2:5015/97) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NETMAIL Ä
Msg : 8 of 71 Rcv Pvt K/s
From : Michael Kondratyev 2:5030/299.18 cª 09 €¢£ 98 20:24
To : Roman Khroupnin 2:5015/97
Subj : SN102, ZXZIP inside
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Hello Roman!
Tue Aug 04 1998, Roman Khroupnin á®áâàﯠ«( ) ¯¨á쬮 ª Michael Kondratyev:
RK>>> - ZXUNZIP ¬®¦¥â p  ª®¢ë¢ âì ⮫쪮 ¢c¥ ä ©«ë cp §y.
MK>> ¤ . å®âï ¡ë ¯®â®¬y, çâ® ï ­¥ ¯p¥¤áâ ¢«ïî, ª ª § ¤ ¢ âì ¨¬¥­  (â ¬
MK>> ¬®£yâ ¡ëâì å®âì áâ® ®¤¨­ ª®¢ëå, ­ ¯p¨¬¥p).
RK> Hy ¨ çâ®. c¥ ¨å ¨ p  ªy©. H® ¢ ¡®«ì設c⢥, ï ¡ë cª § «  ¡c®«îâ­®¬,
RK> ®¤¨­ ª®¢ë¥ ä ©«ë ¢câp¥ç îâcï ªp ©­¥ p¥¤ª®.
 , ¢á¥ ®¤­® â殮«¥© ¡ë«® ¡ë ¯®«ì§®¢ â¥«î ®¡êïá­¨âì, çâ® ­ ¤® ¤«ï
boot B § ¤ ¢ âì "boot B",   ¤«ï boot "1" C - "boot \"1\"C", a ¯p® ¢á¥
§¢¥§¤ë/¢®¯p®áë ¨ ¯p®ç¨¥ ¢¨«¤ª pâë ®­ ¬®¦¥â § ¡ëâì. «ãçè¥ ¯ãáâì á ¬ ¢ë¡¨p ¥â ¨§
£®â®¢ëå ­ã¦­ë¥..
MK>> ­® ¬®¦­® íâ® ®¡®©â¨, ¤®¯yá⨬, ᤥ« ¢ ᢮© ¢p¥¬¥­­ë©  p娢 ¨§ ­­ëå
MK>> ¤«ï p á¯ ª®¢ª¨ ä ©«®¢.
RK> •¬¬... ­¥ ¯®­ï«. € ª ª ¥£® c¤¥« âì? ˆ¬¥­­® ¨§ _­­ëå_ ä ©«®¢, â.¥. ï
RK> ¤®«¦¥­ ª ª â® yª § âì í⨠䠩«ë? Ÿ â ª ¯p¥¤câ ¢«ï« íâ® c¥¡¥ - p  ª®¢ âì
RK> ¢c¥ ¢® ¢p¥¬¥­­yî ¤¨p¥ªâ®p¨î,   ¯®â®¬ ¢ ⥪yéyî ¯¥p¥¯¨c âì "­­ë¥". €
RK> ¢p¥¬¥­­yî ¤¨p¥ªâ®p¨î £p®å­yâì.
â ª ¯p®áâ® ¢ëâ áª¨¢ ¥èì ¨§  p娢  äp £¬¥­âë, ®â­®áï騥áï ª ­ã¦­ë¬ ä ©« ¬,
áæ¥¯«ï¥èì ¨ ¤¥« ¥èì ¨§ í⮣® â®â á ¬ë© ¢p¥¬¥­­ë©  p娢ê.
MK>> ï ¢  ­§¨¯¥ ¨§­ ç «ì­® ¯p®¢¥pïî ¯® 楫®áâ­®á⨠ p娢  ¨ ¯®
MK>> ᮮ⢥âá⢨î packed/unpacked size (¯¥p¢ ï ¤.¡. ¬¥­ìè¥ ¤«ï ¯ ª®¢ ­­ëå
MK>> ¨ p ¢­  ¤«ï áâ®p¥­­ëå)
RK> € ª ª ¯p®¢¥p¨âì æ¥«®câ­®câì  p娢 ?
RK> c¥ â ª¨ ¬­¥ ª ¦¥âcï ¯p®é¥ ¢c¥£®, ¨ y¤®¡­¥© ¨¬¥âì CRC ¢c¥£®  p娢 .
RK> ‚®â ⥡¥ ¨ 楫®câ­®câì ¨ ®p¨£¨­ «ì­ë© ¤¥cªp¨¯â®p.
  ¬­¥ §­ ç¨â ⮣¤  ª § «®áì, çâ® ç¥âëp¥ ¡ ©â  ¤®p®¦¥. ¢á¥ p ¢­® ï ¡ë ­¥ áâ «
íâã á㬬㠯p®¢¥pïâì (¥á«¨ p ¡®â « á ¤¨áª¥â ¬¨, ¯®©¬¥èì ¯®ç¥¬ã).
MK>> â®â, ª®â®pë© ¯® ®¤­®¬y, ¯p¥¤­ §­ ç¥­ ¤«ï ¥£® y¤ «¥­¨ï, ª ª  ¡á®«îâ­®
MK>> «¥¢ë© ¯p®¤yªâ. ¤«ï ¬¥­ï ¥£® y¦¥ ­¥â. áâ ­¤ pâ ¤«ï åp ­¥­¨ï âp¤®á­ëå
MK>> ᨭª«¥p­ëå ä ©«®¢ - í⮠审¥â ,   §­ ç¨â, p ¡®â âì ­ ¤® ⮫쪮 á ­¥©.
RK> <20>â®â  ¡§ æ ­ ¤® ¢ª«îç¨âì ¢ ¤®ª¨ ¯® ¯ ª¥ây ZXZIP, ¢ ä ª ¨ ¢ ¤®ª¨ ª
RK> ­ ¢¨£ â®py :)
¤  ªã¤  㣮¤­®, «¨èì ¡ë ¯®«ì§  á ⮣® ¡ë« .   â® ¢®­ ®¤­¨å ä®p¬ â®¢ ¤¨áª®¢ 㦥
­ ¯«®¤¨«¨ ᪮«ìª®..
MK>> ªáâ â¨, ¥é¥ ® áâ ­¤  å 审¥â­ëå $z - ¯® ¬®¥¬y p¥è¥­¨î, ¬­®£®â®¬­ë¥
MK>> ¤®«¦­ë ¡ëâì ¯® p áè¨p¥­¨î $z0..$z9, ®¤­®â®¬­ë¥ - $z
RK> ’®£¤  â ª®© ¢®¯p®c. …c«¨ ä ©« (y¦¥ ¯ ª®¢ ­­ë©) ­¥ y¡¨p ¥âcï ¢  p娢
RK> (>255), çâ® ¤¥« ¥èì? <20> §p¥§ ¥èì ¨ ®câ â®ª ¢ $zn? ˆ«¨ â ª¨å p §p뢮¢ y ⥡ï
RK> ­¥â ¢ ¯p¨­æ¨¯¥? …c«¨ p §p¥§ ¥èì â® ª ª ¨¤¥­â¨ä¨æ¨py¥èì ®câ â®ª (¢ ¤py£®¬
RK> $z) ¨ ª ª ¯®â®¬ cª«¥¨¢ ¥èì ¢ UNZIP? ˆ ¥é¥. ’ë c«¥¤yî騬 ⮬ ¬ ¯p¨c¢ ¨¢ ¥èì
¢  ­§¨¯¥ ¢á¥ ¯p®áâ® - ª®­ç¨«áï ®¤¨­ - ®âªp뢠¥¬ á«¥¤ãî騩 ¨ ¤®ç¨â뢠¥¬ ¨§ ­¥£®.
ᬮâp¨ á ¬, ¥á«¨ 祣® ¯®©¬¥èì:
=========== ‚ëà¥¦ì ¨ á®åà ­¨ ===========
int ZOpen(void)
{
long l;
unsigned char hbf[17];
int i;
unsigned short hsum=0;
static char c=0;
if(hZipFile) {_dos_close(hZipFile); hZipFile=0;}
if(iZipVol==2)
{
if(c>9) return _ZERR_TOOLONG;
szZipName[strlen(szZipName)-1]=c+'0';
}
if(_dos_open(szZipName, O_RDONLY, &hZipFile)) {hZipFile=0; return _ZERR_OPEN;}
l=filelength(hZipFile)-17;
if((l-256)&0xffff00ffl) return _ZERR_BADHOB;
_dos_read(hZipFile, hbf, 17, (unsigned *)&i);
for(i=15; --i>=0; hsum+=hbf[i]); hsum+=(hsum<<8)+105;
if((hsum!=(unsigned short)hbf[15]+(((unsigned short)hbf[16])<<8)) ||
l!=((unsigned short)hbf[13]+(((unsigned short)hbf[14])<<8))) return
_ZERR_BADHOB;
uZipLeft=(unsigned short)hbf[11]+(((unsigned short)hbf[12])<<8);
if((l<uZipLeft) || (l-uZipLeft>255) ||
c?memcmp(hbf,"********ZIP",11):memcmp(hbf+8,"ZIP",3))
return _ZERR_NONZIP;
if(!c) for(i=0;i<8;i++) ArcName[i]=PRINTABLE(hbf[i]); ArcName[8]=0;
if(iZipVol==2) {c++; if(uZipLeft!=0xff00) iZipVol++;}
return 0;
}
int ZRead(unsigned char *bf, unsigned int n)
{
int i;
unsigned int nx;
if(!hZipFile && i=ZOpen()) return i; // gotta open first
if(!usZipLeft)
{
if(iZipVol!=2) return 0; // correct eof
if((i=ZOpen())==_ZERR_OPEN) return 0; // correct eof
else if(i) return i;
}
for(;;)
{
nx=(uZipLeft>n)?n:uZipLeft;
_dos_read(hZipFile, bf, nx, (unsigned *)&i);
bf+=nx; n-=nx; uZipLeft-=nx;
if(!n) return -1; // read okidoki
if(iZipVol!=2) return _ZERR_UNEXPEOF;
if((i=ZOpen())==_ZERR_OPEN) return _ZERR_VOLMISS;
else if(i) return i;
}
}
=========== ‚ëà¥¦ì ¨ á®åà ­¨ ===========
RK> ¨¬ï "********". ¥¯¥pì c¬®âp¨ c¨ây¥¢¨­ : § ¯ ª®¢ « ï çâ® ­¨âì ¢
RK> ¬­®£®â®¬­ë©  p娢. Cª ¦¥¬ â®â ¦¥ ZED. <20>®â®¬ § ¯ ª®¢ « ¥é¥ ¤¥¬y ª ªyî
RK> ­¨¡y¤ì ⮦¥ ¢ ¬­®£®â®¬­ë©  p娢. .¥. ¯®­ïâ­® ¤ , ¯®«y稫 ¤®ä¨£  ä ©«®¢
RK> "********". Š ª ¬­¥ ⥯¥pì ¨å ®â«¨ç¨âì, ¤«ï ZED ¨ ¤«ï ¤¥¬ë?
¢ âp¤®á¥ - ¯® ¯®p浪ã, á­ ç «  ¨¤¥â á ¨¬¥­¥¬, §  ­¨¬ á® §¢¥§¤ ¬¨. á®åp ­ïâì
íâ®â ¯®p冷ª - ¤¥«® å®§ï©áª®¥. ¢ 审¥â¥ - ¨¬ï 审¥â­®¥ ¡ã¤¥â ¥áâ¥á⢥­­® ã ¢á¥å
********, § â® ¨¬ï ¤®á®¢áª®¥ ¡ã¤¥â ã ¢á¥å p §­®¥. ­ ¯p¨¬¥p, ã zed ¡ã¤ãâ
zed.$z0,
zed.$z1, zed.$z2...,   ã ¤¥¬ë demo.$z0, demo.$z1.. ­ã p §¢¥ âp㤭® ®â«¨ç¨âì?
RK> <20>p® â® ª ª ®­ ­¥ ¬®¦¥â p  ª®¢ âì ä ©« com1 å®âì ­ ¯¨è¥â?
ª®­¥ç­®, ­® ­¥ â® ­ ¯¨è¥â. ¯¥p¥¡p ¢ ¢á¥ ¢®§¬®¦­ë¥ p áè¨p¥­¨ï (¢ á¬ëá«¥ .$e?,
?={' ','0'..'9','a'..'z'}) ᤥ« ¥â ¢ë¢®¤ ® çp¥§¬¥p­®© ¯®¯ã«ïp­®á⨠¤ ­­®£®
¨¬¥­¨
;).
RK> Ÿ ¢ ­ ¢¨£ â®p¥ ®¡®è¥« íâ® ¯y⥬ ¤®¡ ¢«¥­¨ï ª ¨¬¥­¨ â ª¨å ä ©«®¢ c¢®¥
RK> c®¡c⢥­­®¥ ¦¥ ¨¬ï. .¥. ¨¬ï - com1, câ ­¥â com1com1 ¨ â.¤.
¬®¦­® ¥é¥ ª ª ã p¨ª , ¤®¡¨¢ âì ¤® 8 ᨬ¢®«®¢ ¯®¤ç¥pª¨¢ ­¨ï¬¨.
With best wishes, Michael.
---
Ä NETMAIL (2:5015/97) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NETMAIL Ä
Msg : 13 of 71 Rcv Pvt K/s
From : Michael Kondratyev 2:5030/299.18 <20>ïâ 14 €¢£ 98 20:07
To : Roman Khroupnin 2:5015/97
Subj : SN102, ZXZIP inside
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Hello Roman!
Tue Aug 11 1998, Roman Khroupnin á®áâàﯠ«( ) ¯¨á쬮 ª Michael Kondratyev:
MK>>  , ¢á¥ ®¤­® â殮«¥© ¡ë«® ¡ë ¯®«ì§®¢ â¥«î ®¡êïá­¨âì, çâ® ­ ¤® ¤«ï
MK>> boot B § ¤ ¢ âì "boot B",   ¤«ï boot "1" C - "boot \"1\"C", a
MK>> ¯p® ¢á¥ §¢¥§¤ë/¢®¯p®áë ¨ ¯p®ç¨¥ ¢¨«¤ª pâë ®­ ¬®¦¥â § ¡ëâì. «yçè¥ ¯yáâì
MK>> á ¬ ¢ë¡¨p ¥â ¨§ £®â®¢ëå ­­ë¥..
RK> H¥, ­¥ ¯®­ï«. ‚®â c¬®âp¨, ¨¬¥¥¬  p娢 ¨§ c«¥¤yîé¨å ä ©«®¢:
¤  ­¥ ® ⮬ ï - ¤ ¡ë ¨§¡¥¦ âì £«î¯ëå ¢®¯p®á®¢ 'ª ª § ¤ âì ¨¬ï?' ï p¥è¨« çâ®
«ãçè¥ ­¨ª ª.
RK> boot B
RK> boot1 B
RK> boot2 B
RK> boot3 B
RK> boot B
RK> Œ®¦¥â â ª ï c¨ây æ¨ï ¡ëâì? ‚¯®«­¥. ‚®â "¯®«ì§®¢ â¥«ì" ª ª âë £®¢®p¨èì, ¢
RK> MSDOS ¢ ­ ¢¨£ â®p¥ ®â¬¥ç ¥â ⮫쪮 ¯¥p¢ë© ä ©« ¨ £®¢®p¨â - p  ª®¢ âì.
¥á«¨ â ª (§¤¥áì ¨ ­¨¦¥ ¯®¤p §ã¬¥âáï, çâ® ï ¢á¥-â ª¨ ª®£¤ -â® ¢áâ ¢«î p ¡®âã á
¨¬¥­ ¬¨) - p á¯ ªãîâáï ®¡ 
RK> ¥¯¥pì ä®p¬¨py¥âcï ª®¬ ­¤­ ï câp®ª  ⨯  zxupzip arc.$z [boot B]
RK> (¨«¨
RK> "boot B", ª ª ¡®«ìè¥ ­p ¢¨âcï).
¯¥p¢ë© ¢  ­â ¬®¦¥â ¨ ᬮâp¨âáï ªp á¨¢¥¥, ­® á¨è­ë© ¯ pá¥p ª®¬áâp®ª¨ ï
¯¥p¥¯¨á뢠âì ¨§-§  â ª®© ¬¥«®ç¨ â®ç­® ­¥ å®çã.
RK> „ «¥¥ zxunzip ¯p®¡¥£ ¥â ¯® ¢c¥¬y  p娢y
RK> ¨ ¢ë¤¥p£¨¢ ¥â ¯¥p¢ë© ¨, c®®â¢¥âc⢥­­®, ¯®c«¥¤­¨© ä ©«. Š ª¨¥
RK> ¯p®¡«¥¬ë? TR-DOS c p c¯®«®¦¥­¨¥¬ ®¤¨­ ª®¢ëå ä ©«®¢ ­¥â ¯p®¡«¥¬, ¢
RK> MS-DOS ¯®c«¥¤­¨© § ¯¨è¥âcï c ¨¬¥­¥¬ boot_001.$b ?
¥á«¨ ¢ ç¨áâë© ª â «®£ - ¯¥p¢ë© ¡ã¤¥â boot.$B, ¢â®p®© boot.$B0; ¥á«¨ 㦥 â ª¨å
¡ë«® - ¡ã¤¥â ¯®á«¥¤®¢ â¥«ì­® ¨áª âì ᢮¡®¤­ë¥. ¢®§¬®¦­® ¯p¨¤¥âáï  ­ «¨§¨p®¢ âì
stdout ®â ­¥£®, çâ®¡ë ¯®­ïâì, ª ª ª®­ªp¥â­® ¯®«ã稫®áì..
RK>>> € ª ª ¯p®¢¥p¨âì æ¥«®câ­®câì  p娢 ?
RK> ’ ª ¢c¥-â ª¨ ª ª ¦¥?
⮫쪮 ¥á«¨ ¯p®¡¥¦ âì ®â ­ ç «  ¤® ª®­æ , ª ª p ­¥¥ ¨ £®¢®p¨«. ¨«¨ âë ¯p®
'zxunzip -t'? ;)
MK>>>> ªáâ â¨, ¥é¥ ® áâ ­¤  å 审¥â­ëå $z - ¯® ¬®¥¬y p¥è¥­¨î,
MK>>>> ¬­®£®â®¬­ë¥ ¤®«¦­ë ¡ëâì ¯® p áè¨p¥­¨î $z0..$z9, ®¤­®â®¬­ë¥ - $z
RK> Šcâ â¨, ¤ «ìè¥ çâ®? $za..$zz?
¯®¯p®¡ã©, ®­ ⥡¥ á ¬ ᪠¦¥âê. ­¥ § ¡ë¢ ©, çâ® íâ®  p娢 â®p ¤«ï âp¤®á­ëå
ᨭª«¥p¨á⮢ ¨ ᪮«ìª® ¡ã¤¥â 2544/255
RK>>> ¤®ä¨£  ä ©«®¢ "********". Š ª ¬­¥ ⥯¥pì ¨å ®â«¨ç¨âì, ¤«ï ZED ¨
RK>>> ¤«ï ¤¥¬ë?
MK>> ¢ âp¤®á¥ - ¯® ¯®p浪y, á­ ç «  ¨¤¥â á ¨¬¥­¥¬, §  ­¨¬ á® §¢¥§¤ ¬¨.
MK>> á®åp ­ïâì íâ®â ¯®p冷ª - ¤¥«® å®§ï©áª®¥.
RK> •®p®è®, ¥c«¨ â ª¨ íâ®â ¯®p冷ª ¢¤py£ ­¥ c®¡«î¤¥­, ç⮠⮣¤ ? C®®¡é¥­¨¥ ®¡
RK> ®è¨¡ª¥, ¬®« ®¤­®£® ¨§ ⮬®¢ ­¥â?
 , ¢á¥ ç⮠㣮¤­®. ­® ®è¨¡ª  ª ª ï-â® ¢®§­¨ª­¥â ­ ¢¥p­ïª .
With best wishes, Michael.
--- <20>®«ª®¢­¨ª ­  䨧§ à浪¥, ä®à¬  ®¤¥¦¤ë ­®¬¥à 2.50.A0611+

File diff suppressed because it is too large Load Diff

11
Docs/SPECTRUM.CFG Normal file
View File

@ -0,0 +1,11 @@
Sprinter ZX
c:\zx\roms\SP_128.BIN
c:\zx\roms\SP__48.BIN
c:\zx\roms\SP_TRD.BIN
c:\zx\roms\SP_EXP.BIN
c:\zx\roms\SP_EXP.BIN
c:\zx\roms\SP_EXP2.BIN
/turbo /7FFD /ret-fn
;

5
Docs/changes.txt Normal file
View File

@ -0,0 +1,5 @@
+ ¯®¤¤¥à¦ª  SCL
+ ¬¥«ª¨© à¥ä ªâ®à¨­£
fix ¯®¤¤¥à¦ª  ­¥¯®«­®© ¤¥è¨äà æ¨¨ AY (Atarin § ¯¥«)
fix ¡ £ á § ¢¨á ­¨¥¬ ¯® CAD ¢ ०¨¬ å ¡¥§ ¯®à⮢ á¯à¨­â¥à  (ᯠᨡ® <20>«í©¤ã)

49
Docs/xFFD.txt Normal file
View File

@ -0,0 +1,49 @@
Pentagon & Scorpion
#7FFD
bit0 \
bit1 - номер страницы ОЗУ, подключенной в верхние 16 КБ памяти с адреса #C000
bit2 /
bit3 - выбор отображаемой видеостраницы. страница 5 / страница 7
bit4 - номер страницы ПЗУ. BASIC128 / BASIC48
bit5 \- запрещение расширенной памяти (48K защёлка) при блокированной памяти > 128 кб, иначе старший бит номера страницы
bit6 - используются при расширении памяти до 512K в выборе номера страницы
bit7 /
#1FFD
bit0 открывает доступ на чтение и запись в страницу RAM0 из окна CPU0 (#0000-#3FFF).
bit1 при D1=1 подставляет в окно CPU0 сервисную страницу из текущего выбранного банка ПЗУ (ROM2)
bit2 - не используется
bit3 - используется как сигнал передачи данных TxD программного интерфейса RS232
bit4 - 1 - подключает страницу ОЗУ в банку 3, номер страницы в bit 2..0 #7FFD
bit5 - используется как сигнал интерфейса принтера STROBE
bit6 - не используется
bit7 - не используется
; LD A,#E2 ; ROM-ID - BASIC 128
; LD B,#42 ; page
; CALL SET_ROM
; LD A,#E3 ; ROM-ID - BASIC 48
; LD B,#43 ; page
; CALL SET_ROM
; LD A,#E1 ; ROM-ID - TR-DOS
; LD B,#44 ; page
; CALL SET_ROM
; LD A,#E0 ; ROM-ID - EXPANSION
; LD B,#45 ; page
; CALL SET_ROM
; LD A,#EB ; ROM-ID - BIOS-1
; LD B,#46 ; page
; CALL SET_ROM
; LD A,#EF ; ROM-ID - BIOS-2
; LD B,#47 ; page
; CALL SET_ROM

71
macroses/accelerator.a80 Normal file
View File

@ -0,0 +1,71 @@
; Œ ªà®áë  ªá¥«¥à â®à  ¤«ï ªà á®âë))
;--------[¢ëª«îç¨âì  ªá¥«¥à â®à]--------
MACRO ACC_Off
ld b,b
ENDM
;---------------------------------------
;---------[०¨¬ ¯à¨¥¬  ¡ ©â ]----------
MACRO ACC_SetBlockSize
ld d,d
; ¢ª«îç ¥â  ªá¥«¥à â®à ¢ ०¨¬ ¯à¨¥¬ 
; ¡ ©â  à §¬¥à  ¡«®ª  ¤ «¥¥ á«¥¤ã¥â
; ª®¬ ­¤  ⨯  LD A,dat, £¤¥ dat ¨ ¡ã¤¥â
; ­®¢ë¬ à §¬¥à®¬ ¡«®ª . …᫨ à §¬¥à
; ¡«®ª  ¡ë« ãáâ ­®¢«¥­ à ­¥¥, ¥£® ¬®¦­®
; ­¥ ãáâ ­ ¢«¨¢ âì.
ENDM
;---------------------------------------
;-------[§ ¯®«­¥­¨¥ ®¤­¨¬ ¡ ©â®¬]-------
MACRO ACC_FillOneByte
ld c,c
; ޝ¥à æ¨ï Fill. <20>®á«¥¤ãîé ï ª®¬ ­¤ 
; ⨯  LD (HL),A ¯à¨¢¥¤¥â ª § ¯®«­¥­¨î
; 㪠§ ­­®£® à ­¥¥ ª®«¨ç¥á⢠ ¡ ©â
; §­ ç¥­¨¥¬ A
ENDM
;---------------------------------------
;----[§ ¯®«­¥­¨¥ ¢¥à⨪ «ì­ëå «¨­¨©]----
;ޝ¥à æ¨ï Fill ¤«ï £à ä¨ç¥áª®£® íªà ­ .
MACRO ACC_FillScreenOneByte
ld e,e
; <20>®á«¥¤ãîé ï ª®¬ ­¤  ⨯  LD (HL),A
; ¯à¨¢¥¤¥â ª § ¯®«­¥­¨î §­ ç¥­¨¥¬ A
; ¢¥à⨪ «ì­ëå «¨­¨© íªà ­  㪠§ ­­ë¬
; à ­¥¥ ª®«¨ç¥á⢮¬ ¡ ©â
ENDM
;---------------------------------------
;----------[ª®¯¨à®¢ ­¨¥ ¡«®ª ]----------
MACRO ACC_CopyBlock
ld l,l
; <20>®á«¥¤ãîé ï ª®¬ ­¤  ⨯  LD A,(HL)
; ¯à¨¢¥¤¥â ª § ¯®«­¥­¨î އ“  ªá¥«¥à â®à 
; ¤ ­­ë¬¨ ¨§  ¤à¥á  (HL),   ª®¬ ­¤  ⨯ 
; LD (DE),A ¯à¨¢¥¤¥â ª ¯¥à¥§ ¯¨á¨ ¤ ­­ëå
; ¨§ އ“  ªá¥«¥à â®à  ¢ ®á­®¢­®¥ ¨«¨
; ¢¨¤¥®-އ“.
ENDM
;---------------------------------------
;---[ª®¯¨à®¢ ­¨¥ £à ä¨ç¥áª®£® ¡«®ª ]----
MACRO ACC_CopyScreenBlock
ld a,a
; ª®¯¨à®¢ ­¨¥ ¡«®ª  ¤«ï £à ä. íªà ­ .
; <20>®á«¥¤ãîé ï ª®¬ ­¤  ⨯  LD A,(HL)
; ¯à¨¢¥¤¥â ª § ¯®«­¥­¨î އ“  ªá¥«¥à â®à 
; ¤ ­­ë¬¨ ¨§  ¤à¥á  (HL),   ª®¬ ­¤  ⨯ 
; LD (DE),A ¯à¨¢¥¤¥â ª ¯¥à¥§ ¯¨á¨ ¤ ­­ëå
; ¨§ އ“  ªá¥«¥à â®à  ¢ ¢¨¤¥®-އ“
; ¢¥à⨪ «ì­ë¬¨ «¨­¨ï¬¨.
ENDM
;---------------------------------------
;--------------[Reserved]---------------
MACRO ACC_Reserved
LD H,H
ENDM
;---------------------------------------

73
macroses/macros.a80 Normal file
View File

@ -0,0 +1,73 @@
;
MACRO FRAM_ON
IN A,(FastRAM_ON)
IF Emulator
PUSH BC
PUSH AF
LD BC,#1FFD
XOR A
OUT (C),A
OUT (FastRam_BANK0),A
POP AF
POP BC
ENDIF
ENDM
MACRO FRAM_OFF
IN A,(FastRAM_OFF)
IF Emulator
PUSH BC
PUSH AF
LD BC,#1FFD
LD A,1
OUT (C),A
XOR A
OUT (FastRam_BANK0),A
POP AF
POP BC
ENDIF
ENDM
;
;
MACRO PrintProc
MODULE PrintF
;---------------------------------------
printstr:
; ¢ ॣ. HL  ¤à¥á ­  ¯¥ç â ¥¬ë© ¡ãä¥à
LD C,Dss.PChars
jp ToDSS
;---------------------------------------
;---------------------------------------
; ¢ ॣ. A ç¨á«® ¯¥ç â ¥¬®¥ ª ª hex
printhex:
LD D,A
RRCA
RRCA
RRCA
RRCA
AND #0F
ADD A,#30
CP #3A
JR C,.PRNH1
ADD A,7
.PRNH1:
CALL .PRINT_CHAR
LD A,D
AND #0F
ADD A,#30
CP #3A
JP C,.PRINT_CHAR
ADD A,7
JP .PRINT_CHAR
; ¢ ॣ¨áâॠA ᨬ¢®« ¤«ï ¯¥ç â¨
.PRINT_CHAR:
LD BC,#0182
JP ToBIOS
;---------------------------------------
ENDMODULE
ENDM
;
;

1177
spectrum.asm Normal file

File diff suppressed because it is too large Load Diff

336
trdscl.a80 Normal file
View File

@ -0,0 +1,336 @@
; C«ã¦¥¡­ë© (¤¥¢ïâë© c¥ªâ®p ¢ ®¡« c⨠ª â «®£ ) ¨c¯®«ì§ã¥âcï c¨c⥬®©
; ¤«ï åp ­¥­¨ï ¨­ä®p¬ æ¨¨ ® c ¬®© ¤¨cª¥â¥. â ¡«¨æ¥ ¯p¨¢¥¤¥­ ¥£® ä®p¬ â:
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; ºC¬¥é¥­¨¥ ®â ³ „«¨­  ³ ‡­ ç¥­¨¥ º
; º­ ç «  c¥ªâ®p  ³ ³ º
; ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
; º #00 ³ 1 ³ <20> ©â 0 º
; º #01 ³ 224 ³ H¥ ¨c¯®«ì§ã¥âcï (§ ¯®«­¥­® ¡ ©â®¬ 0) º
; º #E1 ³ 1 ³ H®¬¥p ¯¥p¢®£® ­¥§ ­ï⮣® c¥ªâ®p  ­  ¤¨cª¥ º
; º #E2 ³ 1 ³ H®¬¥p ¤®p®¦ª¨ ¯¥p¢®£® ­¥§ ­ï⮣® c¥ªâ®p  º
; º #E3 ³ 1 ³ ’¨¯ ¤¨cª¥âë º
; º #E4 ³ 1 ³ Š®«¨ç¥c⢮ ä ©«®¢ º
; º #E5 ³ 2 ³ Š®«¨ç¥c⢮ c¢®¡®¤­ëå c¥ªâ®p®¢ º
; º #E7 ³ 1 ³ ˆ¤¥­â¨ä¨ª æ¨®­­ë© ª®¤ TR-DOS (#10) º
; º #E8 ³ 2 ³ H¥ ¨c¯®«ì§ã¥âcï (§ ¯®«­¥­® ¡ ©â®¬ 0) º
; º #EA ³ 9 ³ H¥ ¨c¯®«ì§ã¥âcï (§ ¯®«­¥­® ¡ ©â®¬ 32) º
; º #F3 ³ 1 ³ H¥ ¨c¯®«ì§ã¥âcï (§ ¯®«­¥­® ¡ ©â®¬ 0) º
; º #F4 ³ 1 ³ Š®«¨ç¥c⢮ 㤠«¥­­ëå ä ©«®¢ º
; º #F5 ³ 8 ³ H §¢ ­¨¥ ¤¨cª¥âë º
; º #FD ³ 3 ³ H¥ ¨c¯®«ì§ã¥âcï (§ ¯®«­¥­® ¡ ©â®¬ 0) º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
STRUCT SEEK
FirstFreeSec BYTE 0
FirstFreeTrk BYTE 1
DiskType BYTE #16
AllFilesNum BYTE 0
FreeSectors WORD 0 ; beta version
TRDOS_ID BYTE #10
notuse1 WORD 0
notuse2 BLOCK 9,32
notuse3 BYTE 0
DelFilesNum BYTE 0
DiskName TEXT 8, {" "} ; beta version
ENDS
/*
SYS_SECTOR:
DB 0
BLOCK 224,0
.FirstFreeSec: DB 0
.FirstFreeTrk: DB 1
.DiskType DB #16 ; #16 = 80-2, #17 = 40-2, #18 = 80-1, #19 = 40-1
.AllFilesNum: DB 0
.FreeSectors: DW 2544
DB #10
DW 0000
BLOCK 9,32
DB 0
.DelFilesNum: DB 0
.DiskName: BLOCK 8,32
BLOCK 3,0
;
*/
; ÉÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; ºC¬¥é¥­¨¥ ³„«¨­ ³ H §­ ç¥­¨¥ º
; º®â ­ ç « ³ ³ º
; ÇÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
; º #00 ³ 8 ³ ˆ¬ï ä ©«  º
; º #08 ³ 1 ³ ’¨¯ ä ©«  º
; º #09 ³ 2 ³ <20> p ¬¥âp START º
; º #0B ³ 2 ³ <20> p ¬¥âp LENGTH º
; º #0D ³ 1 ³ Š®«¨ç¥c⢮ c¥ªâ®p®¢ º
; º #0E ³ 1 ³ H®¬¥p 1£® c¥ªâ®p  º
; º #0F ³ 1 ³ H®¬¥p ¤®p®¦ª¨ º
; ÈÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
/*
CAT_ELEMENT:
.Name BLOCK 8,32
.Type DB 0
.Start DW 0000
.Length DW 0000
.Sectors DB 0
.FirstSector DB 0
.FirstTrack DB 0
*/
STRUCT CAT_Elements
Name block 8
Type BYTE
Start WORD
Length WORD
Sectors BYTE
FirstSector BYTE
FirstTrack BYTE
ENDS
STRUCT SclOffsets
ID BLOCK 8
Files BYTE
FileBlock CAT_Elements
ENDS
; 655360 kb = 160 tracks * 16 sectors * 256 bites
; 80 tracks * 2 heads * 16 sectors * 256 bites = 655360 kb
; Page = 64 sectors = 4 tracks
;-----------[]
Load_SCL:
;-------[Œ¥âª  ¤¨áª  - ¨¬ï ä ©« ]-------
ld hl,ONE_FILE
ld de,SCL_Buffer
ld bc,#0300+Dss.EX_Path
rst ToDSS
jr c,.skip
ld hl,SCL_Buffer
ld a,'.'
ld bc,0008
ld de,SYS_SECTOR.DiskName
.loop:
cp (hl)
jr z,.skip
ldi
jp pe,.loop
.skip:
;-------[¯à®¢¥àª  奤íà  SINCLAIR]------
ld a,(IMAGE_HANDLER)
ld hl,SCL_Buffer
ld de,8
ld c,Dss.Read
rst ToDSS
ret c ; ®¡à ¡®â稪 ®è¨¡ª¨
ld hl,SCL_Buffer
ld de,SCL_HEADER
ld b,8
.check_header:
ld a,(de)
cp (hl)
jr nz,.error_header
inc hl
inc de
djnz .check_header
jr .get_size
.error_header:
scf
ret
;------[¢ëç¨á«¥­¨¥ à §¬¥à  ¤«ï TRD]-----
.get_size:
/* ld a,(IMAGE_HANDLER)
ld hl,0
ld ix,SclOffsets.Files
ld b,l
ld c,Dss.Move_FP
rst ToDSS ; 㪠§ â¥«ì ­  ¡ ©â ª®«¨ç¥á⢠ ¡«®ª®¢ (ä ©«®¢)
ret c ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
;*/
ld a,(IMAGE_HANDLER)
ld hl,SCL_Buffer
ld de,#701
ld c,Dss.Read
rst ToDSS ; !FIXIT ᤥ« âì ª®­âà®«ì ®è¨¡ª¨? ; ç¨â ¥¬ ¡ ©â ª®«¨ç¥á⢠ ¡«®ª®¢ (ä ©«®¢)
;
ld a,(SCL_Buffer)
ld l,a
xor a
ld h,a
;
add hl,hl ;*2
push hl
add hl,hl ;*4
ld d,h
ld e,l
add hl,hl ;*8
add hl,de ;*12
pop de
add hl,de ; ¢ HL §­ ç¥­¨¥ A*14
add hl,bc
ld de,SclOffsets.FileBlock
add hl,de ; ¢ HL à §¬¥à ®â ­ ç «  SCL ¤® ­ ç «  ¡«®ª  ¤ ­­ëå (header_length)
push hl
;
ld a,(IMAGE_HANDLER)
ld hl,0
ld ix,4 ; ¨£­®à¨¬ ª®­â஫ì­ãî á㬬ã scl ä ©« 
ld b,2
ld c,Dss.Move_FP
rst ToDSS ; 㪠§ â¥«ì ­  ª®­¥æ ä ©« 
jr nc,1F ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
pop hl
ret
1: push ix
pop de ; §­ ç¥­¨¥ ¬« ¤è¨å 16 ¡¨â à §¬¥à  ä ©« 
ex (sp),hl ; §­ ç¥­¨¥ header_length ¢ HL, áâ àè ï ç áâì à §¬¥à  ä ©«  ­  á⥪¥
ex de,hl ; ¢ HL §­ ç¥­¨¥ ¬« ¤è¨å 16 ¡¨â à §¬¥à  ä ©« , ¢ DE - header_length
sbc hl,de
ld de,0
ex (sp),hl ; ¬« ¤è ï ç áâì à §¬¥à  ä ©«  ­  á⥪¥
sbc hl,de ; ¢ HL áâ àè ï ç áâì à §¬¥à  ä ©« 
ex (sp),hl ; áâ àè ï ç áâì à §¬¥à  ä ©«  ­  á⥪¥
ld de,#1000
add hl,de
ex (sp),hl ; ¬« ¤è ï ç áâì à §¬¥à  ä ©«  ­  á⥪¥
ld de,0
adc hl,de
pop de ; âãâ ¢ hl:de à §¬¥à ¤«ï trd
;---------------------------------------
call Get_RAM_Disk_E
ret c ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
Convert_SCLtoTRD:
LD A,(MEM_BLK)
out (SLOT3),a ; ¢áâ ¢«ï¥¬ ¯¥à¢ãî áâà ­¨æã RAM-¤¨áª 
ld hl,SCL_Buffer
ld b,(hl) ; CAT_Elements
inc hl
ld de,#C000 ; RAM-drive's track 0
ld ix,SYS_SECTOR
ld (ix+SEEK.AllFilesNum),b
.cat_loop:
push bc
ld a,(hl)
CP 1
jr nz,1F ; this file is not deleted
inc (ix+SEEK.DelFilesNum)
1: ld bc,CAT_Elements-2 ; ld bc,#0D
ldir ; copy 14 bites of scl files table to trd image catalog
ld a,(SYS_SECTOR.FirstFreeSec)
ld (de),a
ld c,a ;!---[v 1]
inc de
ld a,(SYS_SECTOR.FirstFreeTrk)
ld (de),a
inc de ; Pointer on next filename in RAM drive
dec hl ; set to number of sectors
ld a,(hl) ; get file length in sectors from scl-table
and #0F
add a,c ;!---[^ 1]
ld c,a ;!---[v 2]
and #0F
ld (SYS_SECTOR.FirstFreeSec),a
ld a,#F0
and c ;!---[^ 2]
jr z,1F
inc (ix+SEEK.FirstFreeTrk)
1: ld a,(hl)
srl a
srl a
srl a
srl a
add a,(ix+SEEK.FirstFreeTrk)
ld (SYS_SECTOR.FirstFreeTrk),a
inc hl ; Pointer on next filename in SCL_Buffer
pop bc
djnz .cat_loop
xor a
ld (de),a ; file table end marker
;---------------------------------------
; „®¤¥« âì!!!!!
; SYS_SECTOR.FreeSectors
; push hl ; ¡ ©â ¢ ¡ãä¥à¥ ®âªã¤  ¢ SCL ­ ç¨­ îâáï ¤ ­­ë¥ (HL-SCL_Buffer)
; push de ; ¡ ©â ¢ ram ¤¨áª¥ trd £¤¥ § ª ­ç¨¢ ¥âáï â ¡«¨æ  ¯®á«¥¤­¥£® ä ©« 
xor a
ld de,SCL_Buffer-8 ; ¢ëç¨á«ï¥¬ §­ ç¥­¨¥ ᬥ饭¨ï ¢ ä ©«¥ ¨§ §­ ç¥­¨ï ᬥ饭¨ï ¢ ¡ãä¥à¥
sbc hl,de
push hl
pop ix
ld a,(IMAGE_HANDLER)
ld hl,0
ld B,L ; b=0 - ®â ­ ç «  ä ©« 
ld c,Dss.Move_FP
rst ToDSS ; 㪠§ â¥«ì ­  ¯¥à¢ë© ¡ ©â ¤ ­­ëå
jr nc,1F ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
pop de
ret
1: di
ld hl,SYS_SECTOR_START
ld de,#C800 ; sys sector of tr-dos disk in bank3 of ram-disk
ACC_SetBlockSize
ld a,0
ACC_CopyBlock
ld a,(HL)
ld (DE),a
ACC_Off
; ei
LD A,(IMAGE_HANDLER)
LD HL,#D000 ; ¤®£à㧨âì ¤® ª®­æ  áâà ­¨æë
LD DE,#3000
LD C,Dss.Read
RST ToDSS
JP C,ERROR_IN_READ ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
LD HL,MSG_LOAD_IMAGE ; loading image
LD C,Dss.PChars
RST ToDSS
LD HL,PROGRES_IND ; loading TRD
LD C,Dss.PChars
RST ToDSS
DI
LD A,(MEM_BLK)
jp Load_IMAGE_File.scl_read_next
;-----------[]
SCL_HEADER: DB 'SINCLAIR'
;------------[¯¥à¥¬¥­­ë¥]---------------
SYS_SECTOR_START:
DB 0
BLOCK 224,0
SYS_SECTOR SEEK
SYS_SECTOR_END: BLOCK 3,0
SCL_FILE_ID: DB 0
;-----------[¢ á ¬ë© ª®­¥æ]-------------
SCL_Buffer EQU $
assert SCL_Buffer+#701 < #C000, "Buffer out of mem bank 2"

8
version.inc Normal file
View File

@ -0,0 +1,8 @@
;
LUA ALLPASS
local date, month, year = Get_date_RU(sj.get_define("__DATE__"))
sj.insert_define("BUILD_DATE", "'" .. date .. "." .. month .. "." .. year .. "'")
ENDLUA
DEFINE SP_VERSION "2.01 beta build"
;