Der Entwickler und Enthusiast Ben Carter hat Super NES um einen Hardware-Raytracer erweitert. Ich möchte Sie daran erinnern, dass die Konsole selbst bereits 30 Jahre alt ist.
Um diese Idee umzusetzen, wurde er von einem Freund beraten und wollte Verilog und FPGA besser studieren. So wurde das SuperRT-Projekt geboren. Der Blogger wollte ein Analogon zum SuperFX-Chip machen - auch die Namen sind ähnlich. Der SuperFX-Chip war in einer Kassette untergebracht und handhabte visuelle Effekte, die der Konsole selbst aufgrund von Hardwareeinschränkungen nicht zur Verfügung standen.
, 50 - SNES. . - .
, , . , " Pachinko", . (level shifters) (FPGA) DE10-Nano. , 5, SNES, 3,3 .
, , , 50 : , (AABB). SNES , 200x160.
RAM . :
0000 Start
0001 Plane 0, -1, 0, Dist=-2
0002 SphereSub OH 2, 1, 5, Rad=5
0003 SphereSub OH 4, 1, 4, Rad=4
0004 SphereSub OH 5, 1, 9, Rad=9
0005 SphereSub OH 2, 1, 2, Rad=2
0006 SphereSub OH -0.5, 1, 2, Rad=2
0007 RegisterHitNoReset 0, 248, 0, Reflectiveness=0
0008 Checkerboard ORH 48, 152, 48, Reflectiveness=0
0009 ResetHitState
0010 Plane 0, -1, 0, Dist=-2.150146
0011 RegisterHit 0, 0, 248, Reflectiveness=153
0012 AABB 4, -2.5, 11, 8, 3.5, 13
0013 ResetHitStateAndJump NH 44
0014 Origin 6, 2, 12
0015 Plane -0.2929688, 0, -0.9570313, Dist=0.2497559
0016 PlaneAnd OH 0.2919922, 0, 0.9560547, Dist=0.25
0017 PlaneAnd OH 0, 1, 0, Dist=1
0018 PlaneAnd OH 0, -1, 0, Dist=4
0019 PlaneAnd OH -0.9570313, 0, 0.2919922, Dist=-1
0020 PlaneAnd OH 0.9560547, 0, -0.2929688, Dist=1.499756
0021 RegisterHit 248, 0, 0, Reflectiveness=0
Die maximal zulässige Bildrate beträgt 30 FPS. Dies liegt an der Bandbreitenbeschränkung der Schnittstellen der Konsole selbst. Jeder Frame mit einer Ablaufverfolgung "wiegt" 32 Kilobyte, während die Ausgabeschnittstelle auf 16 Kilobyte begrenzt ist, sodass eine vollständige Bildaktualisierung nur alle zwei Frames möglich ist. Der Autor plant, seine Idee weiterzuentwickeln. Weitere Details finden Sie in seinem persönlichen Blog .