Principles
- Not here for the money. This is not meant to be a commercial product
- Hence, no restrictions on parts (Used, obsolete, questionable sources)
- Learn from scratch. No off-the-shelf solution
- Inspiration on others is encouraged though
- Give credit to all sources of information
- Everything will be open sourced, under the GNU v3 License
- Log all the steps, right here on this blog
- No deadline.
- Learn
- Have fun
Requirements
- Computer should be a laptop, fully portable
Power
- Single and low voltage. 5v is very obsolete. At least 3.3v, maybe even lower
- Battery powered
- USB-C Charger, allowing for fast charge if possible
- Battery pack reports to the computer. Charge status, capacity, etc
- Computer then display this
CPU
- Based around a 65816. Real CPU, no FPGA here
- DRAM. Maximum memory at 16MB for the CPU
- SRAM cache for the main DRAM
Chipset
- Set of sustaining chips
- FPGA acting as MMU, handling DRAM, with potential for bigger RAM
- IO/TIMER. Could use a 6526 in FPGA maybe. TIMERs need to be driven by independent clock
- RTC. Used to keep time. Can act as TIMERS too for interrupts
Video
- At least 640x400 (Twice a C64). 256 colors
- FPGA is allowed here
- Built in Laptop Screen
- External monitor an option (mirror, or extend if possible)
- VGA or HDMI for external monitor
- Brightness controlled via software
- Still not sure about dedicated video RAM
Audio
- Stereo audio and built-in speakers
- FPGA is allowed here too
- External audio an option (Through audio jack, or, if possible HDMI)
- Volumen control through software
Peripherals
- USB Support for storage, and HID
- Internal keyboard and trackpad are USB
- External ports too
Storage
- Dual SD. One acting as internal hd, one acting as eternal storage
Connectivity
- Is TCP/IP Possible? Wifi? Ethernet?
Boot sequence
- Small ROM to handle booting. Then, SO from “INTERNAL” sd is loaded into memory