Easy Hdd 1.18- software pack, release 5.3.2015

EN Dear MB02+ users, after almost 2 years we meet again over my next enhancement of the Easy Hdd (further reffered to as EH)- our world best and the only IDE driver, this time in version 1.18. I actually do not know why I exactly sat down to work on EH months ago, but I wanted to add Busy's comment about reading out the disk geometry already on the level of the dos service AKTIVE. And finally the whole pack that you download today has emerged upon this world, so let's see what's inside:

EasyHdd 1.18
What's new compared to the last EH 1.12?
Why I introduced write protect (further reffered to as WP) when the previous EH versions can manage the write protection also? The WP feature seems to be already flawless, now. It can be set on individual disks. It does not disappear after computer turnoff. I am immediatelly informed about WP during disk catalogue. Working with WP is not complicated thanks to new utilities.

One notice about WP!! There is no problem with the new EH. With the older EHs, the change on offset #A in boot sector is qualified by Bsdos as a problem with disk format (with EH1.18 Bsdos and boot sector in cache memory is adapted in a way Bsdos does not see any problem with disk format). With older EHs however, Bsdos evaluates such a disk with offset #A set on as an UNKNOWN FORMAT. So, what is the way out now?

In fact, everything is all right, because we want to write protect this disk, and Bsdos does not allow that, ending up with UNKNOWN FORMAT message. But how do I recognise with the older EH versions, between the disk with write protection and a disk which has a real problem with format? The first and the best reccomendation is to upgrade to EH1.18. Another step are the utilities in the pack that might be of help also:

Utilities for work with WP
These utilities help the user to orientate better in disk WP statuses. With older EH versions, they help to determine WP status, and e.g. can tell if UNKNOWN FORMAT message was really caused by some format problem or by #A ofsett.
1) Write protect handler is a BASIC utility, which handles WP in its complexity. So, it can work with multiple disks, can read WP statuses, display them, set WP on and off. The interface is partially graphical.
2) 6 individual utilities. These utilities work with WP in a single purpose mode. Meaning, every utility does only one thing. The first three are: "readstat"- returns WP status of current disk, "setwpon"- sets WP on on current disk and "setwpoff"- sets WP off on current disk. You may run them with the NEW command. Or, if you run these utilities from BASIC with the function LET x= USR start address, they will return the following in x: 0= all ok, 65535= disk error, 1= WP OFF, 2= WP ON, 3= disks 0, 1, 2, 128, 129, 130 detected, utility ended without action. It means, that if you want to apply these utilities to e.g. diskettes, these will not be carried out.

Then we have another three utilities, same as the first three but having additional "+" in their names. It means, that the utilities will additionally return the result in user Bsdos report.

It means, that if you only want to use the utilities in an everyday life, pick the utilities with the "+" in their names. If you want to use the utilities in your own programs, use those without "+", where the reports will not bother you.

Disk Info 22
Newly, it can display WP status of a disk using the "lock". Same service is provided by the above mentioned utilities. The only limitation is again for the older EH. If WP status on offset #A is found in boot sector, the disk info will be displayed only partially. Also the keyboard routine was repaired, the arrows caused some troubles during disk browsing.

Flashboot 1.18
It is a standart Flashboot, the flashing program is enclosed. It boots BSDos, BSRom and Easy Hdd 1.18. Unfortunatelly, the beautiful boot logo had to disappear because booting data were larger than 32768 so they would not fit into Flashrom.

EH Detect 40
A program that you will not use much, most probably. It will tell you which EH version you have installed on your computer. Eventaully it will detect the Ramdisk, or pure dos.

So as you may see, EH is moreover flawless now and there are hardly any further enhancement possible. So, use and enjoy the new EH in full health:) Thanks to Busy for priceless advices.

Easy Hdd 1.12- software pack

EN Dear friends, after a longer period I am coming back to you with some bits from my speccy workshop. It is a high- end MB02+ software pack:)

It has been always fine to have tens of MB disks, but I really disliked the limitation of only 8 sectors a track. In practise, this really does not make much of obstacles, but in the course of time we might wait to see an MBD image exporter or importer right on speccy itself, where this limitation could make troubles. In a word, I kept thinking about the limitation, I twice failed repairing it- once alone, once with Velesoft and for the third time at long last we succeeded to break through the program under Busy's guidance.

One of the ideas of the pack is to remeber user's comfort, particularly, that they do not have to think all the time which Easy Hdd (next in the text abbreviated to EH) version is installed or what formatting program is being used. And first of all, the safety of data is the order of the day, in case the old and the new utilities and EHs are combined. Together with EH it was neccessary to remake also already existing utilities or write brand new ones. But let us go through every single program now:

EasyHdd 1.12
Format limitation removed. You could only use 8 sectors a track in past. Now, EH can work with 1- 255 tracks and 1- 15 sectors a track. Even though the EH routines can work with up to 127 sectors a track, but for this number no formatting program has been created yet. In practise, you can import even 82x11x2 diskette formats on your memory card. Next, the catalogue free space routine had to be extended for formats 128x8x2= 2048 sectors, which is now maximum format that BSODS 308 is able to achieve, and probably most frequently used one. Next, the reading/ writing of tracks was taken out, both useless on working with IDE disks, this omittance has been then used for the formatting programme, see further. In the old EH Dron wrote these routines wrongly, so another reason to remove these routines. For the hdd disks also the INFO1 service was adjusted, previously the service returned #8003 in DE for hdd disks, now it is #FF09, meaning 255 tracks, and the 3rd bit is carrying information, that we are dealing with IDE disk. This info is used by DI 21 utility and the new formatting programme. EH can also read out a byte from BSDOS, which previously it could not. And in the end, as every Busy's patch, also this one frees another 7 bytes in BSDOS for various usage:)

EH neednot be placed in autoexe file, for this purpose we have a new Flashboot:))

Disk Info 21- functional also in old EH without limitations
Quite (???:) enhanced Busy's DI 16. First of all, the free space is now correctly displayed for disks 128x8x2. It also adds information taken from new EH, that we are delaing with IDE disk. I also added the disk number input using keys (Enter and DELETE employed) and also movement across disks with arrows up/down. Holding down the arrow gain speed and the disk numbers start to fly on the screen. Individual arrow presses moves you up and down disk rows in order to have well- arranged disk one after another in front of your eyes.

Formatting programme FF40- functional also in old EH with limitations, see further
Together with the new EH it is the most sophisticated programme in the pack. Busy's good old FF17 was a model. It can format multiple disks at once. And it is always fast formatting, the programme cannot write zeros physically into data sectors, it only creates system sectors. Those who wants to have physically zeros also in data sectors, use another utility from the pack- FSC, Free Sector Cleaner. Formatting one disk lasts 4 seconds. YOu can recognise the disk, that has been formatted with FF40 easily by the text "F02-V40" in the name (old FF17 and Shrek's FF20 use text F02-V30). The program enables you to enter up to 255 tracks and 15 sectors per track, which is determined by fomratting sequence length, hence RAM memory.

At new formatting programme, it was neccessary to solve one speciality and that was the combination of new formatting programme and old EH, or old FF17 with new EH. Both combinations are possible, errors and collisions are handled, the description follows.


What happens when I use the old EH with the new FF40? You can either formatt flopy disks or hdd. With floppy you can choose either 1 or 2 only. Yes, this does not comprise those having also floppies 3 and 4. At hdd disks, if you want to input number of sectors different from 8 (no other number of sectors a track is possible with the old EH), then the new FF40, because it is testing EH version, will change your choice automatically back to 8, so even here you are protected. The new FF40 works with the old EH the same way as FF17 do. The only limitation is for those who have floppies on position 3 and 4, FF40 do not allow other number of sectors than 8, they are already taken as hdd disks. But easily can it be bypassed by sticking the diskette into drive 1 or 2.

The other, now comfortable, situation occurs, in combination of the new FF40 and the new EH, as already mentioned in the first column about FF40. The diskettes are formatted the same way as with FF17, but the enhancement comes on hdd disks. Because reading/ writing tracks was omitted, the new EH is giving to DOS information through INFO1 service about which disk, hdd or floppy, is being worked with, so the formatting programme is able to detect if floppies are connected on positions 1- 4. And back to already mentioned omitted read/ write track routines, with hdd these routines are really not neccessary. The new way of formatting hdd disk is that only system sectors are created, so such formatting takes up only 4 seconds. After all, some of time consuming routines remained from the old FF17.

What happens when I use the new EH with the old FF17? Formatting a diskette is without changes. Formatting hdd will not work, because of track routines ommitance. Nothing freezes, only error code will appear and formatting is aborted.

What happens if I use the new EH with Shrek's formatting programme FF20? Formatting a diskette is no problem, the same as with the old EH. Quick hdd format is no problem, slow format non- functional, because no routines for work with tracks exist in new EH.

Conclusion: you may combine freely, either no harms will be done or the programme will not let you progress any further so as not to corrupt your data. The limitation is the only one- old formatting programmes cannot carry out slow hdd formatting with the new EH.

EH detect- functional also in old EH without limitations
An easy to use prgramme that will detect which EH version is installed, either the old one, or the new one or none.

Free Space Cleaner- functional also in old EH without limitations
A complementary utility for FF40 formatting programme, which do not delete data sectors and those can comprise non- zeros from the previously saved data. If you need to zeroise those (eg. you need to send the image over the Internet, is is useless sending all those non-zeros in deleted sectors), then this utility is your choice.

It browse FAT- entry by entry end evaluate its status, if it is free, it counts the logical sector number, converts it to physical one, and saves row of #400 zeros. And this way up to the end of FAT. Whereas such a sector is marked free, of which 15th bit is zero. This is of our interest, the all others mustnot be deleted. It means that you can use FSC on a partially full disks without loosing a single byte.

At the end of the cleaning process, a protocol is displayed saying how much sectors on disks were cleaned. If you put in CLEAR or RUN commands in BASIC, you loose the protocol, but because FAT is not changed, you can run FSC again on the same disks which results in the same clearing protocol as in previous time.

Before cleaning, it is advisable to press all directories (.PRESS command) to clean the most possible number of sectors. After cleaning, restoring the files using .UNERASE command is not possible anymore. BSDOS caries out unerase as if correctly (because directory and FAT still contain information about files), but the unerased file will contain zeros only.

Multiple Disk Renamer- functional also in old EH without limitations
A bit more advanced user programme, but after a while everybody should understand how to deal with it. If you have disks with e.g. games that come in alphabetical order one after another (e.g. on disk 3 games starting with A, on disk 4 games starting with B etc till the letter Z), then you can rename them using Busy's utility "redisk", however doing so with many disks, oh, come on... (take it easy, Busy:). This utility allows to enter 6 self increasing variables strings, 2 are 3 digits decimal numbers (range 001- 255), 2 are hexadecimal numbers (range #01- #FF), and 2 are single ASCII characters (range 32- 127). You can combine well enough with all of these. So, you can name your disks e.g. DISK 003- 130, DISK 004- 131, DISK 005- 132, or disks GAMES A, GAMES B, GAMES C, or GAMES A001, GAMES A002.

The program allows you to input the disk name brand new- typed in with the keyboard, or pick some existing name as template- the current name to write is always displayed on the line and the programme lets you pick name from an already existing disks using arrows. And the third possibility is to let disk names preserved and add only variables to them- this possibility is for those cases, when disk names are given and you just want to add some variables to them.

Because of its severity, let us see now its options, there are four of them:

1) Select disks to rename- here you input the row of disks as we know them e.g. from Omega's TAP Creator- the disks are entered either individually or using " TO" (SS+F) command, you end your choice by putting in zero. You are being informed about the progress.

2) Name selection- current name to write is always displayed below choice 2. As next step here, you can select either inputting new name, or use the current one, or preserve already existing names. You work always with up to 26 characters. After that the selected name is displayed. In case you selected to preserve existing names, row of 1234.... is displayed for you so that you can better orientate in inputting variables. Now you select the variables themselves. There are 6 of them and they have different colours. The variable is set by placing the arrow to the position in the name you wish the variable should start, and after entering it, you set its range. The range can even be zero (e.g. 10- 10), in this case the same value will be written in names. If you enter an increasing range (e.g. 1- 255), the value is increased by one with every disk in a row. The ASCII variables (variables 5 and 6) work analogically the same way but only one character is changed, whereas the numeric variables (variables 1- 4) takes up always 3 positions in the name. The cyan border indicates displaying of variables into name, so you have to wait a second. After you have ended your selection of variables, the complete name with variables is then displayed under choice 2 on the screen.

3) Display variables- the coloured patches in the name will tell you positions of variables, but do not tell you anything about variable ranges. So choice number 3 will display them for you.

4) Browse disk names- serves the user for comfortable disk name selection by the existing disks, where you use arrows or input directly disk number. Pressing number 2 will select the name as current template.

I wish you many happily renamed disks:))

Manual Format Changer- functional also in old EH, testing programme- at your own risk!
This is a programme for those who would like to experimentate with various disk formats, especially over 15 sectors a track. It rewrites disk geometry in boot sector, then KILLX service is carried out, FAT is not modified!!! So, if you change format from 128x8 to 100x8 (disk capacity is decreased), the catalogue will still display 2037 free sectors. This is rather testing utility, so programming also FAT modification, which has to be written really precisely, would be already too exhausting for me. Anyway, reading and writing across various formats should be functional. With format change, the old format is backed up on higher bytes of track and sector in boot sector itself, so it can be easily restored. It also can zeroise this backup, and all of these can be carried out also with multiple disks. In this case, a protocol about the results is poured out.

Flashboot EH112- binary file for boot ROM
The last programme, which I did not think I would ever finish. Its content is the same as Shrek's boot ROM content, which loads BSDOS and BSROM plus now the new EH instead of the old one. It means new EH does not have to be placed in autoexe. Slight improvement made by Velesoft, in the beginning of the program there is a waiting loop because of badly designed reset in ZX Spectrum. At the same time, pressing SYMBOL SHIFT at the beginning interrupts booting process, BSROM is disconnected with OUT 23,0 and original ZX Spectrum ROM is paged in, which is useful in case you want to work with the computer in its original state. And for those MB02+ users with Profi If (me, the only in the entire world:), who have in ROM 0 the Profi If menu, you can such way easily get into this menu without writing a complicated sequence of OUTs form BASIC.

For the fast identification of the new EH booting, the initial booting screen is slightly changed and the downwards arrow has different colour.

makebs.z80- functional also in old EH, requires Profi Interface with DivIde emulation. Velesoft's snap to save MB02+ in case you flash new boot ROM with the old flasher programme, or rewrite the flash ROM as I did. Place this snap on your hdd as a standart PC file. Then in Profi If switch to any system that is capable to load snaps from PC (Fatware, Esxdos...) and load this snap. The snap loads BSROM118 to page 0 and BSDOS308 to page 1. You are now victorious and you may safely flash your boot ROM from a diskette. By the way, an inch from a backup battery there you may find a S10 jumper, its replacement turns off the ROM in MB02+. This is just an information, it is not much of help during the real "why the hell my MB02+ won't start even in ZX Spectrum mode" fights, because in original wiring there is a resistor missing on the jumper, so no en/disabling MB02+ ROM during the work:(

Disk Extenderadded 8.7.2013 - functional also in old EH.
I also wanted to extend my disk formats to full power 128x8x2= 2048 sectors, so I found out that transistion from 127x8 is not that easy, so I wanted to have myself two useful programmes and the first one, I am bringing in today. It is a Disk Extender, that allows extending disk formats on existing 8 sector a track disks to 128 tracks. Meaning that it concerns in most cases all 127x8 disks that were used by old EH. The programme can do analysis and extension of your master and slave disks (both can be turned off). It is an easy to use programme with clear functionality and understandable for everyone. I am putting up screenshots here, for sure. The programme analyses your disks and divides them into four categories according to found format: 1) disks with 8 sectors a track and tracks < 128- THESE DISKS ONLY WILL LATER BE EXTENDED TO 128x8 and they are also flashing on the screen. 2) disks 128x8. 3) other formats. 4) errors or unknown formats or otherwise problematic disks. Prior to analysis, there comes detection if the correct free space displayer for disks 128x8 patch is installed in BSDOS, if not, then it is installed. After analysis you choose if you wish to extend the selected disks (they will be only those from mentioned group 1) and that's it. The principle of the programme is that all FAT entries #FFFF, telling BSDOS it is working outside media, are rewritten to #0000, and also changes the geometry in boot sector. With such altered disks you may start to work immediatelly, obviously all data remain preserved.
The second programme of extreme importance is a copier of whole disks copying also disk and directory names. Yes, but do we not have Busy's CDD? We do, but this copier cannot copy files bigger than RAM memory and this is it's only drawback, but for our purpose the principal one. I have many TAPs and snaps on my disks and CDD ended up freezed. Copying multiple files without CDD means for the user to sit at the computer for hours and copy and copy. If I have time, I will write such copy machine.

Now for the pack itself. Besides the runable programmes, you find also source files, some for SJASM for PC, other for Alasm for Speccy, depending on which source I used at start, or if I needed the real machine.

During testing of the new EH we found out, that Discobolos copies flagbytes at headerless files in a wrong way, meaning you will not be able to load eg. games comprising headerless blocks copied in Discobolos. I also managed to eliminate the DMA in MB02+ and GAL IC in MB IDE:)

Thanks- the biggest thanks go to Busy, who not only stood behind the whole project as a director but he gave advices, corrections, was looking for errors with me and answered patiently on all of my, not always neccessary, questions. Without him, these programs would have never emerged:)

The next big thanks goes to Velesoft, who helped me to bring my MB02+ back to life during testing my initial Flashboot error versions, so I completely destroyed data in SRAM and flash ROM. I manged to reestablish the MB02+ thanks to Profi Interface, his DivIde emulation (without a real DivIde) and Velesoft's snap.

Thanks also to Shrek and F6, who released the Flashboot, a MUST for all MB02+ users.

Works lasted for about 7 months of discontinuous work.

to do list in EH and Free Space Cleaner (not critical): sorry, info available in Czech only

Easy Hdd 1.18- softwarový balík, vydáno 5.3.2015

CZ Vážení mbčkáři, po necelých dvou letech se opět setkáváme u mého dalšího vylepšení našeho světového a také jediného IDE driveru- Easy Hdd (dále jen EH), tentokrát ve verzi 1.18. Ani nevím, proč jsem před pár měsíci k práci zasedl, ale vím, že jsem chtěl do EH doplnit onu Busyho poznámku, aby EH uměl vyčítat údaj o geometrii disku již na úrovni služby AKTIVE. No a nakonec vznikl celý následující balík, pojďme si na něj trošku posvítit:

EasyHdd 1.18
Co je vše nového oproti poslední verzi EH 1.12?
Proč jsem zavedl write protect, když ho umí už předchozí verze EH? Protože tento write protect je již dokonalý. Jde nastavit individuálně pro každý disk zvlášť. Po vypnutí počítače se informace o write protectu (dále jen WP) neztrácí. Mám o něm okamžitý přehled a to hned při katalogu disku. Díky novým utilitám není práce s WP složitá.

Upozornění ohledně WP!! U nového EH není žádný problém. U starších verzí EH je problém ten, že změna offsetu #A v boot sektoru je dosem posouzena jako problém s formátem (EH 1.18 upraví dos a boot sektor v cache tak, že dos problém nenajde). Starší verze EH však posoudí takový disk s nastaveným WP na offsetu #A jako UNKNOWN FORMAT. A teď babo raď a jak z toho?

Ve skutečnosti je vše v pořádku, protože přece tento disk chceme chránit proti zápisu, což nám Bsdos nedovolí, pokud končí s hlášením UNKNOWN FORMAT. Jak ale u starších verzí EH poznám, zda je skutečně problém s formátem, nebo je disk jen chráněn? Jako nejjednodušší pomoc doporučujeme upgrade EH na 1.18. V druhé řadě najdeme v balíku několik užitečných utilit:

Utility pro práci s WP
Tyto utility slouží pro uživatelovu orientaci ve WP statusu disků, u starších verzí EH pomohou určit WP status disků, tzn. uživatel zjistí, zda příčina hlášení UNKNOWN FORMAT je skutečně v neznámém formátu, nebo v offsetu #A.
1) Write protect handler je BASICovská utilita, která pojímá WP komplexně. Tzn. umí pracovat s více disky, umí přečíst WP status, zobrazit jej, povolit i zakázat. Rozhraní je částečně grafické.
2) 6 jednotlivých utilit. Tyto utility pracují s WP v jednorázovém módu. Tj. každá utilita dělá jen jednu věc. První tři jsou: "readstat"- vrací status WP aktuálního disku, "setwpon"- zakazuje zápis na aktuálním disku a "setwpoff"- povoluje zápis na aktuálním disku. Můžete je spustit klasicky přes příkaz NEW. Nebo pokud z BASICu tyto služby zavoláte pomocí funkce LET x= USR startovací adresa, tak se vám v x vrátí toto: 0= vše v pořádku, 65535= chyba disku, 1= WP OFF, 2= WP ON, 3= detekovány disky 0, 1, 2, 128, 129, 130 a utilita proto neproběhla. Z uvedeného plyne, že při pokusu aplikovat tyto utility např. na diskety tyto neproběhnou.

Pak jsou zde další tři, shodné s těmi prvními, jen mají v názvu "+", což značí, že utility vám navíc vrátí výsledek v podobě uživatelského hlášení Bsdosu.

Tzn. chcete-li utility pouze využívat v praxi a nic víc, používejte utility s "+" za jménem. Pokud chcete utility využit ve vlastních programech, pak sáhněte po těch bez "+", kde vás nebudou rušit uživatelské hlášky.

Disk Info 22
Nově umí zobrazit pomocí znaku zámek i to, zda je disk chráněn proti zápisu. Stejnou službu poskytují i výše zmíněné jednorázové utility. Jediné omezení je opět pro starší EH, kdy při nalezeném statusu WP na offsetu #A zobrazí info o disku jen částečně. Dále byla opravena klávesnicová rutina, kde zlobily šipky při brouzdání disky.

Flashboot 1.18
Jde o klasický flashboot, flashovací program přiložen. Nabootuje vám spolu s BSDOSem a BSROM i Easy Hdd 1.18. Zmizelo nám bohužel krásné bootovací logo, protože flashovací data by zabrala už místo >32768 a nevešla by se proto do Flashrom.

EH Detect 40
Program, který patrně moc nevyužijete, ale po jeho spuštění se dovíte, jakou verzi EH máte nainstalovanou, případně najde Ramdisk, nebo jen čistý dos.

Tak jak vidíte, EH je už poměrně dokonalé a těžko lze očekávat další a další vylepšení. Užívejte si nové EH ve zdraví:) Děkuji Busymu za cenné rady.

Easy Hdd 1.12- softwarový balík

CZVážení přátelé,po dlouhé době se opět vracím mezi vás s troškou z mojí spektristické dílny. Jedná se o dílo pouze pro MBčko.

Je sice fajn mít desítky MB disků, ale vadilo mi omezení na 8 sektorů na stopu. Sice v praxi to asi ničemu moc nepřekáží, ale časem se možná dočkáme nějakého importéru nebo exportéru celých imagí přímo na speccy, a omezení formátu by mohlo vadit. A prostě, dlouho mi leželo to omezení v hlavě, dvakrát jsem na tom ztroskotal, jednou sám, podruhé s Velesoftem, no a na potřetí po boku, no spíše pod vedením Busyho, se to omezení podařilo prolomit.

Jednou z ideí balíku je pamatovat na komfort uživatele, tedy na to, aby nemusel přemýšlet jakou má v počítači verzi Easy Hdd (dále jen EH), či jaký používá formátovač. A samozřejmě prvotní věcí je ochrana dat v případě, že se staré a nové utility a EH vzájemně kombinují. Spolu s EH bylo buď nutno upravit příbuzné programy, a nebo napsat nějaké nové, takže z jednoho EH tu rázem máme několik nových nebo upravených utilit. Ale začněme pěkně popořadě:

EasyHdd 1.12
Odstraněno omezení formátu, které spočívalo v nutnosti mít pouze 8 sektorů na stopu. EH nyní může pracovat s 1- 255 stopami, a 1- 15 sektory na stopu, i když rutiny EH umí až 127 sektorů na stopu, ale na tuto hodnotu zatím není vytvořen korektní formátovací program. V praxi si tedy na vaši kartu s disky můžete importovat klidně i formáty disket 82x11x2. Dále bylo potřeba rozšířit rutinu pro správné zobrazení volného místa při katalogu u formátu 128x8x2= 2048 sektorů, což je nyní maximální formát, který BSDOS 308 umí, takže v praxi asi budou všichni používat tento. Byl vyhozen zápis a čtení stopy, které v práci s IDE disky nemají význam, toto vyhození pak slouží jako vodítko pro práci nového formátovače, viz dále. Ve starém EH měl Dron práci se zápisem stopy chybně zapsanou, takže další důvod pro její vyhození z EH. Pro hdd disky dále byly upraveny údaje pro službu INFO1 v biosu, která v DE vrací namísto #8003 hodnotu #FF09, což znamená 255 stop, a do 3. bitu dáváme informaci, že jde o IDE disk, čehož hlavně využívá utilitka DI 21 a také nový formátovač. EH umí navíc z dosu vyčítat bajt, což mu předtím nešlo. No a nakonec jako každý správný Busyho patch, nový EH uvolňuje v dosu dalších 7 bajtů pro libovolné potřeby:)

EH není třeba umísťovat do autoexeku, od toho máme nový Flashboot:))

Disk Info 21- použitelné i ve starém EH bez omezení
Značně (???:) vylepšený Busyho DI 16. No, především jeho rutina teď zobrazuje velikost volného prostoru přesně i pro disky 128x8x2. Doplňkově zobrazuje i informaci, kterou poskytuje nový EH, že se jedná o disk IDE. Dále jsem přidal zadávání čísla disku přímo z klávesnice (funguje Enter i DELETE) a taky pohyb šipkami po discích nahoru a dolů. Když šipku podržíte, čísla se rozběhnou, jednotlivé stisky vás posouvají po discích, abyste se mohli dívat na údaje o discích pěkně za sebou.

Formátovač FF40- použitelné i ve starém EH s omezením, viz následující informace
vedle nového EH asi nejsofistikovanější program z balíku. Jako předloha mu byl starý známý a dobrý Busyho FF17. Umí formátovat více disků najednou. A jde vždy o rychlé formátování, program neumí fyzicky zapsat do datových sektorů nuly, jediné, co se vytváří jsou systémové sektory. Kdo chce mít nuly i v datových sektorech, nechť použije další utilitku v balíku- FSC, Free Sector Cleaner. Formátování jednoho disku trvá 4 vteřiny. Disk zformátovaný FF40 poznáte podle toho, že v názvu disku najdete text "F02-V40" (starý FF17 i Shrekův FF20 tam mají F02-V30). Program umožňuje zadat až 255 stop, maximálně však umí jen 15 sektorů na stopu, je to dáno délkou formátovací sekvence na stopu a tedy pamětí RAM.

U formátovače bylo potřeba vyřešit jednu specialitu a sice tu, aby mohl bez problému pracovat i se starým EH, případně starý FF17 pracovat s novým EH. Což tedy umí, chyby a kolize jsou ošetřeny, popis následuje.


Co se stane, když použiju starý EH s novým FF40? Máte zde na výběr z formátování floppy nebo hdd. U floppy je natvrdo daná možnost buď floppy 1 nebo 2. Pravda, není pamatováno na uživatele, kteří mají floppy i na disku 3 a 4. U hdd disků pokud budete chtít zadat jiný počet sektorů na stopu než je 8 (s žádnou jinou hdonotou počtu sektorů na stopu starý EH korektně pracovat neumí), tak protože nový FF40 testuje verzi EH, program vaši volbu automaticky změní na 8, takže chráněni jste i v tomto směru. Zkrátka nový FF40 pracuje se starým EH úplně stejně jako pracoval FF17. Jediné omezení tedy je pokud někdo má připojeny flopiny na pozicích 3 a 4, tak FF40 vám na těchto pozicích nedovolí jiný počet sektorů jako 8, bere je už jako hdd disky. Ale obejít se to dá tak, že disketu prostě strčíte do mechaniky 1 nebo 2.

Jiná a uživatelsky příjemnější situace nastává u nového FF40 při použití s novým EH, jak jsme již naznačili v prvním odstavci k FF40. Diskety se formátují shodně jako u FF17, ale vylepšení je u hdd disků, kdy díky tomu, že byl vyhozen z nového EH zápis stopy a služba INFO1 poskytuje nyní DOSu informaci o tom, zda se pracuje s diskem hdd nedo floppy, tak formátovač sám je schopen detekovat případné připojení flopin na pozicích 1- 4. Tak a ještě jednou k tomu vyhozenému zápisu treků. U hdd toto skutečně není třeba, a nově se hdd disky formátují prakticky jen tak, že se přeplácnou systémové sektory, takže formátování jednoho disku zabere 4 vteřiny. Přeci jen nějaká další režie s formátováním zůstala ze starého FF17.

Co se stane, když použiju nový EH a starý FF17? Formátování diskety beze změny, formátování hdd nebude fungovat, protože z nového EH byl vyhozen zápis stopy. Nic nespadne, jen vyskočí chybová hláška a formátování se přeruší.

Co se stane, když použiju nový EH se Shrekovým formátovačem FF20? Formátování diskety klasicky bez problémů jako po staru. Rychlé formátování hdd bez problémů, pomalé formátování neumí, z důvodu absence rutin pro zápis stopy v novém EH.

Závěr: kombinujte si jak co chcete, nic nepoškodíte a nebo vás program v rámci bezpečnosti a ochrany vašich dat dále nepustí, omezení je jediné- staré formátovače neumí s novým EH provést pomalé formátování hdd disků.

EH detect- použitelné i ve starém EH bez omezení
Jednoduchý detektor verze EH, buď najde starou, nebo novou nebo nenajde.

Free Space Cleaner- použitelné i pro starý EH bez omezení
Doplňková utilita k formátovačí FF40, který nemaže datové sektory, tyto mohou zůstat nenulové z případných předchozích dat. Pokud ale všechny nepoužité datové sektory potřebujete fyzicky vynulovat, (např. chcete poslat image disku přes net, takže je zbytečné posílat i nepoužité nenulové datové sektory), použijte tuto utilitu.

Pracuje tak, že bere FAT- položku po položce a zjišťuje její status, jestliže je volná, vezme logické číslo sektoru, přepočítá ho na fyzický, a uloží do něj z paměti sekvenci nul dlouhou #400. A takto až do konce FAT. Přičemž jako volný sektor je označen takový, jehož 15. bit je nula, ten nás zajímá, ostatní se mazat nesmí. Tím pádem FSC můžete pustit i na už zaplněné disky aniž byste přišli o data.

V závěru čištění se zobrazí protokol kolik sektorů byla na každém disku takto vyčistěno. Když BASIC CLEARnete, nebo dáte RUN, tak o protokol přijdete, ale jelikož FAT se nemění, takže když FSC necháte znovu projet požadovanými disky, tak protokol vám vyjede pokaždé stejný.

Před spuštěním čištění je vhodné setřást všechny adresáře (.PRESS) pro vyčištění co největšího počtu sektorů. Po pročištění již není možné soubory obnovit příkazem .UNERASE. BSODS sice navenek vykoná unerase korektně (protože adresář a FAT stále obsahují informace o souborech), ale obnovený soubor bude celý nulový.

Multiple Disk Renamer- použitelné i pro starý EH bez omezení
Uživatelsky pokročilejší program, ale stačí se trošku zamyslet a měl by jej pochopit každý. Máte-li disky, kde jsou např. abecedně hry (na disku 3 hry začínající na A, na disku 4 hry začínající na B, atd. až do Z), tak s Busyho utilitou "redisk" je přejmenujete, ale x disků za sebou, co si budeme povídat, je to vopruz (nic proti, Busy:). Tahle utilita umožňuje do 26 znakového jména disku zadávat zvyšující se řetězce a to celkem 6 proměnných, 2x 3 místné číslice desítkově (rozsah čísel 001- 255), 2x číslice hexa (rozsah čísel #01- #FF) a 2x 1 znak ASCII (rozsah 32- 127). S těmito možnostmi se dá dobře kombinovat. Takže disky si můžete pojmenovat třeba DISK 003- 130, DISK 004- 131, DISK 005- 132, nebo disky GAMES A, GAMES B, GAMES C, nebo GAMES A001, GAMES A002.

Program umožní zadat jméno disku buď úplně nové- zadáte normálně z klávesnice, nebo vybrat stávající jako předlohu- stávající jméno k zápisu vidíte vždy na řádku a program vám umožní si jako předlohu vybrat jméno některého z disků pomocí šipek. Třetí možností je názvy disků zcela ponechat a přidávat jen proměnné hodnoty- to je dobré tehdy, když již jména disků máte a chcete jen přidat některou z proměnných.

Protože je program mírně složitější, pojďme si probrat jednotlivé volby, jsou celkem 4:

1) Vyber disky k přejmenování- klasické zadávání sekvence disků, jako je známe z Omegova TAP Creatoru- disky zadáváte buď jednotlivě, nebo pomocí přkazu " TO" (SS+F), zadávání ukončíte vložením nuly. O průběhu přejmenovávání jste informováni.

2) Výběr jména- aktuální jméno k zápisu je neustále zobrazeno pod volbou 2. Na další výběr máte buď vložit jméno nové, nebo použít to zobrazené, nebo jména na discích ponechat. Použito je vždy maximálně 26 znaků. Poté se vám zobrazí jméno, v případě ponechání jmen uvidíte jen čísla 1234..... pro snažší orientaci při vkládání proměnných. Nyní volíte proměnné, kterých, jak jsme již říkali, máte na výběr 6 a všechny jsou barevně odlišené. Proměnná se zadává tak, že nejdříve si šipkou najedete na polohu, kde ji ve jméně chcete mít a po potvrzení určujete její rozsah. Rozsah může být i nulový (např. 10- 10), v takovém případě se vám zapíše do jména vždy stále stejná hodnota. Pokud dáte rozsah stoupající (např. 1- 255), s každým zápisem na disk se hodnota zvýší o 1. Analogicky to platí i pro proměnné ASCII (proměnné 5 a 6), kde ale se mění jen jeden znak, zatímco číselné proměnné (proměnné 1- 4) zabírají ve jméně vždy tři znaky. Jinak modrý okraj znamená, že se vypisují proměnné do jména, takže musíte chvilku počkat. Takže poté, co jste proměnné navolili, se vám pro vaši orientaci jméno převede na obrazovce pod volbu 2.

3) Zobraz proměnné- samotné barevné vyznačení proměnných ve jméně vám sice říká, na kterých pozicích ve jméně disku se budou proměnné vyskytovat, ale neřekne vám rozsahy proměnných. Na to slouží bod 3, která vám jejich hodnoty zobrazí.

4) Procházení jmen disků- slouží k pohodlnému výběru jména disku již existujícího, pohyb buď šipkami, nebo zadání čísla přes klávesnici. Klávesou 2 vybíráte jméno jako předlohu.

Přeji hodně úspěšně přejmenovaných disků:))

Manual Format Changer- použitelné i pro starý EH, testovací program- jen na vlastní nebezpečí!
Toto je prográmek spíše pro ty, kteří chtějí experimentátovat s různými formáty disků, zejména >15. Umí přepsat geometrii disku v boot sektoru, poté provede službu KILLX, FAT nijak neupravuje!!! Tzn. změníte-li formát ze 128x8 na 100x8 (disk jste změnšili), tak při katalogu disku vám BSDOS bude stále ukazovat 2037 sektorů volných. Jde spíše o testovací program a programovat změnu FAT, která musí být zcela přesně naspána- na to už jsem neměl sílu. Ale zápisy i čtení napříč různými formáty by fungovat měly. Program vám při změně formátu ten starý zálohuje na vyšší bajty pro stopu a sektor v boot sektoru, takže jej můžete jednoduše kdykoliv obnovit, dále umí nulovat backup, a to samé umí i hromadně, kdy vypíše i protokol, jak to celé dopadlo.

Flashboot EH112- binárka pro boot ROM
Poslední prográmek, který jsem ani nedoufal, že se mi podaří udělat. Jde o ten samý Shrekův bootovací obash romky, tzn. nahraje BSROM, BSDOS, a k nim i nový EH. Tzn. nový EH netřeba dávat do autoexeku. Mírné vylepšení provedeno Velesoftem, na začátku je čekací smyčka kvůli špatně konstruovanému resetu ZX Spectra. Zároveň když na začátku podržíte tlačítko SYMBOL SHIFT, bootování je přerušeno, odpojí se BSROMka OUTem 23,0 a přistránkuje se originální ROM ZX Spectra. Což je užitečné, když prostě chcete něco dělat s počítačem v originálním módu. A pro majitele MB02+ a Profi Interface (což jsem na světě jen já sám, bohužel:), kteří mají v romce 0 Profi If menu, se takto lehce do něj dostanete, takže netřeba složitě psát sekvenci OUTů v BASICu.

Pro odlišení je ůvodní obrázek mírně změněný a šipka má jinou barvu, aby uživatel viděl, že se bootuje nový EH.

makebs.z80- použitelné i pro starý EH, nutno mít Profi Interface s emulací DivIde Velesoftův snap na záchranu MBčka, pokud si jako já flashnete novou boot ROM starým flasherem, či jinak přepíšete. Tento snap si umístite na hdd jako standartní PC soubor. Poté se v Profi If přepnete do systému, co nahrává snapy z PC (Fatware, Esxdos...) a snap si nahrajete. Snap dělá to, že přenese do SRAM stránky č.0 BSROM118 a do stránky č. 1 BSDOS308. Tím jste zvítězili, a nyní již můžete pohodlně flashnout svou bootovací ROM z diskety. Mimo jiné, kousek od baterky se nachází jumper S10, který když dáte do vedlejší polohy, tak odpojíte ROM mbčka. To spíš pro informaci, v praxi při obnově obsahu boot ROM a zápasech, proč vám proboha spectrum nenabíhá ani ve spektráckém módu, vám to moc nepomůže, chybí u jumperu jeden odpor, díky kterému byste mohli za běhu ROM povolovat. Ale nemůžete, odpor tam není:)

Disk Extenderdoplněno 8.7.2013 - použitelné i pro starý EH.
Protože i mě se týká předělání formátů na plný kotel verzi tedy 128x8x2= 2048 sektorů, tak jsem zjistil, že přechod z 127x8 není pro uživatele nic moc a řekl jsem si, že to chce dva programy a jeden z nich je teď tady, je to Disk Extender, který umí zvětšit formát u všech 8 sektorových disků na 128 stop. Tzn. v drtivé většině se to týký disků pro starý EH o geometrii 127x8. Program umí analýzu a následně rošíření disků master i slave, přičemž obojí je vypnutelné. Obsluha a funkce je jednoduchá a pochopitelná pro každého, pro jistotu sem dávám obrázky. Program analyzuje všechny vaše disky a podle formátu je rozdělí na čtyři kategorie: 1) disky s 8 sektory na stopu a stopami < 128- TYTO DISKY JAKO JEDINÉ SE BUDOU ROZŠIŘOVAT NA 128x8 a máte je blikající zvýrazněné při volbě na obrazovce. 2) disky 128x8. 3) ostatní formáty. 4) chyby, nebo neznámé formáty či jinak problematické disky. Před samotnou analýzou se detekuje, zda je nainstalován patch pro správné zobrazení místa disků 128x8, pokud ne, nainstaluje se. Po analýze si vyberete zda chcete disky rozšířit (tedy pouze disky již zmíněné skupiny 1) a je to hotovo. Program pracuje tak, že u disků k rozšíření ty položky FAT označené jako #FFFF, tedy položky, které BSDOSu říkají, že se již nachází za fyzickým okrajem média, změní na #0000, a k tomu samozřejmě změní geometrii boot sektoru. S takto upravenými disky lze začít ihned pracovat, samozřejmě že na discích o data nepřijdete.
Druhý program, který bychom potřebovali jako sůl je kopírák celých disket spolu se jménem disku a jménem aresářů. Ano, proč, když máme Busyho CDD? Bohužel tento neumí kopírovat soubory větší než RAM a to je celá potíž a záludnost. Na disku mám mnoho TAPek a snapů, takže si na nich CDD vylámal zuby a hromadné kopírování disků jinak než CDD znamená pro uživatele sedět u počítače hodiny a kopírovat a kopírovat. Takže pokud budu mít čas, napíšu i tento kopírák.

K samotnému balíku. Najdete v něm kromě samotných programů i zdrojáky, některé v SJASM pro PC, jiné v Alasmu pro Speccy, podle toho z jakého zroje jsem vycházel, nebo zda jsem potřeboval reálné Spectrum.

Při testování nového EH jsme mimo jiné zjistili, že Discobolos chybně kopíruje flagbyte bezhlavičkových souborů, což v praxi znamená, že např. hru s bezhlavičkovými bloky zkopírovanou Discobolem nenahrajete. Dále jsem si stihnul odrovnat DMAčko v mbčku a GAL v MB IDE:)

Poděkování- největší poděkování patří Busymu, který za celým projektem stál jako režisér, radil, opravoval, hledal chyby společne se mnou a trpělive odpovídal na mé nesčetné a mnohdy trošku zbytečné dotazy. Bez něho by tyto programy nikdy nepřišly na svět:)

Další velké poděkování patří Velesoftovi, který mi pomohl zprovnoznit MBčko, když jsem testoval vadné verze flashovacího booteru, takže jsem si zcela odkrágloval data v SRAM a flash ROM. Díky Profi Interface, jeho emulaci DivIde (bez reálného DivIde) a Velesoftově snapu, se mi hravě podařilo MBčko nahodit.

Díky Shrekovi a F6 za poskytnutí zdrojáků k Flashbootu, skvělého to programu.

Práce trvaly 7 měsícu přerušovaného času.

do budoucna udělat (není to kritické): EH by si mohol nacitat boot sektor, resp. iba prvych 512 bajtov z neho a z nich udaj na offsete +6 tohto sektora, vzdy vtedy ked niekto zavola bios sluzbu AKTIVE. Vtedy je jasne, ze chce robit s danym image, a preto sa bude pouzivat aj geometria tohto image. Zabezpecilo by to zaroven kompatiblitu so vsetkymi utilitkami ktore pracuju s diskom na urovni biosu. Pri formatovani by formatovac zavolal AKTIVE, ale potom by este priamo do EH nastavil geometriu podla uzivatelom zadaneho parametra (pretoze este nesformatovany disk moze mat na +6 hocico).

A zaroven by sa zabezpecilo, ze ak nie je mozne z disku nacitat sektor, ohlasi to uz sluzba AKTIVE a nie az prve skutocne citanie sektora nejakou aplikaciou ci bsdosom :) Pri volani sluzby AKTIVE si EH niekde (do banky kde je EH) do pomocneho buffera nacita uplne prvych 512 bajtov z image disku z IDE zariadenia. Z tychto 512 bajtov vezme bajt z offsetu +6 tohto buffera a toto je hodnota numsec ktoru si ulozi ako sec/trk do svojej geometrie. To je vsetko :)

A formatovac, ked bude formatovat image cez EH, po zavolani AKTIVE sem vlozi svoju uzivatelom zadanu hodnotu sec/trk. To vsetko len preto, lebo nejake aplikacie, napriklad http://busy.speccy.cz/tvorba/bush.htm vobec nevolaju bsdos pri praci s diskom, a preto udaj #2306 v bsdose nemusi byt aktualny. Ale nejak moc extremne potrebne to nie je...

do budoucna udělat ve Free Space Cleaner(není to kritické): (a) Vynulovat data nejen v sektorech, ale i samotné položky FAT, t.j. zapíše se #0000 do polozky FAT, (b) vynulovat nepoužité a smazané položky v adresářích, t.j. zapíše 32 nul do každé položky, která patří smazanému souboru. Smazaný nebo neexistující subor se pozná podla 7. bitu. Bajt 0 = 0.