Wednesday 25 June 2014

SHARP MZ-800 Quickdisk and monitor

The not-so-prominent storage format of the 1980s.

I got hold of some Quickdisk disks, Roland brand. So far I've had no luck with software. I've played around with formatting the disks and using the built-in monitor for storing binary files.

The Sharp MZ-800 monitor inside the ROM has usually these few commands on offer:

M-View/Edit memory (Example: MC000)
D-View memory (Example: DC000)
B-Turn beep on/off
L-Load from tape
S-Save to tape

Shift+BREAK usually aborts any operation.

With the Quickdisk drive connected, the computer switches to a different ROM. The monitor then hosts these additional commands:

QF-Format Quickdisk
QD-Quickdisk directory
QL-Load file
QS-Save file
QC-Copy file
QX-Transfer file from tape

Each of the command is typed as a two-letter entry, without parameters. The monitor then asks the relevant information, such as filename, start, end and execution addresses.

It seems that DELETE/KILL is out of the question, so, at least without an operating system (Disk BASIC) the only way to make space is to reformat the disk.

The files need to have an execute address, and it is always used when the file loads. The auto-execution may be circumvented by using 00AD as the start address. Another route might be to choose a RAM address to which all the data files point to, and ensuring there's something meaningful at that address.

The Quickdisk loads 16 kilobytes in 4 seconds. On startup, the MZ800 boots to a disk file as long as there is a file on the disk, regardless of the filename. To bypass this I had to hold the disk drive cover open when resetting. The boot is rapid, which might be because the QD ensures the idle drive head position always points at the beginning of the first file. (=the boot file)

Using the D command for displaying memory contents. QD shows three files on the disk. The machine code at C000 messes with the character display.
I've used the following machine code for testing purposes. Located at $C000, it continuously increments the contents of the first 255 bytes of the character display, beginning at $D000. Quick to type, yet gives a visible enough effect. Use MC000 to start typing in the hex at the left. Shift+Break exits the entry mode, and JC000 will run it.

C000:21   ld hl,$D000
C001:00
C002:D0
C003:34   inc (hl)
C004:2C   inc l
C005:C3   jp $C003
C006:03
C007:C0

(I suppose the code could be even shorter, but clarity might be lost...)

More information about the monitor at sharpmz.org. (Nope, dead link)

Saturday 7 June 2014

Sharp MZ-800


Judging from appearances alone, I always felt this 8-bit computer was aimed for a slightly more serious market than C64 and the like. It doesn't even have BASIC in the ROM. This is both good and a bad thing. On the one hand, there's less memory wasted, and different languages are treated equally, possibility for CP/M etc. On the other hand, there's less for me to play with!

There's only a really rudimentary hex monitor that allows viewing, editing and running of memory contents. Typing MC000 for example, starts hex code entry starting from the address $C000. SHIFT+BREAK exits this entry mode, and typing JC000 runs the code. And that's about it. S and L are used for storing and restoring data, and the disk drive has its own commands.


At the back there is a respectable array of connectors. The protruding box contains the floppy disk controller and serial ports, I suppose. (The cable dangling out of the disk drive is inserted at the wide connector)

Then at the bottom there are RF, Composite video, RGB, Tape in/out, Joystick and printer connectors. The video image was reasonably good so I don't think building an RGB cable will be necessary unless perhaps for the 640x200 pixel mode.

This MZ800 is equipped with the disk drive. Sadly the format is the quite rare 2,8 inch quickdisk. I've tried it out and it's reasonably fast although a bit noisy.


The Sharp series appears to be quite modular physically. The computer works just as well without the two large boxes on top of it. By no means a bad idea, as this would help avoid cluttering the desk. Also the peripherals would be very firmly connected to the main board. But it has to be said a lot of air and plastic is held inside the overall computer envelope...


In fact, the motherboard is only somewhat larger than was typical at the mid 1980s 8-bit home computer. At the middle there is the Z80 processor, the Scandinavian ROM (with the paper label on it) and a Z80-PIO chip. The pin connector nearer to the top left is where the floppy controller/serial module is attached to.



The image below shows more of the board. Also a huge loudspeaker. I guess the chip at the right with the zillion pins from all four sides is what drives the graphics, among other things.



I'll write more about this quite interesting computer, when I get it to do something...

Part II - Quickdisk and monitor