EN Those of you who have been ripped off about looking a free space in BSDOS 3.08 for your patches, programming work, seeking, mailing to Busy, who patiently and ceaselessly answered the questions, can get relaxed now :-). Busy was so kind and is sending us a complete structure od BSDOS 3.08, where not only you can find a free space, but also learn more deeply about our beloved, maternal soil for all MB02+ users, about BSDOS 3.08 :-)

ATTENTION!!! Since more patches exist already, their authors usually communicate about the free space, the free space in BSDOS 3.08 is already a bit consumed. With this table, also a list of consumed up space by every patch should exist. If you are going to write something new, remember, that not all free space in the table is stil free, mind not to rewrite the existing programs!!!

update 17.05.2011
I mapped all currently existing patches and here you can find detailed info about how much free space they consume. It is useful when you will be creating new patch to avoid overwriting an existing patch.




Celkový popis rozdělení DOS banky/ A complete description of DOS bank divisions
#0000-#0037Tu sa nachadzaju odskoky pre jednotlive restarty. Medzi nimi je sada zoparbajtovych volnych miest. Tieto miesta su svojim umiestnenim idealne vhodne ako pevne pozicie pre umiesnenie outov na prepinanie baniek. Presne to ukaze disasembler - kde co je.Here you find jumps for individual restarts. In between them several free bytes occur. Because of their placement, these bytes are ideal as fixed positions for placing OUT instructions to switch between banks. A disassembler shows you the positions.
#0038 - #006B Tu su rozne harakiri na osetrenie prerusenia. A to bud pre klasicke IM1 skacuce priamo na #38, alebo pre nejake aplikacie ktore si zapinaju im2 a pri preruseni a vykonani svojich cinnosti s blizsie neurcenym poctom napushovanych registrov skocia na blizsie neurcene miesto priamo do romky pre vypopovanie tohto poctu registrov a navrat z prerusenia. Je tu aj NMI, ale kedze pri NMI sa automaticky zapina banka 0, osetrenie NMI tu nie je tak podstatne, je tu vlastne len ak by nahodou nejaka aplikacia skocila na #66.Here you find some hara-kiri with interrupt handling. Either a classic IM1 jumping right to #38, or for applications, which triger IM2 and during interrupt and executing their function with undetermined number of pushed registers, jump to undetermined place right into ROM to pop these registers and return from interrupt. Also NMI is here, but since bank 0 is switched in by NMI, NMI handling is not so critical, actually it is here in case some application would jump to #66.
#006C - #007F Volne miesto. Free space.
#0080 - #008F Tu sa nachadzaju hardwerove konfiguracie styroch disketovych mechanik, ktore bios pouziva pre pracu s nimi. Kazda mechanika ma styri bajty - podporovane rezimy (DD,HD,ED...), pocet stop (vraj 80), ako rychlo dokaze krokovat a nakoniec akym hardwerovym signalom a o akej polarite dava najavo, ze je pripravena k praci. Here you will find hardware configuration for four diskette drives, which bios is using to work with them. Each of the drives has four bytes- supported modes (DD, HD, ED...), number of tracks (should be 80), how fast it can step, and finally which hardware signal and polarity signals that the drive is ready.
#0090 - #00FF Prve vecsie volne miesto. Toto miesto standartne vyuziva ramdisk. Ramdisk je vlastne obycajny patch, a pokial sa nenainstaluje, alebo po instalacii odinstaluje, je toto miesto volne.First free space that is quite big. This place is normally used by ramdisk. Ramdisk is, actually, a normal patch, and if not installed, or installed away after installation, this space is free.
#0100 - #032DFDC bios - kod FDC bios- code
#032E - #033FSystemove premenne FDC biosu. Tu si bios odklada nastavenia jednotlivych mechanik, a to konkretne v akom rezime ma s nimi pracovat (DD/HD/(ED)) a na ktorej stope sa zrovna nachadza hlavicka danej mechaniky. Takze, ak sa pracuje s jednou mechanikou na stope 60, potom sa aktivuje druha mechanika, a potom pride poziadavka na sektor z prvej mechaniky zo stopy 50, FDC Bios vie, ze jej hlavicka je na stope 60 tak urobi len kratky rychly presun na stopu 50 a nezdrzuje sa zbytocne synchronizaciou pomocou nultej stopy. FDC bios system variables. Here, bios is putting aside settings for individual floppy drives, namely, what mode should they be working in (DD/HD/(ED)) and on which track is the floppy drive reading head. So, if you are working with one drive on the track 60, then another drive is activated, and then comes a request for track 50 of the first drive, FDC bios knows, that its reading head is on the track 60 and does only a fast move to track 60 and do not waste time with useless synchronisation using track 0.
#0340 - #03BFVolne miesto.Free space.
#03C0 - #03DFCache pre uchovanie informacie o aktualnych rezimoch DD/HD 32 mechanik. BSDOS si tu uchovava informacie, v akom rezime s mechanikou naposledy pracoval, a ked zase ma pracovat s touto mechanikou, ako prve skusi tento naposledy pouzity rezim.Cache for backuped information about current drive modes (DD/HD) for 32 drives. BSDOS is storing informations, about the currently used drive mode, here, and should it work with the same drive, it starts its work in this mode.
#03E0 - #03FFSystemove premenne BSDOSu. Pozicia vypisu print rutinky, atributy vypisu, aktualna cesta (disk/dir/sub), rozne priznaky, kratka cache pre uchovanie dvoch dir-entry (zo zoznamu adresarov)BSDOS system variables. Print routine output coordinates, output attributes, current path (disk/dir/sub), various flags, short cache for keeping two dir- entries (from the directory list).
#0400 - #04FFCache v ktorej sa uchovavaju informacie o aktualne nastavenom adresari a load kurzore pre 16 posledne pouzitych diskiet. Obsah tejto cachce vypisuje systemova utilitka "cache". Cache, that is storing information about the currently set directory and load cursor for 16 last used disks. Its content is displayed by the system utility "cache".
#0500 - #22D8BSDOS - kodBSDOS code
#22D9 - #22FF Volne miesto Free space.
#2300 - #3C00Pracovne buffery pre pracu s jednou disketou. Presnejsie rozdelenie nasleduje: Work buffers for work with a single disk. Comprehensive divison follows:
#2300 - #237FMiesto pre ulozenie prvych 128 bajtov boot sektora. Potom pri praci sa odtialto beru informacie o geometrii disku, meno disku, pozicia FAT ... Space for first 128 bytes of the boot sector. Later, from here information for work are taken, like disk geometry, disk name, FAT position...
#2380 - #23FFPracovny buffer pre rozne vypisy a temporary ucely. Work buffer for various displays and temporary purposes.
#2400 - #33FFCache pre ulozenie FATCache for FAT
#3400 - #37FFCache pre ulozenie jedneho sektora z adresara Cache that keeps one sector from the directory.
#3800 - #3BFFPracovny buffer pre jeden sektor. Pouziva sa pre boot, zoznam adresarov, ako druhy sektor pre adresar, a tiez pri emulacii #562 - sem sa nahrava cast suboru pre verifikaciu a posledny sektor suboru pri loade (ked dlzka suboru nie je nasobok sektora a teda do uzivatelskej pameti sa ma nahrat iba cast z posledneho sektora). Work buffer for one sector. It is used for boot, directory list, as a second sector for the directory, and also for #562 emulation- here, a part of a file for verification is loaded and the last sector of the loaded file (in case, the file length is not a multiple of the sector length, and only a part of the last sector should be loaded into the user memory).
#3C00 - #3C?? Rezerva pre zasobnik BSDOSu.BSDOS stack reserve.
#3C?? - #3C8FZasobnik BSDOSu. Po zavolani akejkolvek sluzby bsdosu aplikaciou si bsdos hodi SP register na #3C90, aby vlasnymi (a dost velkymi) potrebami ohladom zasobnika neponicil prilis vela uzivatelskej pameti. Normalne staci bsdosu tak zhruba okolo 40 bajtov, ale jeden nikdy nevie, navyse je tu aj rezerva pre pripadne push-e rutinky v preruseni. BSDOS stack. After any BSDOS service is called by an application, BSDOS sets SP to #3C90, so as not to corrupt too much of the user memory with its own (rather big) stack consumption. Normally, 40 bytes of the stack will do for BSODS, but noone knows, moreover there is a reserve for eventual pushes for interrupt routines.
#3C90 - #3C97Volne miestoFree space.
#3C98 - #3CE2ROM bios - kod. Toto je jediny kod v celom systeme, ktory sa nachadza v oboch bankach - rom aj dos banke. ROM bios code. This is the only code in the whole of the system, which is placed in both banks- rom and dos banks.
#3CE3 - #3CEFVolne miesto Free space.
#3CF0 - #3FFFZnakovy subor. Toto su jedine data v celom systeme ktore sa nachadzaju v oboch bankach - rom aj dos banke. Poznamka: Standartny romkovy znakovy subor sa nachadza az od #3D00, na adresach #3CF0-#3CFF sa nachadzaju dva nove znaky ktore bsdos pouziva je to ciarocka dole a vyplneny stvorcek. Sinclair font. These are the only data in the whole of the system, which are placed in both banks- rom and dos banks. A note: Standart character file in ROM starts only on #3d00, on #3CF0- #3CFF you find two new characters used by BSDOS, they are bottom dash and a filled square.


Volná místa v BSDOS bance- výtah z předešlé tabulky/ Free spaces in BSDOS bank- excerption from the previous table
Oblast/ FieldDélka oblasti/ Length of the fieldCelkové volné místo v nepatchovaném BSDOSu/ Total free space in unpatched BSDOS
#0000-#0037tuto oblast nezapočítávám vzhledem k nesouvislosti volných míst/ this field not figured in regarding discontinuity of free spaces#160 (dec 352)
#006C-#007F#14 (dec 20)
#0090-#00FF#70 (dec 112) volné, pokud není použit patch "ramdrive"/ free space, if "ramdrive" patch is not engaged
#0340-#03BF#80 (dec 128)
#22DF-#22FF#27 (dec 39)
#3C90-#3C97#8 (dec 8)
#3CE3-#3CEF#C (dec 13)


CZ Koho štvalo, že musí pro své patche nebo programátorskou práci pořád v BSDOSu 3.08 hledat volná místa, pátrat, mailovat Busymu, který chudák musel dokola odpovídat a odpovídat na to samé, tak nyní už vás to štvát nemusí:-) Busy byl tak laskav a posílá kompletní strukturu BSDOSu 3.08, kde nejenže se dají najít volná místa, ale rovněž se dozvíte něco více o živné půdě pro všechny mbčkře, mateřském milovaném BSDOSu 3.08:-)).

POZOR!!!! Existuje již více patchů, jejichž autoři se většinou domluví na volném místě, ale začíná být v BSDOSu 3.08 těsno, a k volným místům DOSu by měl za této situace existovat i seznam míst, které zabírají jednotlivé patche. Budete-li něco nového psát, pamatujte, že ne všechna volná místa v tabulce jsou ještě volná, ať nepřepíšte cizí patche!!!

aktualizace 17.05.2011
Všechny dosud vydané patche jsem zmapoval a zevrubný přehled kolik který zabírá nejdete zde. Je to užitečné pro tvorbu nových patchů, abyste nepřepsali svým patchem už nějaký existující.