System C Hardware

Discussion in 'Technical Discussion' started by TailChao, Sep 23, 2019.

  1. TailChao

    TailChao

    I Must Eat Muffin Gear Oldbie
    33
    0
    6
    Being Busy
    Yes, the original System C - not the sequel.

    I started reverse engineering this fantastically affordable hardware awhile ago, with the intention of writing software for it. But I'm not sure when I'll be able to continue this work and would rather my notes be made available incomplete than not at all.

    As of writing, most available information pertains to the System C2. The two platforms are extremely similar, and almost fully software compatible - but aren't identical. I've observed the following differences between them :
    • All System C boards only have 16KB Program RAM and none had the μPD7759 installed.
    • All System C2s shipped with a full 64KB of RAM and the μPD7759 present.
    • On the System C, both the μPD7759’s RESETn (IC7,19) and YM3438’s ICn (IC6,11) pins are connected to IC23,11 = (IC20,6 ● IC1,61). This allows them to be reset during power-on or under program control. On the System C2, only the μPD7759 is connected to this.
    • The System C2 has additional input protection near the 315-5296 I/O Controller (IC1).
    • The System C2 replaced the 315-5393 (IC24) with a 315-5452 PAL16V8.
    • There’s more jumpers in the System C2 and their labels have been changed.
    • There’s a spot for a fourth PAL16V8 (IC38) on the System C2 but it’s unoccupied and as of writing I have no idea what the intention was.
    • The System C2’s game software was much more popular.

    I haven't looked into what IC24's fusemap changes (315-5393 -> 315-5452) entail. My current guess is it they have something to do with timing - possibly for VDP DMAs. Software will usually run with either PAL, but System C2 games may have garbage tiles when using a 315-5393.


    Program (EP)ROMs
    segac_program_rom.gif
    68000 Program (EP)ROMs (IC31, IC32, IC33, and IC34)​

    The 68000 program is divided among IC31, IC32, IC33, and IC34 each of which is an 8-Bit wide ROM from 128KB to 512KB in size. This allows for a maximum program size of 2MB mapped from $000000 - $1FFFFF. IC31 and IC32 are always mapped into the bottom of memory and contain the EVEN and ODD bytes of the 16-Bit program data, respectively. IC33 and IC34 are mapped to either $040000+ or $100000+ depending upon the state of J7 and contain the EVEN and ODD bytes of the 16-Bit program data, respectively. Because of this layout, a minimum of two (EP)ROMs are required.

    Mapping of these program (EP)ROMs is controlled by IC24 (315-5393). Both IC31 and IC32’s CEn pins connects to IC24,14 while IC33 and IC34’s CEn pins connect to IC24,13.

    segac_adpcm_rom.gif
    uPD7759 ADPCM (EP)ROM (IC4)​

    The optional μPD7759 ADPCM Decoder pulls its sample data from IC4 which is another 8-Bit wide ROM from 128KB to 512KB in size. However, the μPD7759 can only address 128KB of data so larger ROMs are divided into a maximum of four 128KB pages through Port H Bits 2 and 3 on the 315-5296 I/O Controller.


    Program RAM
    segac_program_ram.gif
    68000 Program RAMs (IC29 and IC30)​

    The 68000 Program RAM is divided between IC29 and IC30, both of which are 8-Bit wide SRAMs from 8KB to 32KB in size for a maximum of 64KB of RAM as 2x32KB. However, all System C boards only had 2x8KB installed. Memory with a low power feature was used so it could retain game data when only powered by the super capacitor SC1 (0.1F, 5.5V).


    Jump Dump
    segac_jumpers.gif
     
    Last edited: Sep 23, 2019
    • Informative Informative x 1
    • Useful Useful x 1
    • List