• Shell is OK

    YimingWu03/16/2025 at 15:41 0 comments

    The shell for IVARAT80 is finished :D Now I don't need to worry about the hardware side of this thing for a bit. All boards are tested and working properly (as far as the micro controller response).

    It's gonna be fun :D

  • Some basics

    YimingWu03/16/2025 at 05:19 0 comments

    I'm trying to make a 8 bit computer with ATmega micro controllers, because

    - Those chips are very simple without much bloat features that I don't need.
    - You can use fully open source tool chains on AVR chips.
    - They are reasonably priced, compared to 16/32 bit solutions.
    - Very easy to poke around registers for any feature.

    This computer is defined to be:

    - A very simple modular design.
    - With each module handles one part of the feature, like main processor, display, sound, etc
    - Use as little custom/rare footprints/components as possible to save time and cost.
    - And should have a custom script to run programs dynamically from storage.
    - It should support Chinese or at least the upper half of Unicode table, preferably also input method.
    - Should have a graphical user interface.
    - All programmable modules should be programmable without unplugging it from the back board.
    - Reasonably low power consumption.

    -----

    I ended up using ATmega2560 for the main controller, the reason being:

    - It's got adequate Flash and RAM for all the resource management tasks I need to run.
    - It has external memory interface (XMEM), which is useful as memory banks for custom script-ran programs.
    - It is a fully static core, meaning I can run it as slow as possible when needed.

    -----

    To satisfy other design criteria, these choices are made:

    - Two SHARP 4.4 inch memory LCDs are chosen as the main display for the computer since I do not have much time to spare to make an HDMI display card with an FPGA, and memory LCDs have very little power consumption.
    - An ATmega2561 is used as the controller for two displays, with external memory on the mother board for up to 8MB (Banked) that can be used as frame buffer and font cache.
    - An ATmega168PA paired with ADC and amplifiers for simple sound generation.
    - Having knobs to select cards that are being programmed and monitored (Serial0 and PDI/PDO interface of ATmega), so no cards need to be unplugged to be programmed.
    - A CF card slot that can be bit-banged from the 2560, this makes it easy to store larger files such as font, IME table, extra script programs and so on.
    - A MAX3421 for USB host support, this would enable the computer to use peripherals like a mouse.

    ------

    Currently this project is still in progress, with most of the electronic hardware finished. Stay tuned for updates :)