Giter VIP home page Giter VIP logo

hannes512's Introduction

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.

hannes512's People

Contributors

sukkopera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ozw1z5rd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.