{"id":41497772,"url":"https://github.com/barbeque/sg1000","last_synced_at":"2026-01-23T18:45:06.680Z","repository":{"id":41557975,"uuid":"250431842","full_name":"barbeque/sg1000","owner":"barbeque","description":"A homebrew Sega SG-1000, with an eye towards SC-3000 compatibility","archived":false,"fork":false,"pushed_at":"2026-01-22T17:14:53.000Z","size":18346,"stargazers_count":28,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-23T10:28:48.044Z","etag":null,"topics":["8bit","master-system","sc3000","sega","sg1000","sk1100","tms9918","tms9918a","z80"],"latest_commit_sha":null,"homepage":"https://www.leadedsolder.com/tag/soggy1000","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barbeque.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":"leadedsolder","open_collective":null,"ko_fi":"leadedsolder","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-03-27T03:33:45.000Z","updated_at":"2026-01-22T17:14:57.000Z","dependencies_parsed_at":"2024-01-12T09:16:29.582Z","dependency_job_id":"7c3307ca-cc82-4e3d-b6ba-cf336848613f","html_url":"https://github.com/barbeque/sg1000","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/barbeque/sg1000","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbeque%2Fsg1000","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbeque%2Fsg1000/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbeque%2Fsg1000/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbeque%2Fsg1000/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barbeque","download_url":"https://codeload.github.com/barbeque/sg1000/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbeque%2Fsg1000/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28697774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T17:25:48.045Z","status":"ssl_error","status_checked_at":"2026-01-23T17:25:47.153Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["8bit","master-system","sc3000","sega","sg1000","sk1100","tms9918","tms9918a","z80"],"created_at":"2026-01-23T18:45:06.587Z","updated_at":"2026-01-23T18:45:06.655Z","avatar_url":"https://github.com/barbeque.png","language":"HTML","funding_links":["https://patreon.com/leadedsolder","https://ko-fi.com/leadedsolder"],"categories":[],"sub_categories":[],"readme":"![The Soggy-1000 logo](/soggy1k.png)\n\nSoggy-1000 is an open-source clone of the Sega SG-1000 home videogame system. The eventual goal of the project is to produce a copy of the SG-1000 main console, and the SK-1100 keyboard, so that the software made for the related Sega SC-3000 home computer can be preserved and enjoyed.\n\n## License\nThe Soggy project is licensed under [the Creative Commons Attribution-NonCommercial 4.0 license](https://creativecommons.org/licenses/by-nc/4.0/).\n\nIf you want to build and sell a handful of these systems to use up a \"minimum board order,\" let me know. I'll probably be okay with it!\n\n## Sub-Projects\nThis repository contains multiple KiCad projects that are related to the overall Soggy project. These are:\n\n * `keyboard`: An implementation of the SK-1100 keyboard, using modern key switches (Under development)\n * `cartridges/romcart`: An implementation of a bare-bones (ROM-only) cartridge for SG-1000 (Tested, working)\n * `cartridges/basic-iiib`: An implementation of the SEGA BASIC Level IIIB cartridge, used for testing purposes in order to make sure cartridges can take over the entire memory map (Tested, working)\n\n\n## Other Projects\nOther builders have made projects that work with the Soggy! I can't take credit for them. Please visit their repos:\n\n * [`soggy-case`](https://github.com/kvanderlaag/soggy-case): A 3D-printed case for the Soggy v0.4 and onwards.\n\nThank you to everyone who has built something for the Soggy!\n\n## Assembly Guide and BOM\nPlease match the BOM with the appropriate version - the files here in master are currently post-v4 improvements and some parts may be missing or changed their values when compared with the ones in `sg1000-v0.4.bom.csv`\n\nTODO\n\nAll solder jumpers should be left as they are from fabrication. They were meant solely so that prototype features could be removed if they didn't work out instead of spinning a new board.\n\n## Programmer's Guide\nThe Soggy is basically identical to the existing SG-1000, with the addition (in v0.3 and onwards) of memory mapping hardware. This hardware allows programmers to take advantage of the full 32k of main RAM on the system.\n\nTODO: Memory map diagram\nTODO: Use IOW + $10 to set it\nTODO: Address will change soon to improve compatibility later\n\n## Special Thanks\nThe following people helped me figure out some aspect of the SG-1000, fixed a bug in my hardware, or otherwise contributed.\n\n * Enri for providing [SC-3000 and SG-1000 schematics](http://www43.tok2.com/home/cmpslv/Sc3000/EnrSC.htm)\n * Chartreuse for spotting a bug with the latch responsible for page switching\n * Nick Hook from SC-3000 Survivors helped with providing diagrams, pictures, and SF-7000 information\n * Fabio Dalla Libera (sms power) helped with the M1 transistor\n * asynchronous (sms power) also helped with the M1 transistor\n\n## Version History\n# v0.5 (in development)\nThis version contains experimental features.\n\n * Wider holes on the boot ROM socket footprint, to accept a Textool/AliExpress-style ZIF socket for easier ROM changes during development\n * 1206 ferrite bead on video path to prevent colour burst noise\n\n# v0.4 (in testing)\nThis version is in active development and may not be suitable for testing yet.\n\n * /JOY_SEL signal connected to keyboard edge, allowing keyboard 8255 to force polling of joysticks when row 7 of matrix is requested.\n * Converted to DIP Z80 from PLCC, to allow cheaper AliExpress parts to be used rather than expensive new PLCC Z80 part. New DIP Z80s are also still available from Digi-Key, Mouser, etc.\n * Debounce circuit on NMI pin using a Schmitt trigger (design from [this Tynemouth Software blog entry](http://blog.tynemouthsoftware.co.uk/2022/07/how-the-mini-pet-works-debouncing.html), thank you)\n * Weird overpour onto expansion edge fixed, as were some missing silkscreens for '574 and '04\n * Rudimentary support for Sega Genesis/Mega Drive controllers. No mode switching, so it is a similar limitation to Master System games on the Genesis.\n * Trim pot for fine tuning of TMS9918 input clock (and therefore colourburst/Z80/sound clock.) Can be replaced with a simple wire link if you are feeling brave.\n\n# v0.3\nMany new features added on the base of the v0.2, and some bugs fixed. This was intended to be the first public release, and is recommended for most people.\n\n * /IORD and /IOWR signals (IORQ + WR/RD) synthesized and passed to cartridge port. This prevented the SF-7000 from working, as did an I/O map collision with the keyboard. Both problems are now fixed.\n * The full 62256 SRAM is wired up, providing 32K of work RAM to the system. The first 8K are accessible without touching the memory management unit; the second 8K can be switched between four \"pages.\" This should allow Sega BASIC and many other titles relying on SC-3000 functions to work. Previous boards had a 2K mod, matching the SC-3000, but this was not tested.\n * An onboard BIOS ROM socket has been added, which runs when a cartridge is not inserted (detected through the \"B2\" pin on the cartridge slot, which is usually connected to B1 inside cartridges)\n\nKnown bugs:\n * /JOY_SEL is not connected to the keyboard edge\n * Load input on memory management 74ls573 is inverted and doesn't work\n\n# v0.2\n * SK-1100 keyboard edge connector added.\n * Sound chip-induced lockup under /M1 fixed.\n * Extremely weak video signal fixed.\n * Backwards controller ports fixed.\n * Experimental debounce cap on \"pause\" button added.\n * Reset button added.\n * USB power connector shield grounded.\n * Several problems with sporadic interrupts and waits fixed by adding pull-ups.\n\nKnown bugs:\n * /JOY_SEL is not connected to the keyboard edge\n\n# v0.1\nInitial release.\n\nKnown bugs:\n * Too many to list.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbeque%2Fsg1000","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarbeque%2Fsg1000","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbeque%2Fsg1000/lists"}