Content of README: 1. The compile process, binary files 2. Authors 3. MDOS3 and ZX 128KB 4. MDOS3 and WD Caviar HDDs 5. New MDOS3 commands 6. TAPE Emulator 1. The compile process ---------------------- preconditions: Linux, AS compiler, bin2tap (1.0b), taputils (tap2d80 utilities) The compile process will be started by running the script ./makemdos3.sh. Script make D80 image. Use complete binary files. All the binary files can be deleted by running the script ./makeclean.sh The bootloader has to be compiled separately by running the script ./makeboot.sh in the bootloader directory. Its binary files can be deleted by running the script ./makeclean.sh 2. Authors: ----------- code: Sweet, sweet (at) speccy (dot) cz code: MTs, mts (dot) zxs (at) tiscali (dot) cz code: ub880d, ub880d (at) zxmail (dot) org translation: Jakub Chalupnik, kubik (at) seznam (dot) cz translation: Logout, logout (at) mb-maniax (dot) net translation: Mike/ZT, mikezt (at) zeroteam (dot) sk 3. MDOS3 and ZX 128KB (read carefully) -------------------------------------- MDOS3 can be also used on an unmodified ZX128 without using the D80. When you switch to physical drive fd0 or fd1, the controller routines will be activated. In this case is the operation on an unmodified ZX128 not possible. After selecting the physical drive for the first time, the HW reset will be performed on those drives to detect their capacity. Some D80 programs open and close the PIO 8255 port. Ports 145 and 153 collide with the paging mechanism of ZX128. The ports can be replaced with numbers 151 and 155. How to modify FileManager 1.07 and 1.08: MERGE *"run" POKE 27299,151: POKE 27302,155 GO TO 3 How to modify FileManager 1.10: MERGE *"run" POKE 27375,151: POKE 27378,155 GO TO 3 4. MDOS3 and WD Caviar HDDs --------------------------- Harddisks made by Western Digital are creating their own standards, but MDOS3 can operate with these. Bootloader was changed, so that HDD now after turning on will receive INITIALIZE DEVICE PARAMETERS command as well as after reseting HDD (every ZXS reset). If WD Caviar is connected as single device, without any slave, DON'T PLUG IN THE JUMPER, because it will cause disks are waiting 30 seconds for slave device response. 5. New MDOS3 commands: ---------------------- CLS attr sets attributes to "attr" number, by attributes is meant INK, PAPER and BORDER i.e: CLS 7 sets black paper and border, white ink RUN <*>"file" * or ! are optional. Sets RAMTOP by file starting adress (Bytes type - "file.b") - 1 and starts file from that adress. If file is not found, RAMTOP is not changed. It's equivalent to these three commands: CLEAR adr-1: LOAD *"file"CODE: RANDOMIZE USR adr CLEAR <*>"file" Almost the same as RUN command, but code won't be started It's equvialent to these two commands: CLEAR adr-1:LOAD*"file"CODE GOTO <*>"file" Almost the same as RUN command, but doesn't set RAMTOP. It's equivalent to these two commands: LOAD *"file"CODE: RANDOMIZE USR adr MOVE "x:mask1", "y:" x - diskname or drive y - diskname or drive - when copying on different floppies, not required if x is the same as y, files are copied on one floppy, in mask CAN'T BE USED wildchars if copying from one floppy to another but in one drive is required, x and y must be names of disks (as in original) Example: MOVE "a:*.*", "b:" will copy all files from floppy in drive a: to floppty in drive b: Example: MOVE "HRY1:abe*.*", "HRY60:" will copy files with names beginning with "abe" from floppy named HRY1 to floppy named HRY60 (can be one drive only) 6. TAPE Emulator ---------------- In a fact that divIDE offer entry points for routines LOAD and SAVE of tape, it will be waste not to use them. Hence it's possible to choose way of emulating tape in MNI menu with T key. L stand for LOAD and S for SAVE. Emulation can be set individual for each operation. If the operation have set "-" than no emulation is done and it's called standart routines to handle tape. But if is set "L" or "S" than relevant operation is "catch" into routines that emulating tape (except speed). It can be emulated files with header and without header too. But headless file have special extension H and flag byte is written in directory at unused place (19. byte - normaly is here 0 stored). This format use programs: TOOLS 128, MasterCopy, MFC, tap2d80, d802tap and original TAPE emul from PVL. Flagbyte of headless file is shown in CAT list in BASIC (command CAT) and in NMI menu (key C) in place of last number (in BASIC file is it length without variables). Tape emul allways read/write on actual drive, if is needed to change diskette, change it in actual drive or change the drive with MOVE command. After SAVE of headless file is created name BODY A. Last letter is change acording to a counter. The counter is clear by SEEK RESET (SPACE+reset). File like this is possible to rename, emulator doesn't care about it. I recommend to rename them right after the creation of such headerless files.