Wladimir Bulchukey (2:5020/2065.462)
ESX DOS text
FromNet: NET_Moscow_Russia_(245_02/09/2005) (commserv.rpb.ru)
=== Cut ===
Firmware written primarily for the DivIDE interface, maybe for others in future.
Inspired by our (Phoenix & LaesQ) old 'backbone' project + inspiration from +D
Works with HDD/CD-ROM/ZIP/LS120 (LS120 can access 720KB and 1.44MB floppies)
Uses drivers to access filesystems (either in RAM or ROM)
Provides new BASIC commands
Will provide RST 8 hooks for user-land apps
Supports IM2 loading/saving (K3L's FA part)
Drivers give access to the filesystem, and provide specific emulation hooks in certain cases (TRDOS, .TAP, etc)
There's a device/filesystem abstraction layer, which means that BASIC or user-land programs don't need to know anything about the underlying filesystem/device (ie, you use the same BASIC commands for all filesystems, FAT/ISO/TRD/etc)
Will allow up to 4 virtual drives for disk images (.trd/etc)
Filesystems are mapped acording to type: hd*, fd*, cd*, vd*, td*
FAT12/16/32 driver built-in ROM, other drivers loaded from boot filesystem on demand. (on this preview version, there was still room so TRDOS filesystem is in ROM too)
Does not need a system file to work, common BASIC commands and FAT driver on ROM, system file loaded from boot filesystem will have additional commands, etc.
... more stuff which I prolly forgot
Reads FAT12/16/32 from HDD/ARMD devices (LS120/ZIP)
Theoretically (max FAT32 tested was 30GB) supports all FAT partition sizes, except FAT16 NT 64k clusters.
Only writes to FAT16 at the moment (FAT32 write support is nearly finished)
Up to 8 partitions
Does not support LFN's at this time. ESXDOS Files have a special header with Spectrum header info + more. LFN support might be added if there is enough demand for it. LaesQ's TAP2ESX portable program batch converts .taps to ESX format. When .tap driver is done you can just COPY files from td0 to hd0 for instance.
Knowledge used from our work on "KGB" TR-DOS emulator/wrapper for +D and MB02+
Only supports .trd images dd'ed to a device (LS120/partition) at the moment ( ie, dd if=disk.trd of=/dev/fd0 ), didn't try real TRDOS disk on LS120 though..
Will work with virtual drives vd0 to vd3.
Works with usual ESXDOS basic commands (treated as any other filesystem)
Support for TR-DOS functions is being added while testing software. Whenever an unknown TR-DOS function is found the program halts and prints debug info.
Already supports a few custom loaders (Refresh, Inbetween, Dogma, Life Forms, etc)
Work started, already mounts and changes dirs...
Not yet started, as our efforts were concentrated toward the TRDOS driver, since other systems for DivIDE with .tap emulation already exist.
Will support the ROM traps as well as a virtual tape device (td0) to copy files from/to).
Mostly based on +D. Some examples:
LOAD hd0 "mycode.c" CODE 32768
LOAD * "basic" (* = current drive)
GO TO (prints current drive and path) ie. hd0:/demos/shock/
GO TO fd0
GO TO hd0 "newdir"
Will have a simple and extended CAT.
Will perform an auto-run function depending on filesystem
FAT - Will run first Basic program in that dir.
TRDOS - Will run BOOT.B
The esxdos bios/boot screen. An esxdos cat of a FAT partition.
.. all rights perversed ..
=== Cut ===
С наилучшими - Wlodek # wlblack(@)newmail.ru # http://wlodeks.narod.ru
[ZX] [500:95/462@ZXNet] [2:5016 Forever] [Golyanovo] [Старые русские]