{"id":13817092,"url":"https://github.com/ColinEberhardt/atari2600-wasm","last_synced_at":"2025-05-15T19:30:56.113Z","repository":{"id":44035715,"uuid":"225474398","full_name":"ColinEberhardt/atari2600-wasm","owner":"ColinEberhardt","description":"An Atari 2600 emulator written in AssemblyScript compiled to WebAssembly","archived":false,"fork":false,"pushed_at":"2023-01-05T02:10:33.000Z","size":2305,"stargazers_count":55,"open_issues_count":17,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T08:51:21.649Z","etag":null,"topics":["assemblyscript","atari2600","webassembly"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ColinEberhardt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-02T21:43:17.000Z","updated_at":"2025-03-24T07:27:30.000Z","dependencies_parsed_at":"2023-02-03T05:32:19.676Z","dependency_job_id":null,"html_url":"https://github.com/ColinEberhardt/atari2600-wasm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinEberhardt%2Fatari2600-wasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinEberhardt%2Fatari2600-wasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinEberhardt%2Fatari2600-wasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColinEberhardt%2Fatari2600-wasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ColinEberhardt","download_url":"https://codeload.github.com/ColinEberhardt/atari2600-wasm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254407240,"owners_count":22066196,"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":["assemblyscript","atari2600","webassembly"],"created_at":"2024-08-04T06:00:33.515Z","updated_at":"2025-05-15T19:30:55.726Z","avatar_url":"https://github.com/ColinEberhardt.png","language":"JavaScript","funding_links":[],"categories":["Projects"],"sub_categories":["Games"],"readme":"# WebAssembly / AssemblyScript Atari 2600 Emulator \n\nI've been fascinated with the 2600 ever since reading [Racing the Beam](https://www.amazon.co.uk/Racing-Beam-Computer-Platform-Studies/dp/026201257X), the idea of a computer that doesn't have enough memory to support video RAM is just nuts! This project is an excuse to have a play with [AssemblyScript](https://docs.assemblyscript.org/), and explore the 2600 further.\n\nI'm implementing the 2600 by implementing features as they appear in the [Atari 2600 Programming for Newbies](https://cdn.hackaday.io/files/1646277043401568/Atari_2600_Programming_for_Newbies_Revised_Edition.pdf) guide.\n\n## Other reference sources\n \n  - Addressing modes - https://slark.me/c64-downloads/6502-addressing-modes.pdf\n  - 6502 reference - http://www.obelisk.me.uk/6502/reference.html\n  - Another 6502 reference - https://www.masswerk.at/6502/6502_instruction_set.html\n  - https://en.wikibooks.org/wiki/6502_Assembly\n\n## Progress\n\n - [Atari 2600 Programming for Newbies](https://cdn.hackaday.io/files/1646277043401568/Atari_2600_Programming_for_Newbies_Revised_Edition.pdf)\n  - [x] Session 1: Start Here\n  - [x] Session 2: Television Display Basics\n  - [x] Session 3: The TIA and 6502\n  - [x] Session 4: The TIA\n  - [x] Session 5: Memory Architecture\n  - [x] Sessions 6 \u0026 7: The TV and our Kernel\n  - [x] Session 8: Our First Kernel\n  - [x] Session 9: 6502 and DASM – Assembling the basics\n  - [x] Session 10: Orgasm\n  - [x] Session 11: Colorful colors\n  - [x] Session 12: Initialization\n  - [x] Session 13: Playfield Basics\n  - [x] Session 14: Playfield Weirdness\n  - [x] Session 15: Playfield Continued\n  - [ ] Session 16: Letting the Assembler Do the Work\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FColinEberhardt%2Fatari2600-wasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FColinEberhardt%2Fatari2600-wasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FColinEberhardt%2Fatari2600-wasm/lists"}