Schneiderware

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 15:28, 29 September 2010 by Nocash (Talk | contribs)

Jump to: navigation, search

The Schneiderware series consists of several DIY projects which have been released in german magazine CPC Schneider International published by DMV. The name "Schneiderware" was probably choosen due to its double meaning ("CPC Hardware" in computer language, or "specially fitted clothing" in german language). Aside from building the hardware on one's own, one could also order printed circuit boards, either fully assembled, or plain PCBs without components.

The various boards are having special connectors, intended to be mounted on the "Basisplatine" (some kind of a motherboard with ECB Bus sockets) which allows to connect up to five Schneiderware boards to the CPCs Expansion Port; with some small modifications one could also connect the boards directly to the Expansion Port (the motherboard is merely an Y-cable-like adaptor without electrical components, so one doesn't really need it).


Notes: The "Centronics" board is yet another 8bit Printer Port solution (but different than the joystick-signal based one that was released a few months earlier in the same magazine). The Real Time Clock is somewhat similar to the CPCI Real Time Clock released in a special issue of the same magazine, but not identical (the RTC chip has different pin-outs, and some of it's 4bit registers are working slightly different, the leap-year bits, for example).

Databoxes: UHR8000 RTC-RAM-driver in 10-1986 (hex listing, plus Hisoft Devpac source code) (caution this version uses incorrect I/O addresses FBE1-FBE3), UHRC000X RTC-ROM-driver in 4-1987 (this version uses correct I/O addresses FBE2-FBE4). Uni-PIO examples in 12-1986 (=only a few basic lines). There seem to be no Centronics and V/24 drivers included in databoxes.

I/O Ports

Address (default) Address (alternate) Usage
DFxxh N/A Schneiderware RAM/EPROM - Expansion ROM bank number (W)
Battery-backed SRAM and/or EPROM are selected when the bank-number matches the jumper-selected values; the memory is then mapped to C000h..FFFFh (in case of READing one must also enable upper ROM via Gate Array). The bank number decoding is a bit strange:
  • EPROM/Read bank: All 8 bits decoded (bank 00h..FFh)
  • SRAM/Read bank: Only lower 4 bits decoded (bank X0h..XFh)
  • SRAM/Write bank: Only lower 4 bits decoded (bank X0h..XFh)

The SRAM/Write mode doesn't disable the internal RAM in the CPC, so writes are going both to SRAM and normal RAM at C000-FFFF, that no matter if upper ROM is enabled/disabled via Gate Array; the author recommended to map VRAM to 4000-7FFF via CRTC registers, in order to prevent video dirt during writing.

F8E0h F8F0h (later redefined to F8E4h) Schneiderware Centronics 8255 PPI Port A (data)
F8E1h F8F1h (later redefined to F8E5h) Schneiderware Centronics 8255 PPI Port B (unused)
F8E2h F8F2h (later redefined to F8E6h) Schneiderware Centronics 8255 PPI Port C (busy/strobe)
(bit7=busy, bit6-1=unused, bit0=strobe; strobe is externally inverted)
(autolf is wired to GND, all other control/status signals are not connected)
F8E3h F8F3h (later redefined to F8E7h) Schneiderware Centronics 8255 PPI Control
F8E8h F8F0h,F8F8h Schneiderware Uni-PIO 8255 PPI #1 Port A (without pull-ups, with red LEDs)
F8E9h F8F1h,F8F9h Schneiderware Uni-PIO 8255 PPI #1 Port B (with pull-ups and green LEDs)
F8EAh F8F2h,F8FAh Schneiderware Uni-PIO 8255 PPI #1 Port C (lower 4bit without pull-ups and red LEDs, upper 4bit with pull-ups and green LEDs)
F8EBh F8F3h,F8FBh Schneiderware Uni-PIO 8255 PPI #1 Control
F8ECh F8F4h,F8FCh Schneiderware Uni-PIO 8255 PPI #2 Port A (without pull-ups or LEDs)
F8EDh F8F5h,F8FDh Schneiderware Uni-PIO 8255 PPI #2 Port B (without pull-ups or LEDs)
F8EEh F8F6h,F8FEh Schneiderware Uni-PIO 8255 PPI #2 Port C (without pull-ups or LEDs)
F8EFh F8F7h,F8FFh Schneiderware Uni-PIO 8255 PPI #2 Control
F9E0h F9E2h Schneiderware V/24 8251 USART Data
F9E1h F9E3h Schneiderware V/24 8251 USART Control
F9ECh F9E8h Schneiderware V/24 8253 Timer 0 (TX clock)
F9EDh F9E9h Schneiderware V/24 8253 Timer 1 (RX clock)
F9EEh F9EAh Schneiderware V/24 8253 Timer 2 (unused)
F9EFh F9EBh Schneiderware V/24 8253 Timer Control
Note: Timer clock input is jumper select-able: 2MHz (default), or 1MHz
FAE0h N/A Schneiderware Analog Board ADC 0848 A/D Converter (R/W)
Read: Get 8bit data from selected channel
Write: Select channel & mode; bit0..2=channel (0..7), bit3..4=mode, bit5-7=unused
  • Mode 0 (or 1) - Differential: Plus=Channel(N), Minus=Channel(N XOR 1)
  • Mode 2 - Single-Ended: Plus=Channel(N) and Minus=AGND
  • Mode 3 - Pseudo-Differential: Plus=Channel(N) and Minus=Channel(7)
FAE1h N/A Schneiderware Analog Board DAC 0832 D/A Converter #1 (W)
Write: 8bit data
FAE2h N/A Schneiderware Analog Board DAC 0832 D/A Converter #2 (W)
Write: 8bit data
FAF0h N/A Schneiderware Eprom Burner 8255 PPI #1 Port A (Data, 8bit)
FAF1h N/A Schneiderware Eprom Burner 8255 PPI #1 Port B (Address LSBs, 8bit)
FAF2h N/A Schneiderware Eprom Burner 8255 PPI #1 Port C (Address MSBs, 7bit; bit7=unused)
FAF3h N/A Schneiderware Eprom Burner 8255 PPI #1 Control
FAF4h N/A Schneiderware Eprom Burner 8255 PPI #2 Port A (bit0-7=unused)
FAF5h N/A Schneiderware Eprom Burner 8255 PPI #2 Port B (bit0-5=unused, bit6=Red LED, bit7=Green LED)
FAF6h N/A Schneiderware Eprom Burner 8255 PPI #2 Port C (programming signals, 8bit)
FAF7h N/A Schneiderware Eprom Burner 8255 PPI #2 Control
FBE2h BUGGED:FBE1h Schneiderware RTC index/control (W)
FBE3h BUGGED:FBE2h Schneiderware RTC data 4bit (W)
FBE4h BUGGED:FBE3h Schneiderware RTC data 4bit (R)

Schematics

Pictures

Datasheets