64-bit MOS 6510 compatible CPU(GLSL, 1080p)-Caustic Demo 2
Jacob Dahlen
FUN FACT #1: AMD's 3Ghz Epyc Rome CPU has 39,540,000,000 transistors vs. the MOS 6502 with it's 4,528 transistors. It is therefore possible to create a 64-bit MOS 6510 compatible CPU(about 36,224 transistors) with a clock speed of 4Ghz using current CPU manufacturing technology.
FUN FACT #2: The universities have already produced multicore 8-bit CPUs that run at 150GHz or more in the lab.
About a year ago I started playing around with the emulator's source code. I wanted to see what I could get the POKE statement to do. So the first I got the emulator to play DVDs. See lines 270-274: https://github.com/fatman2021/project-manhattan/blob/master/c64dvd-p.bas
Then I added 32-bit color support and 64-bit registers. c64dvd-p.bas lines 275-306
Next I exposed the FreeBASIC runtime library's pset, getmouse, and cls commands. c64dvd-p.bas lines 307-318
After that I gave the emulator the ability to render image using generated POV-ray code. c64dvd-p.bas lines 319-921
Using POV-ray turned out to be to slow. So I tried Blender instead. Lines 439-1113: https://github.com/fatman2021/project-manhattan/blob/master/c64dvd-b.bas
This was good for simple scenes, but for more complex ones it was too slow. So I switched to GLSL as a result. https://github.com/fatman2021/project-manhattan/blob/master/c64dvd-glsl.bas (lines 484-663) https://github.com/fatman2021/project-manhattan/blob/master/glsl.bi (all)
The emulator generates a line of GLSL script based of the value written to address 49314. The GLSL script is then compiled and executed 0 is written to address 49313.
LLVM Code: https://raw.githubusercontent.com/fatman2021/project-manhattan/master/c64dvd-glsl.ll
Apple I Emulator : https://www.shadertoy.com/view/tlX3W7
Commodore 64 Emulator: https://www.shadertoy.com/view/Xs3XW4
Commodore 64 Emulator Written in FreeBASIC: http://shiny3d.de/public/c64/c64.bas
pyc64: Commodore-64 simulator in pure Python. https://github.com/irmen/pyc64
Shadertoy is Open Source Software: https://github.com/beautypi/shadertoy-iOS-v1 https://github.com/beautypi/shadertoy-iOS-v2
The original shader code falls under the MIT License https://github.com/reindernijhoff/wp-shadertoy-gallery https://github.com/reindernijhoff/wp-shadertoy-gallery/blob/master/LICENSE https://github.com/marklundin/glsl-sdf-primitives https://github.com/marklundin/glsl-sdf-primitives/blob/master/LICENSE ... https://www.youtube.com/watch?v=G3chg6vUR2c
86496130 Bytes