Built with rust-analyzer.vs (free Visual Studio 2022 Extension)
![Atari](https://private-user-images.githubusercontent.com/152241361/358499848-812f6e79-a023-4fff-8241-93f8d1af6d33.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4MTQ4NzAsIm5iZiI6MTczOTgxNDU3MCwicGF0aCI6Ii8xNTIyNDEzNjEvMzU4NDk5ODQ4LTgxMmY2ZTc5LWEwMjMtNGZmZi04MjQxLTkzZjhkMWFmNmQzMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QxNzQ5MzBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNjVlNmJkMzhlNGM3MTI3MTdiMTlkY2NjMDFjNzIwMDRjZDQ2ODQ4ZTQ3YzVlZjk0YzU0MjlhNjk4NDdkNzRkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.awLpv2AV1gSPO-VaZ_2YLeA2hHYulsAhi27aARXydKo)
Why not?
- Clean room implementation
- Not allowed: Referring to any existing emulator code or design.
- Allowed: Datasheets / tutorials / discussions on the web that is not emulator code / design.
- Emulation in no_std + safe Rust, WebAsm hostable.
- Test driven development.
- v1: Just sufficient to play the very basic games.
- v1: Web front-end with hardware debugger.
- CPU
- Clock cycle accurate NMOS 6502 / 6507 emulation
- Hardware debugger
- Passing HCM & Klaus test suites
- Undocumented opcodes
- RIOT
- RAM + memory shadowing / mapping
- Timer
- Joysticks
- Sound
- Bank switching
- TIA
- Background + playfield
- Player sprites
- Missile sprites
- Ball sprite
- TV
- NTSC Webasm-in-React on browser
- PAL/SECAM
- Run early Atari games
- Run advanced Atari games
- CPU: 6507, 1.19 MHz
- Memory: RAM - 128 Bytes in VLSI, ROM - 4K max
- Graphics: A custom chip named Stella and a graphics clock that run at 1.19 MHz
- Storage Method: Carts
- Input: 2 Joystick ports
- 2600 Tech specs
- Reference hardware - 1
- Reference hardware - 2
- CPU
- Memory
- TIA
- References
- ROMS: Open AI Gym: <user>\.conda\envs\rlenvs\Lib\site-packages\AutoROM\roms