back to buchty.net Casiorama  

Welcome to Casiorama Trying to reach me?
Some people say I should play the instruments instead of digging inside their hard- and software. Maybe they are right - but on the other hand, only if you learn it the hard way you will be able to repair and maybe upgrade your machinery.

Anyway, here are some bits & pieces about the Casio FZ-1.

Suggestions, questions, acclamation, or simply curiosity about who that guy is you might want to place here:

rainer@buchty.net


Service Area Technical Information
ROM Dumps
ROM #1 (FZ1S)
ROM #2 (FZ2S)
Repairing

How to replace the FZ-1 disk drive by an ordinary 3.5" PC HD drive or adjust the FZ-1's drive's rotation speed

When your FZ-1 keyboard jams the whole machine...

Upgrades

Upgrading your FZ-1 to 4 Megabytes using standard 30pin SIMMs (case study)

Adding an IDE-Interface to your FZ-1 for (easy?) hard disk access (case study)

Hacks

Change the FZ-1 drive to match a PC drive's rotation speed. That way you can easily read/write FZ-1 disks on Linux systems the following way:

  1. Create an according disk device, e.g. mknod /dev/fd0fz1 b 2 40
  2. Configure the device: setfdprm /dev/fd0fz1 ds hd sect=16
  3. You can now dump disks using dd on /dev/fd0fz1 (bs=1024, count=1280)
  4. Also low-level formatting works using superformat, however for proper formatting formatting you also need to write the three management sectors. Without that, the FZ-1 won't recognize the disk as formatted.
  5. (2017-07-21)

Toolkits

The FZ-1 Toolkit: Reading and Writing FZ-1 disks under Linux (heavily alpha, includes handling of FZF dumps)

(2000-10-11)

Change a PC disk drive to read original FZ-1 disks

(2002-04-02)

Schematics, Service Manuals, Software Documentation of ICs OS Documentation I/O memory map

The lower I/O memory area is divided into 16 chunks of 8 bytes created by a 74HC154 as follows:

  • 0x00: GAA
  • 0x08: GAB
  • 0x10: FDC
  • 0x18: I/O1 (72065 #1)
  • 0x20: I/O2 (72065 #2)
  • 0x28: n/a (hack our own stuff here ;)
  • 0x30: SCSI (FZ20m only)
  • 0x38: SCSI (FZ20m only)
  • 0x40: STB (external port enable)
  • 0x48: n/a
  • 0x50: n/a
  • 0x58: n/a
  • 0x60: ADST (A/D conversion start)
  • 0x68: ADRD (A/D conversion read)
  • 0x70: LCDWR (write to LCD "GAL")
  • 0x78: LEDWR (LED latch write / 74174)
  • 0x80: DCA volume
  • 0x90: DCA gain
  • 0xa0: DCF frequency
  • 0xb0: DCF resonance

In addition, there's the V50's internal devices located at the following addresses:

  • 0xc0: Timer (TCU)
  • 0xd0: UART (SPU)
  • 0xe0: Interrupt controller (ICU)
  • 0xf0: DMA unit (DMAU)
    (only used w/ SCSI driver)
  • 0xfff0: I/O configuration space

Plenty of space for hooking in own extensions! As can be seen, SCSI occupies 16 addresses in total in order to fully access all MB8932 registers.