├── .gitignore ├── CamSweep.gtkw ├── Makefile ├── Pano.v ├── Pano.v_toplevel_core_u_pano_core_rt_u_normalize_ray_u_rsqrt_rsqrt_table.bin ├── Pano.v_toplevel_core_u_pano_core_rt_u_plane_intersect_u_div_p0r0_dot_norm_denom_div_table.bin ├── Pano.v_toplevel_core_u_pano_core_rt_u_shadow_sphere_intersect_u_normalize_u_rsqrt_rsqrt_table.bin ├── Pano.v_toplevel_core_u_pano_core_rt_u_shadow_sphere_intersect_u_thc_sqrt_table.bin ├── Pano.v_toplevel_core_u_pano_core_rt_u_sphere_intersect_u_normalize_u_rsqrt_rsqrt_table.bin ├── Pano.v_toplevel_core_u_pano_core_rt_u_sphere_intersect_u_thc_sqrt_table.bin ├── Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol0.bin ├── Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol1.bin ├── Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol2.bin ├── Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol3.bin ├── Pano.v_toplevel_core_u_pano_core_u_txt_gen_u_font_bitmap_ram.bin ├── README.md ├── cmodel ├── .gdbinit ├── .gitignore ├── Makefile └── src │ ├── fpxx.h │ ├── main.cpp │ └── misc.h ├── fonts ├── .gitignore ├── Makefile ├── c64_font.png ├── c64_font_lc_x1.png ├── c64_font_uc_x1.png ├── hello_world.rb └── vga8x12_extra_chars.png ├── misc └── create_mif.rb ├── project ├── build.properties └── plugins.sbt ├── src ├── main │ └── scala │ │ ├── math │ │ ├── Fpxx.scala │ │ ├── Fpxx2SInt.scala │ │ ├── FpxxAdd.scala │ │ ├── FpxxDiv.scala │ │ ├── FpxxMul.scala │ │ ├── FpxxRSqrt.scala │ │ ├── FpxxSqrt.scala │ │ ├── IntSqrt.scala │ │ ├── MULT18X18SIO.scala │ │ ├── Misc.scala │ │ └── SInt2Fpxx.scala │ │ ├── mr1 │ │ ├── Decode.scala │ │ ├── Execute.scala │ │ ├── Fetch.scala │ │ ├── MR1.scala │ │ ├── RegFile.scala │ │ ├── Riscv.scala │ │ ├── Writeback.scala │ │ └── cpu_ram.scala │ │ └── rt │ │ ├── CamSweep.scala │ │ ├── MR1Top.scala │ │ ├── Pano.scala │ │ ├── PanoCore.scala │ │ ├── PanoIOs.scala │ │ ├── Plane.scala │ │ ├── RT.scala │ │ ├── Ray.scala │ │ ├── Scalar.scala │ │ ├── Sphere.scala │ │ ├── TopRT.scala │ │ ├── TxtGen.scala │ │ ├── Vec3.scala │ │ ├── VideoOut.scala │ │ └── VideoTimingGen.scala └── test │ └── scala │ └── rt │ └── PanoTester.scala ├── sw ├── .gitignore ├── Makefile ├── create_sin_table.c ├── print.c ├── print.h ├── progmem.c ├── reg.h ├── sections.lds ├── start.S └── top_defines.h └── xilinx ├── .gitignore ├── Makefile ├── Pano.bin ├── Pano.bit ├── PanoRT.ipf ├── pano_pins.ipf ├── progmem.bmm ├── top.ucf └── xilinx.xise /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/.gitignore -------------------------------------------------------------------------------- /CamSweep.gtkw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/CamSweep.gtkw -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Makefile -------------------------------------------------------------------------------- /Pano.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_rt_u_normalize_ray_u_rsqrt_rsqrt_table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_rt_u_normalize_ray_u_rsqrt_rsqrt_table.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_rt_u_plane_intersect_u_div_p0r0_dot_norm_denom_div_table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_rt_u_plane_intersect_u_div_p0r0_dot_norm_denom_div_table.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_rt_u_shadow_sphere_intersect_u_normalize_u_rsqrt_rsqrt_table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_rt_u_shadow_sphere_intersect_u_normalize_u_rsqrt_rsqrt_table.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_rt_u_shadow_sphere_intersect_u_thc_sqrt_table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_rt_u_shadow_sphere_intersect_u_thc_sqrt_table.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_rt_u_sphere_intersect_u_normalize_u_rsqrt_rsqrt_table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_rt_u_sphere_intersect_u_normalize_u_rsqrt_rsqrt_table.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_rt_u_sphere_intersect_u_thc_sqrt_table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_rt_u_sphere_intersect_u_thc_sqrt_table.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol0.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol1.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol2.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_u_mr1_top_ram_cpu_ram_symbol3.bin -------------------------------------------------------------------------------- /Pano.v_toplevel_core_u_pano_core_u_txt_gen_u_font_bitmap_ram.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/Pano.v_toplevel_core_u_pano_core_u_txt_gen_u_font_bitmap_ram.bin -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/README.md -------------------------------------------------------------------------------- /cmodel/.gdbinit: -------------------------------------------------------------------------------- 1 | set args 640 480 10 2 | tui ena 3 | br main 4 | r 5 | -------------------------------------------------------------------------------- /cmodel/.gitignore: -------------------------------------------------------------------------------- 1 | rt 2 | bin/ 3 | build/ 4 | .*.swp 5 | *.ppm 6 | -------------------------------------------------------------------------------- /cmodel/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/cmodel/Makefile -------------------------------------------------------------------------------- /cmodel/src/fpxx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/cmodel/src/fpxx.h -------------------------------------------------------------------------------- /cmodel/src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/cmodel/src/main.cpp -------------------------------------------------------------------------------- /cmodel/src/misc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/cmodel/src/misc.h -------------------------------------------------------------------------------- /fonts/.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | *.hex 3 | *.rgb 4 | -------------------------------------------------------------------------------- /fonts/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/fonts/Makefile -------------------------------------------------------------------------------- /fonts/c64_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/fonts/c64_font.png -------------------------------------------------------------------------------- /fonts/c64_font_lc_x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/fonts/c64_font_lc_x1.png -------------------------------------------------------------------------------- /fonts/c64_font_uc_x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/fonts/c64_font_uc_x1.png -------------------------------------------------------------------------------- /fonts/hello_world.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/fonts/hello_world.rb -------------------------------------------------------------------------------- /fonts/vga8x12_extra_chars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/fonts/vga8x12_extra_chars.png -------------------------------------------------------------------------------- /misc/create_mif.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/misc/create_mif.rb -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.2.7 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/main/scala/math/Fpxx.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/Fpxx.scala -------------------------------------------------------------------------------- /src/main/scala/math/Fpxx2SInt.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/Fpxx2SInt.scala -------------------------------------------------------------------------------- /src/main/scala/math/FpxxAdd.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/FpxxAdd.scala -------------------------------------------------------------------------------- /src/main/scala/math/FpxxDiv.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/FpxxDiv.scala -------------------------------------------------------------------------------- /src/main/scala/math/FpxxMul.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/FpxxMul.scala -------------------------------------------------------------------------------- /src/main/scala/math/FpxxRSqrt.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/FpxxRSqrt.scala -------------------------------------------------------------------------------- /src/main/scala/math/FpxxSqrt.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/FpxxSqrt.scala -------------------------------------------------------------------------------- /src/main/scala/math/IntSqrt.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/IntSqrt.scala -------------------------------------------------------------------------------- /src/main/scala/math/MULT18X18SIO.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/MULT18X18SIO.scala -------------------------------------------------------------------------------- /src/main/scala/math/Misc.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/Misc.scala -------------------------------------------------------------------------------- /src/main/scala/math/SInt2Fpxx.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/math/SInt2Fpxx.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/Decode.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/Decode.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/Execute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/Execute.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/Fetch.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/Fetch.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/MR1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/MR1.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/RegFile.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/RegFile.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/Riscv.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/Riscv.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/Writeback.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/Writeback.scala -------------------------------------------------------------------------------- /src/main/scala/mr1/cpu_ram.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/mr1/cpu_ram.scala -------------------------------------------------------------------------------- /src/main/scala/rt/CamSweep.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/CamSweep.scala -------------------------------------------------------------------------------- /src/main/scala/rt/MR1Top.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/MR1Top.scala -------------------------------------------------------------------------------- /src/main/scala/rt/Pano.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/Pano.scala -------------------------------------------------------------------------------- /src/main/scala/rt/PanoCore.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/PanoCore.scala -------------------------------------------------------------------------------- /src/main/scala/rt/PanoIOs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/PanoIOs.scala -------------------------------------------------------------------------------- /src/main/scala/rt/Plane.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/Plane.scala -------------------------------------------------------------------------------- /src/main/scala/rt/RT.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/RT.scala -------------------------------------------------------------------------------- /src/main/scala/rt/Ray.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/Ray.scala -------------------------------------------------------------------------------- /src/main/scala/rt/Scalar.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/Scalar.scala -------------------------------------------------------------------------------- /src/main/scala/rt/Sphere.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/Sphere.scala -------------------------------------------------------------------------------- /src/main/scala/rt/TopRT.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/TopRT.scala -------------------------------------------------------------------------------- /src/main/scala/rt/TxtGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/TxtGen.scala -------------------------------------------------------------------------------- /src/main/scala/rt/Vec3.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/Vec3.scala -------------------------------------------------------------------------------- /src/main/scala/rt/VideoOut.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/VideoOut.scala -------------------------------------------------------------------------------- /src/main/scala/rt/VideoTimingGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/main/scala/rt/VideoTimingGen.scala -------------------------------------------------------------------------------- /src/test/scala/rt/PanoTester.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/src/test/scala/rt/PanoTester.scala -------------------------------------------------------------------------------- /sw/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/.gitignore -------------------------------------------------------------------------------- /sw/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/Makefile -------------------------------------------------------------------------------- /sw/create_sin_table.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/create_sin_table.c -------------------------------------------------------------------------------- /sw/print.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/print.c -------------------------------------------------------------------------------- /sw/print.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/print.h -------------------------------------------------------------------------------- /sw/progmem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/progmem.c -------------------------------------------------------------------------------- /sw/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/reg.h -------------------------------------------------------------------------------- /sw/sections.lds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/sections.lds -------------------------------------------------------------------------------- /sw/start.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/start.S -------------------------------------------------------------------------------- /sw/top_defines.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/sw/top_defines.h -------------------------------------------------------------------------------- /xilinx/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /xilinx/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/Makefile -------------------------------------------------------------------------------- /xilinx/Pano.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/Pano.bin -------------------------------------------------------------------------------- /xilinx/Pano.bit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/Pano.bit -------------------------------------------------------------------------------- /xilinx/PanoRT.ipf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/PanoRT.ipf -------------------------------------------------------------------------------- /xilinx/pano_pins.ipf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/pano_pins.ipf -------------------------------------------------------------------------------- /xilinx/progmem.bmm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/progmem.bmm -------------------------------------------------------------------------------- /xilinx/top.ucf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/top.ucf -------------------------------------------------------------------------------- /xilinx/xilinx.xise: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomverbeure/rt/HEAD/xilinx/xilinx.xise --------------------------------------------------------------------------------