Go to file
2023-08-25 16:54:17 +09:00
apple2-bus.pretty Initial commit. 2023-07-10 05:40:39 +09:00
doc Checkpoint. 2023-08-25 16:45:25 +09:00
firmware Syntax and brevity 2023-08-22 18:34:14 +09:00
.gitignore Nuke erroneously added files. 2023-07-29 06:35:24 +09:00
apple2.kicad_sym Initial commit. 2023-07-10 05:40:39 +09:00
bus_interface.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
clock.kicad_sch Checkpoint. 2023-08-25 13:50:41 +09:00
decoupling.kicad_sch Checkpoint. 2023-08-25 10:28:46 +09:00
drive_control.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
eprom.kicad_sym Switch to 2716/2732. 2023-07-16 11:48:36 +09:00
firmware.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
floppies.kicad_sch Checkpoint. 2023-08-25 13:50:41 +09:00
floppy_read.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
floppy_write.kicad_sch Checkpoint. 2023-08-25 13:50:41 +09:00
fp-lib-table Initial commit. 2023-07-10 05:40:39 +09:00
LICENSE Initial commit 2023-07-09 20:35:18 +00:00
MicroSci Floppy Controller.kicad_pcb Checkpoint. 2023-08-25 13:50:41 +09:00
MicroSci Floppy Controller.kicad_pro Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
MicroSci Floppy Controller.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
misc.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
README.md Start productionizing the README. 2023-08-25 16:54:17 +09:00
shift_register.kicad_sch Checkpoint -- we're done separating into logical components. 2023-08-25 11:32:10 +09:00
sym-lib-table Switch to 2716/2732. 2023-07-16 11:48:36 +09:00
TTL.kicad_sym Initial commit. 2023-07-10 05:40:39 +09:00
usci.png Checkpoint. 2023-08-25 16:45:25 +09:00

Weyoun

usci

Weyoun is a clone of the Micro-SCI / Franklin floppy drive controller.

Features

Revision history

Weyoun 1 was a direct clone, reverse-engineered from a Micro-SCI board. It was cross-checked with a Franklin-branded board, as well as the (belatedly discovered) official Franklin schematic (included in doc/service_and_schematics.pdf)

Weyoun 2 had the following enhancements over the original design:

  • the 2708 EPROM has been replaced with a more-common 2716/2732 EPROM
  • decoupling capacitors have been added
  • footprints for all capacitors and resistors have been modernized
  • firmware EPROM bank selection jumpers replaced with a DIP switch
  • obsolete MPS-U51 transistor replaced with modern equivalent
  • clearly-marked calibration test points have been added
  • ground pours used to increase operational stability
  • support for using Floppy Emu in dual-drive emulation mode with one cable

Weyoun 3 has the following enhancements over Weyoun 2:

  • a 74LS245 octal buffer has been added to the data bus, to facilitate the use of a no-slot clock under the firmware EPROM
  • the EPROM has been changed from 2716/2732 to 2764/27128/27256 to allow a no-slot clock to be placed in the socket without modification
  • all logic chips, except the 74LS245 at U19, can and should be 74HCT/74ACT to reduce power consumption to a fraction of the original design
  • the transistor that switched the +5VDC power line for half of the board has been eliminated -- with CMOS, the board can stay powered at all times
  • the circuit board layout has been streamlined in alignment with the above bullet points

Firmware images can be built via the Makefile in the firmware subdirectory. The build framework requires cc65.

EPROM bank select switches (J4)

  • 1:off 2:off - firmware "put jumpers here" splash screen (0x0300)
  • 1:off 2: on - 13-sector firmware (0x0200)
  • 1: on 2:off - 16-sector firmware (0x0100)
  • 1: on 2: on - controller test firmware (0x0000)

Calibration procedure

  • set J4 to on/on ("controller test firmware")
  • connect oscilloscope to TP1
  • start machine
  • execute "call 50688"
  • execute "AAW" (and immediately hit ESC)
  • adjust R1 until waveform period is 5.4 microseconds
  • connect oscilloscope to TP2
  • execute "99W" (and immediately hit ESX)
  • adjust R2 until waveform period is 3.8 microseconds
  • card is now calibrated, power off machine and set J4 to "16-sector firmware"

Construction notes

  • The second floppy drive header (J3) can be omitted if this controller is used exclusively with a FloppyEmu. Populate R11 and connect pins 1 and 2 on J7.
  • All discrete logic ICs (except U19, the 74LS245) should be CMOS (74ACT, 74HCT). As is unfortunately usual with the Apple ][, U15 must be LS due to timing issues.