Difference between revisions of "Disc Wizard"
From CPCWiki - THE Amstrad CPC encyclopedia!
(→Technical) |
(→Technical) |
||
Line 31: | Line 31: | ||
* It writes a dummy directory to track 0. | * It writes a dummy directory to track 0. | ||
− | * it writes 2 to f0e0 to disable it's own ROM and 3 to f0e0 to enable it's own ROM. | + | * it writes 2 to f0e0 to disable it's own ROM and 3 to f0e0 to enable it's own ROM. Bit 0 of the data appears to be set (1) to enable the ROM, and reset (0) to disable it. Function of bit 1 is not yet known. |
− | + | ||
Revision as of 08:08, 14 August 2013
The Disc Wizard was an addon from Draysoft & Evesham Micro Centre that allowed you to make dumps of the CPC memory to external storage, pretty much like the Multiface and similar interfaces.
Contents
Technical
- Button triggers NMI
- 8K ROM data has 4 regions. There is an NMI vector at offsets &0066, &0866, &1066 and &1866 within the ROM data. This suggests each of the 4 regions is selectable and mappable into the range &0000-&7ff.
What is not clear is that when the chosen region is mapped into the Z80 memory space if the region in &0000-&7ff is repeated through to the end of &3fff.
* Region 0 appears to be for saving "DraySoftONE". * Region 1 appears to be for loading "DraySoftONE" * Region 2 appears to be saving for "DraysoftTWO". * Region 3 appears to be for loading "DraysoftTWO"
It seems that the "1/2" switch on the PCB chooses between which 4k (assumption it is connected to A12 of the EPROM), then the "load/save" switch chooses between the 2k within that 4k (assumption it is connected to A11 of the EPROM).
- Dissassembly of the code indicates it uses direct FDC disc access for loading/saving.
- Dissassembly of the code indicates it uses an I/O port &f0e0, and sends the data 0,1,2 or 3. It is not clear the function or the exact decoding of this port.
- It is restricted to loading/saving using DATA format disc. It uses sectors &c1-&c8 and reads/writes this entire range on each track in a multi-sector operation. DATA format has 512 bytes per sector, so sectors &c1-&c8 is 4K. So it reads 4K from each track.
- Disc must be pre-formatted to DATA.
- You can't use it with a disc with existing files because it writes data at specific places on the disc. It does write a dummy directory to indicate it's files are on there, but the device has the loader code in it, so you must use the device (or a seperate program) to load them back.
- Track 1 is used for temporary storage (it saves the screen here and reloads it after).
- It doesn't use the memory paging registers, so saves the RAM in it's current configuration. It saves the entire 64k starting at track 5 (for "1").
- It writes a dummy directory to track 0.
- it writes 2 to f0e0 to disable it's own ROM and 3 to f0e0 to enable it's own ROM. Bit 0 of the data appears to be set (1) to enable the ROM, and reset (0) to disable it. Function of bit 1 is not yet known.
Unanswered questions:
- What happens when a reset is triggered? Assumption, it disables it's ROM.
- What is the decoding of the I/O port?
- Can the ROM be paged in and read through software? Yes it seems, it does it in order to save the memory. But is it visible only after NMI like multiface?
- Can you have other files on the disc at the same time or is it a special disc format? NO it seems.
Pictures
Manual
Download
- DiscWizard v1.2 zipped ROM file (ROM image for Emulators)
Links
- Disc Wizard at the English-language Wikipedia (Disc Wizard is mentioned in the Multiface's Similar products section)