{"id":23055908,"url":"https://github.com/zrthxn/8puter","last_synced_at":"2025-04-03T05:18:31.358Z","repository":{"id":119882700,"uuid":"478218494","full_name":"zrthxn/8puter","owner":"zrthxn","description":"Homebrew 8-bit computer project","archived":false,"fork":false,"pushed_at":"2024-05-31T00:28:36.000Z","size":37934,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T19:18:07.226Z","etag":null,"topics":["6502","hardware-designs","sbcomputers"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zrthxn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-05T16:46:03.000Z","updated_at":"2024-05-31T00:28:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"dfb79eb7-677b-4a9e-abea-d882ce69247b","html_url":"https://github.com/zrthxn/8puter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrthxn%2F8puter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrthxn%2F8puter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrthxn%2F8puter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrthxn%2F8puter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zrthxn","download_url":"https://codeload.github.com/zrthxn/8puter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246939220,"owners_count":20857922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["6502","hardware-designs","sbcomputers"],"created_at":"2024-12-16T01:13:54.881Z","updated_at":"2025-04-03T05:18:31.337Z","avatar_url":"https://github.com/zrthxn.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 8puter\n\nThis is a Homebrew 8-bit computer project, using mostly simple modern parts.\nBased on the legendary MOS6502 processor, we are using the modern CMOS version made by WDC. Basically an exercise in computer architechture. I plan to get this manufactured into a PCB and assemble myself into a working computer. \n\nPlease feel free to leave reviews/sanity checks from people who have done this sort of thing before, or know something about this, in the [issues](/issues).  \n\n## Preview\n\nHere is a picture of a 3D model of the completed PCB.\n\u003cp align=\"center\"\u003e\n  \u003cimg title=\"\" src=\"plots/8puter.png\" alt=\"\" width=\"640\" align=\"center\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"text-align: center; font-size: larger; font-weight: 600;\"\u003e\n// \n\u003ca href=\"plots/8puter.pdf\"\u003eSchematic\u003c/a\u003e / \n\u003ca href=\"plots/8puter.csv\"\u003eBill of Materials\u003c/a\u003e \n//\n\u003c/p\u003e\n\n\n## My Goals\n\nThe main thing I want to be able to do with this SBC is to program it with itself. This means having some way to input text from a keyboard and display it to some kind of screen/output device, and I've chosen a VGA monitor for this. I'm not trying to keep this compatible with the ROMs/BIOSs or code of old but I want to be able to write my own, preferably on the machine itself. \nAlso, I dont want to use discrete logic for everything since I have some experience with trying to make that work. I'm also not necessarily using all DIP chips because of lack space, and going SMD isnt that much of a problem.\n\nTo store programs on a sort of \"disk\", I thought I need to add some sort of serial interface which can talk to a microSD card, such that the computer can use it as storage. This is accomplished via SPI. \nThe peripheral interface talks to a USB controller and *should* be able to use a USB keyboard as input device. This idea was taken from the schematic of the [SBC dev board that WDC sells](https://wdc65xx.com/Single-Board-Computers/w65c02sxb/).\n\nThe video signal is being generated by a microcontroller because I thought that's probably the easiest way to get it working without worrying about a lot of VGA signal timing. This MCU is fast enough to generate a 640x480 screen and has enough memory to store the framebuffer and its the only *cheat* I've used. Some more details are in my schematic\n\n### Main Parts\n\n**uProcessor:** W65C02S  \n**ROM and RAM:** AT28C256 and AS6C62256, both 32K  \n**VIA:** W65C22  \n**USB I/f:** FT245RL  \n**Video:** PIC32MX270 uController\n\n## Manufacturing\n\nSo after quite a while, I have finally got this PCB manufactured and it came out better than I had imagined.\nI was having trouble finding a local PCB maker who had the right capabilities and would manufacture this board at a small scale. \nThen I found Robu.in and their manufacturing service. I'm not sure if they've been doing this for a while but I never knew about them.\n\nThe board files are ready to send to a manufacturer of your choice as they are. You can find the gerbers in a ZIP and just fire them off. \nI recommend Robu.in if you're in India. Otherwise I'd recommend PCBWay.com\n\n\u003cimg src=\"https://github.com/zrthxn/8puter/assets/35369637/e3e64d4a-8d97-42fa-91b7-1bf61d4a6681\" width=\"60%\"/\u003e\n\nSee the [Releases](https://github.com/zrthxn/8puter/releases) for updates.\n\n## Resources\n\nSome great resources I found for this project, including those from people who have done this sort of thing before.\n\n- [Ben Eater's Excellent Videos](https://www.youtube.com/watch?v=LnzuMJLZRdU\u0026list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH)\n- [George Foot's videos](https://www.youtube.com/watch?v=EC1Ous1zT5w\u0026list=PLWKtKD_FaUF6IsFc1maERpOwWM2hrOM3b)\n- [forum.6502.org](http://forum.6502.org/)\n- [WDC's own SBC board schematic](https://wdc65xx.com/Single-Board-Computers/w65c02sxb/)\n- [6052 Primer](http://wilsonminesco.com/6502primer) on how to get started building your own, especially the [address decode](http://wilsonminesco.com/6502primer/addr_decoding.html) section\n- [6502.org: Homebuilt Projects](http://www.6502.org/homebuilt)\n- [This guy's breadboard computer](https://www.youtube.com/watch?v=sdFXc0Rkpvc\u0026list=PLdGm_pyUmoII9D16mzw-XsJjHKi3f1kqT) which is based on the (later) 65816 processor, but has some great ideas.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrthxn%2F8puter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzrthxn%2F8puter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrthxn%2F8puter/lists"}