Skip to the content
2 layers54.3 × 72.2 mmHannes512, the printed circuit board in 3D

512 kB RAM Expansion for the Commodore 16/+4

Size
54.3 × 72.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
73
Pads
266
Tracks, vias
801, 119
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
26 Feb 2023
Updated
13 Feb 2026

Overview

Hannes512 is an open-source printed circuit board by SukkoPera, from the SukkoPera/Hannes512 repository on GitHub. It is a 2-layer board of 54.3 × 72.2 mm with 25 parts on 73 nets, routed with 801 tracks and 119 vias.

It is built around the 74HCT245, 74HCT02D and 74HCT573D, with the NE555 among its other parts. Its parts include 9 ICs, 7 capacitors, 3 connectors and 2 resistors. It belongs with the retro computing and games boards of this library.

Main components

4

README

README.md

Hannes512

Hannes512 is an Open Hardware internal 512 kB RAM Expansion board for the Commodore 16.

Board

Summary

While making Hannes256 two shortcomings became apparent:

  • The RAM chips needed to be recovered from old equipment or bought second-hand
  • The power draw was probably pretty significant (although I never measured it)

It was pretty obvious that switching to a modern SRAM would alleviate both issues, so I went looking for modern chips I could use and the Alliance AS6C4008 turned out to be a perfect match. Besides, it is 512 kB so I even went beyond the original goals and made all of that available to the C16 (even though that can create incompatibilities, see below).

Design and Assembly Notes

This board is basically a variant of Hannes256, so most of what you can read on that page also applies to this board.

One exception is that I reintroduced the ESD protection diodes for the TED that were featured in Fixteen. They are U8 and U9 and they are optional.

RAM Compatibility

Both AS6C4008-55PCN and -55PIN have been tested and work fine. I don't know about any other chips, but it's possible that other SRAMs will work.

AS6C4008 chips can either be bought new from electronic distributors or (probably-) used from AliExpress. I have bought a few of the latter and they were all working correctly.

Installation

See Hannes256.

Technical Notes

While the mechanism originally devised by Hannes/Solder for 256 kB memory expansion can easily be extended to 512 kB and even 1 MB expansions, it requires that software programmers behave correctly and consider the default bank to be bank 15. Unfortunately, some of the software requiring 256 kB that already exists was written with the assumption that no expansion larger than 256 kB would ever surface and sets bits 2/3 of the expansion control register to 0 when wanting to switch to the default bank.

This problem affects Dream World and even the modern-era Lykia, for instance. The only real solution is to patch the software, but until someone does that, another option is to just limit memory expansions to 256 kB. After all, there is no software (... yet!) that needs more than that, so it currently looks like an acceptable compromise.

The great news is that this is rather easy to do in Hannes512, you just need to program the GAL with a different file. The gal directory contains a number of different JED files:

  • Hannes512_GAL2x.jed: These files provide the full 512 kB.
  • Hanns512_G2x256.jed: These files are limited to 256 kB and are the recommended ones to be used at the time being.
  • Hanns512_G2xH37.jed: These files feature a hack that tries to provide more than 256 kB of memory while making banks 3 and 7 the same bank; it's a temporary hack I made mainly for myself, so please disregard it.

Feel free to open an issue if you have some suggestions on this topic.

Testing

See Hannes256.

Programming

See Hannes256, but keep in mind what is said in the Technical Notes above.

Releases

If you want to get this board produced, you are recommended to get the latest release rather than the current git version, as the latter might be under development and is not guaranteed to be working.

Every release is accompanied by its Bill Of Materials (BOM) file and any relevant notes about it, which you are recommended to read carefully.

License

The Hannes512 documentation, including the design itself, is copyright © SukkoPera 2022-2023 and is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

This documentation is distributed as is and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES whatsoever with respect to its functionality, operability or use, including, without limitation, any implied warranties OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE or infringement. We expressly disclaim any liability whatsoever for any direct, indirect, consequential, incidental or special damages, including, without limitation, lost revenues, lost profits, losses resulting from business interruption or loss of data, regardless of the form of action or legal theory under which the liability may be asserted, even if advised of the possibility or likelihood of such damages.

Support the Project

If you want to get some boards manufactured, you can get them from PCBWay through this link:

PCB from PCBWay

You get my gratitude and cheap, professionally-made and good quality PCBs, I get some credit that will help with this and other projects. You won't even have to worry about the various PCB options, it's all pre-configured for you!

Also, if you still have to register, you can use this link to get some bonus initial credit (and yield me some more).

You can also buy me a coffee if you want:

Buy Me a Coffee at ko-fi.com

Thanks

  • Hannes and Solder for the original design and documentation.
  • eslapion for the SRAM enable circuit, saving me endless hours of debugging.
  • Levente Hársfalvi (TLC) for plenty of help, in particular with the MOS 6529 replacement circuit.
  • siz for the memory test utility.
  • Alit Design for the Crotah font used for the logo.

Parts

25
QtyValueFootprintReferences
6100nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C4, C5, C6, C7
210kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2
21kResistor_SMD:R_Array_Convex_4x0603RN1, RN2
2DT1042Package_SO:TSOP-6_1.65x3.05mm_P0.95mmU8, U9
110nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3
174HCT02Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU3
174HCT245Package_SO:SO-20_5.3x12.6mm_P1.27mmU6
174HCT573Package_SO:SO-20_5.3x12.6mm_P1.27mmU5
1AS6C4008Package_DIP:DIP-32_W15.24mm_Socket_LongPadsU2
1CC_LOGOHannes512:cc_by_nc_saV1
1CONN_CSConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1GAL20V8Package_DIP:DIP-24_W7.62mm_SocketU7
1LOGOHannes512:logoV2
1MOS_7360_TEDPackage_DIP:DIP-48_W15.24mm_Socket_LongPadsU1
1NE555Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU4
1RAM_SELECTORConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1TED_SOCKETHannes512:DIP-48_W15.24mm_LongPads_ModSilkSJ0

Similar boards

  • 2 layers368.3 × 215.9 mmTTL 6510 Computer fab, the printed circuit board in 3D

    TTL 6510 Computer fab

    StefansAI/TTL-6510-Computer

    Yet another CPU made from TTL chips

    330 parts1
  • 2 layers172.1 × 108 mmMb88-testboard, the printed circuit board in 3D

    Mb88-testboard

    ifilot/morseboard-8088

    Single board computer designed around the 8088 processor

    81 parts
  • 2 layers56.3 × 82 mmHannes256, the printed circuit board in 3D

    Hannes256

    SukkoPera/Hannes256

    256 kB RAM Expansion for the Commodore 16/+4

    38 parts8
  • 2 layers297.2 × 180.3 mm8bit computer, the printed circuit board in 3D

    8bit computer

    vascofazza/8bit-cpu

    Schematics & code for my 74LS-based 8-bit MK1 CPU

    377 parts317MIT
  • 4 layers170.2 × 170.2 mmMotherboard, the printed circuit board in 3D

    Motherboard

    MicroLind-Developers/microlind-hw

    Hardware repository for the microlind project

    134 partsCERN-OHL-P-2.0
  • 2 layers252.7 × 106.7 mmPCB - CPU V1, the printed circuit board in 3D

    PCB - CPU V1

    FredericSegard/6309-Unleashed

    Project LogicSpark-09, an old CPU but a favorite

    97 parts3
  • 2 layers76.2 × 49.5 mmAtomRamAndNoiseKiller, the printed circuit board in 3D

    AtomRamAndNoiseKiller

    hoglet67/AtomRamAndNoiseKiller

    8Kx8 Video RAM and Noise Killer for the Acorn Atom

    27 parts2
  • 2 layers35.2 × 77.2 mmMOS6566 Adapter, the printed circuit board in 3D

    MOS6566 Adapter

    RetroWizzard/MOS6566_Adapter

    A MOS6566 to MOS8562 adapter

    14 parts1

Questions

How big is the Hannes512 PCB?

It measures 54.3 × 72.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hannes512 use?

25 parts, built around the 74HCT245, 74HCT02D, 74HCT573D and NE555. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Hannes512 KiCad files?

From the SukkoPera/Hannes512 repository on GitHub, at the commit this page was made from: the board is Hannes512.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hannes512 design in my own project?

Its repository states no licence, so its author keeps all rights: ask SukkoPera before reusing the design.