References and inspiration¶
6502 CPU references¶
- http://www.obelisk.me.uk/6502/index.html
- https://www.atariarchives.org/alp/appendix_1.php
- http://www.6502.org/tutorials/compare_beyond.html
- https://www.c64-wiki.com/wiki/BRK
- http://www.emulator101.com/6502-addressing-modes.html
- https://www.pagetable.com/?p=410
- http://6502.org/tutorials/decimal_mode.html
C64 specific references¶
- https://www.c64-wiki.com/wiki/Reset_(Process)
- https://www.c64-wiki.com/wiki/Bank_Switching
- https://www.pagetable.com/c64ref/c64mem/
- https://sta.c64.org/cbm64mem.html
- https://github.com/mist64/c64ref/blob/main/src/c64io/c64io_mapc64.txt
- https://www.c64-wiki.com/wiki/PETSCII_Codes_in_Listings
- https://dustlayer.com/c64-architecture/2013/5/7/hardware-basics-part-1-tick-tock-know-your-clock
- https://dustlayer.com/vic-ii/2013/4/22/when-visibility-matters
- https://dustlayer.com/vic-ii/2013/4/25/vic-ii-for-beginners-beyond-the-screen-rasters-cycle
- https://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt
- https://www.c64-wiki.com/wiki/Raster_interrupt
- https://codebase64.org/doku.php?id=base:detect_pal_ntsc
- https://www.lemon64.com/forum/viewtopic.php?p=667448#p667448
- https://www.c64-wiki.com/wiki/ADSR
- https://www.atarimagazines.com/compute/issue49/424_1_Programming_64_Sound.php
- https://celso.io/retrocomputing/2019/12/23/c64-assembly
WebAudio¶
- https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
- https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Advanced_techniques
- https://github.com/pendragon-andyh/WebAudio-PulseOscillator
- https://github.com/KristofferStrube/Blazor.WebAudio
- https://ui.dev/web-audio-api
- https://codepen.io/2kool2/pen/xrLeMq
- https://dev.opera.com/articles/drum-sounds-webaudio/
6502 CPU Emulator in C++ video¶
Test programs¶
- http://visual6502.org/wiki/index.php?title=6502TestPrograms
- https://github.com/Klaus2m5/6502_65C02_functional_tests/blob/master/6502_functional_test.a65
- http://www.csharp4u.com/2017/01/getting-pretty-hex-dump-of-binary-file.html?m=1
Assemblers¶
Used during development to compile actual 6502 source code to a binary, and then run it through the emulator.
- https://sourceforge.net/projects/acme-crossass/
- https://marketplace.visualstudio.com/items?itemName=rosc.vs64
- https://nurpax.github.io/c64jasm-browser/
- https://skilldrick.github.io/easy6502/#first-program
Other emulators¶
Used during development to verify behavior of the 6502 CPU and C64.
Credits¶
-
Bundled UI fonts: Fira Sans from Google Fonts and Fira Code from the official project. Both are distributed under the SIL Open Font License 1.1, with license text included alongside the bundled font files in the repository.
-
Kristoffer Strube for the original Blazor WASM async interop code for WebAudio, DOM, and IDL that was the basis for a synchronous implementation in this repo. Copyright notice here.
-
Dag Lem and the SID emulation community for the reSID project. The chip-measured constants used by the C64 sample-based SID emulator (
SidSampleCore.cs) — the 16-entry ADSR rate-counter table, the exponential-decay divider thresholds, the noise LFSR feedback taps, and the LFSR reset value0x7FFFF8— originate from reSID's measurement work. No reSID code was read or copied; only the published numeric constants are used as facts about the 6581 chip.