1
0
mirror of https://github.com/UzixLS/zx-sizif-512.git synced 2025-07-19 07:11:36 +03:00
2021-09-07 20:21:26 +03:00
2021-07-10 20:30:47 +03:00
2021-04-08 15:20:57 +03:00
2021-09-07 20:21:26 +03:00
2021-02-27 12:43:19 +03:00
2021-06-19 20:27:53 +03:00
2021-09-05 12:10:01 +03:00
2021-06-19 20:27:53 +03:00
2021-09-05 12:11:13 +03:00

Sizif-512

Another CPLD-based ZX Spectrum clone for 48K rubber case with some sweet features.

photo

Tech specs

  • Half-sized PCB for 48K rubber case, case modifications isn't necessary
  • Pentagon, Spectrum 128K and Spectrum 48K timings
  • Altera EPM1270 CPLD
  • Real Z80 in 3.5MHz, 7MHz (no-wait turbo) and 14MHz (turbo with wait-states) modes
  • Switchable 128K / +3e-divmmc ROM
  • 512K RAM
  • Real AY-8910 with switchable stereo ABC/ACB/mono output
  • Sega 6-button joystick input; Kempston/Sinclair modes
  • Integrated DivMMC, 1x microSD socket
  • PAL and RGB video out (Sega Mini-DIN/9 connector)
  • Digital video out for EGA monitors
  • ULAplus
  • Mono covox (Pentagon standard)
  • SounDrive (4-channel stereo covox)
  • WiFi addon (link)
  • Tape input via 3.5" jack and Bluetooth
  • 9-12V power supply with any polarity
  • Reset and Magic buttons; header for power button

With extension board (link) more features may be added:

  • Turbo Sound FM
  • General Sound (12MHz / 512Kb RAM)
  • SAA1099
  • MIDI sound

Demonstration

Running Pentagon 128 and Spectrum 128 demos: link
Playing music from SD: link
Some random photos: link

Review by Martin's 8-bit blog (in czech): link
Review by The Retro Shack youtube channel: link
Building from scratch experience in Terence Ang's blog: part1 part2 part3

Magic button

Sizif have some configurable things which you may change at any moment and that's doesn't require reboot. To do this just hold Magic button for a second.

photo

To navigate menu you can use up-down keys, to change value use enter or left-right keys. Kempston, Sinclair, Cursor and QAOP supported.

If you press Magic button for a short time, the standard NMI handler 'll be called.

Sega gamepad buttons

Sega gamepad support will be available starting from PCB rev.D (or Rev.C with slight modifications).

Button Function in Kempston mode Function in Sinclair mode
Up Up 9
Down Down 8
Left Left 6
Right Right 7
A Button 3 N
B Button 1 0
C Button 2 M
X Turbo Button 3 Turbo N
Y Turbo Button 1 Turbo 0
Z Turbo Button 2 Turbo M
Start Pause Pause
Mode Magic button Magic button

PS/2 keyboard buttons

Button Function
F5 Magic button
F11 Leave pause
F12 Enter pause
Ctrl+Alt+Del Reboot
Ctrl+Alt+Backspace Reboot
Numpad 8, 2/5, 4, 6 Joystick's up-down-left-right
Numpad 0/Enter Joystick's fire
Alt Joystick's fire

RAM

Sizif contains 512K RAM. There are two cases how to access it:

  1. DivMMC enabled (SD card insert) - 128K available via 7FFDh port, 128K via DFFDh (Profi standart, most compatible with old 128K software) and 128K reserved for DivMMC.
  2. No SD card present - 128K available via 7FFDh and 384K via DFFDh. Please note: ULAplus and Magic button shares one page of memory with DFFD port. If you run 512K-software, it's good idea not to use ULAplus and Magic.

SD card

Sizif have preinstalled esxDOS firmware, which provides ability to load TAP, TRD, SCL, Z80 files and save snapshots. To use this you should format SD cart to FAT32 or FAT16 and unpack latest esxDOS release (link) to card. Also it's recommended to install Long Filename Browser (link) to card.

You may observe strange lines on border and creaky sounds on SD card access. It's not a bug, it's a feature ;)

Tested addons

  • AYX-32 - OK
  • BDI-ZX ver 2.0 MVcomp - OK (if SD card isn't insert)
  • ZX Dandanator! Mini 2.1 - OK (if SD card isn't insert)
  • ZX TSid - OK
  • Multiface 128 1.00 by Steve Smith - OK (if SD card isn't insert)
  • Noname +3DOS floppy controller - OK (since rev.D)
  • DivIDE 5.7d - OK (if SD card isn't insert)
  • DMA 2.02 by ShamaZX - OK

Changelog & current status

  • Rev.A - first release. Please note the errata (in russian).
  • Rev.B - abandoned. Files kept for historical reason.
  • Rev.C - BDI has been removed; improved video circuit; more capable CPLD; better power circuit; add mono AY mode. Errata.
  • Rev.C1 - fixed incorrect JTAG pinout; fixed incorrect silkscreen for power connector J3, tuned some circuit values. Everything seems to work. Errata.
  • Rev.D:
    • added zxbus connector for in-case addons
    • added support for +3DOS floppy controller
    • added support for Sega 3/6-button gamepad
    • added PS/2
    • added Bluetooth tape input (via M18 module)
    • added alternative microSD card socket footprint
    • fixed compatibility with some keyboards
  • Rev.D1: minor changes in pcb layout

Roadmap

Firmware:

  • improve 48K/128K timings for 100% compatibility

Acknowledgments

This work is based on a lot of other projects and would hardly have been successful without them.

  • Harlequin (no official link?)
  • Karabas-128 (link)
  • ZX Evolution (link)
  • zx_ula verilog implementation (link)
Description
ZX Spectrum CPLD-based clone for rubber case
Readme MIT 26 MiB
Languages
SystemVerilog 58.6%
Verilog 18.6%
VHDL 14.2%
Assembly 6.6%
Coq 1.4%
Other 0.6%