├── #artworks ├── fonts │ ├── WOODCUTTER simple font.ttf │ ├── Woodcutter Black Square.ttf │ ├── Woodcutter Negative.ttf │ ├── chinese rocks rg.ttf │ └── woodcutter del rev.ttf └── logo_rse_wood │ ├── logo_prototypes.ai │ └── logo_prototypes.png ├── .gitignore ├── 2d_physics_simulation ├── pkg.core │ ├── fonts │ │ └── default.ttf │ ├── lua │ │ ├── 30log.lua │ │ ├── capsule.lua │ │ ├── cone.lua │ │ ├── cube.lua │ │ ├── cylinder.lua │ │ ├── fade.lua │ │ ├── getopt_alt.lua │ │ ├── math_common.lua │ │ ├── plane.lua │ │ ├── sky_lighting.lua │ │ ├── sky_scatter.lua │ │ ├── sphere.lua │ │ └── wall.lua │ ├── materials │ │ └── default.mat │ ├── sha1.txt │ ├── shaders │ │ ├── ambient.isl │ │ ├── chromatic_dispersion.isl │ │ ├── common.i │ │ ├── default_light_model.i │ │ ├── ds_fog.isl │ │ ├── ds_linearlight.isl │ │ ├── ds_linearlight_shadow.isl │ │ ├── ds_pointlight.isl │ │ ├── ds_pointlight_shadow.isl │ │ ├── ds_spotlight.isl │ │ ├── ds_spotlight_shadow.isl │ │ ├── error.isl │ │ ├── fx_blur.isl │ │ ├── hsl.isl │ │ ├── motion_blur.isl │ │ ├── noise.isl │ │ ├── radial_blur.isl │ │ ├── shadow_common.i │ │ ├── sharpen.isl │ │ ├── simple.isl │ │ ├── single_color.isl │ │ ├── single_texture.isl │ │ ├── single_texture_2d.isl │ │ ├── single_texture_color.isl │ │ ├── single_texture_cutoff.isl │ │ ├── single_texture_fx.isl │ │ ├── sky_scatter.isl │ │ ├── skybox.isl │ │ ├── ssaa.isl │ │ ├── ssao.isl │ │ ├── ssao_blur.isl │ │ └── surface.i │ ├── surfaces │ │ ├── default.isl │ │ ├── diffuse.isl │ │ ├── diffuse_map.isl │ │ ├── diffuse_map_alpha.isl │ │ ├── diffuse_map_normal_map.isl │ │ ├── diffuse_map_normal_map_parallax_map.isl │ │ ├── diffuse_map_self_map.isl │ │ ├── diffuse_map_specular_map.isl │ │ ├── diffuse_map_specular_map_normal_map.isl │ │ ├── diffuse_map_specular_map_normal_map_self_map.isl │ │ ├── diffuse_map_specular_map_self_map.isl │ │ ├── diffuse_specular.isl │ │ ├── reflection_map_cubic.isl │ │ ├── reflection_map_spherical.isl │ │ ├── skinned_diffuse.isl │ │ ├── skinned_diffuse_map.isl │ │ ├── skinned_diffuse_map_normal_map.isl │ │ └── skinned_diffuse_map_specular_map_normal_map.isl │ ├── textures │ │ ├── dither.tga │ │ ├── error.png │ │ └── noise.tga │ └── version.txt ├── python │ ├── simulation_cubes.bat │ ├── simulation_cubes.py │ └── utils.py └── src │ └── simulation.h ├── 2d_starfield └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── 3d_logo_rse ├── python │ ├── 3d │ │ ├── meshes │ │ │ ├── logo_e.mtl │ │ │ ├── logo_e.obj │ │ │ ├── logo_r.mtl │ │ │ ├── logo_r.obj │ │ │ ├── logo_s.mtl │ │ │ └── logo_s.obj │ │ ├── obj_to_c_wireframe.bat │ │ ├── obj_to_c_wireframe.py │ │ ├── util.py │ │ └── vector3.py │ ├── build_easing_table.bat │ └── build_easing_table.py ├── src │ ├── Gens.cfg │ ├── RSE_Logo3DScreen.h │ ├── RSE_easing_table.c │ ├── RSE_easing_table.h │ ├── RSE_logo_meshs.c │ ├── RSE_logo_meshs.h │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── quicksort.c │ ├── quicksort.h │ ├── res │ │ ├── gfx.h │ │ ├── gfx.res │ │ ├── logo_boot.vgm │ │ ├── logo_rse_3d.png │ │ ├── music.h │ │ └── music.res │ └── src │ │ └── boot │ │ ├── rom_head.c │ │ └── sega.s └── work │ ├── music │ ├── logo_boot.vge │ └── logo_boot001.vge │ ├── rse_logo │ ├── logo_e.max │ ├── logo_r.max │ ├── logo_s.max │ ├── rse_3letters_variant_b_E.obj │ ├── rse_3letters_variant_b_R.obj │ └── rse_3letters_variant_b_S.obj │ └── rse_logo_2d │ ├── logo_rse_3d-neo.png │ ├── logo_rse_3d-original.png │ ├── logo_rse_3d.png │ ├── logo_rse_3d_template.png │ ├── logo_rse_3d_template.psd │ ├── logo_x1.png │ └── logo_x4.png ├── 3d_meshes ├── python │ └── 3d │ │ ├── build_cosine_tables.bat │ │ ├── build_cosine_tables.py │ │ ├── meshes │ │ ├── cube.obj │ │ ├── cubic_cross.obj │ │ ├── cylinder.obj │ │ ├── cylinder_subd.obj │ │ ├── metacube.obj │ │ └── triangle_mess.obj │ │ ├── obj_to_c_wireframe.bat │ │ ├── obj_to_c_wireframe.py │ │ ├── util.py │ │ └── vector3.py └── src │ ├── Gens.cfg │ ├── RSE_3DFlatShadedScreen.h │ ├── build.bat │ ├── essai3D.cbp │ ├── language.dat │ ├── main.c │ ├── meshs.c │ ├── meshs.h │ ├── out │ └── rom.bin │ ├── quicksort.c │ ├── quicksort.h │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── 3d_physics_simulation ├── pkg.core │ ├── fonts │ │ └── default.ttf │ ├── lua │ │ ├── 30log.lua │ │ ├── capsule.lua │ │ ├── cone.lua │ │ ├── cube.lua │ │ ├── cylinder.lua │ │ ├── fade.lua │ │ ├── getopt_alt.lua │ │ ├── math_common.lua │ │ ├── plane.lua │ │ ├── sky_lighting.lua │ │ ├── sky_scatter.lua │ │ ├── sphere.lua │ │ └── wall.lua │ ├── materials │ │ └── default.mat │ ├── sha1.txt │ ├── shaders │ │ ├── ambient.isl │ │ ├── chromatic_dispersion.isl │ │ ├── common.i │ │ ├── default_light_model.i │ │ ├── ds_fog.isl │ │ ├── ds_linearlight.isl │ │ ├── ds_linearlight_shadow.isl │ │ ├── ds_pointlight.isl │ │ ├── ds_pointlight_shadow.isl │ │ ├── ds_spotlight.isl │ │ ├── ds_spotlight_shadow.isl │ │ ├── error.isl │ │ ├── fx_blur.isl │ │ ├── hsl.isl │ │ ├── motion_blur.isl │ │ ├── noise.isl │ │ ├── radial_blur.isl │ │ ├── shadow_common.i │ │ ├── sharpen.isl │ │ ├── simple.isl │ │ ├── single_color.isl │ │ ├── single_texture.isl │ │ ├── single_texture_2d.isl │ │ ├── single_texture_color.isl │ │ ├── single_texture_cutoff.isl │ │ ├── single_texture_fx.isl │ │ ├── sky_scatter.isl │ │ ├── skybox.isl │ │ ├── ssaa.isl │ │ ├── ssao.isl │ │ ├── ssao_blur.isl │ │ └── surface.i │ ├── surfaces │ │ ├── default.isl │ │ ├── diffuse.isl │ │ ├── diffuse_map.isl │ │ ├── diffuse_map_alpha.isl │ │ ├── diffuse_map_normal_map.isl │ │ ├── diffuse_map_normal_map_parallax_map.isl │ │ ├── diffuse_map_self_map.isl │ │ ├── diffuse_map_specular_map.isl │ │ ├── diffuse_map_specular_map_normal_map.isl │ │ ├── diffuse_map_specular_map_normal_map_self_map.isl │ │ ├── diffuse_map_specular_map_self_map.isl │ │ ├── diffuse_specular.isl │ │ ├── reflection_map_cubic.isl │ │ ├── reflection_map_spherical.isl │ │ ├── skinned_diffuse.isl │ │ ├── skinned_diffuse_map.isl │ │ ├── skinned_diffuse_map_normal_map.isl │ │ └── skinned_diffuse_map_specular_map_normal_map.isl │ ├── textures │ │ ├── dither.tga │ │ ├── error.png │ │ └── noise.tga │ └── version.txt ├── python │ ├── simulation_cubes.bat │ └── simulation_cubes.py └── src │ └── simulation.h ├── 3d_starfield └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── 3d_starfield_using_sprites └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── gfx.h │ ├── gfx.res │ └── sprite_stars.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── README.md ├── asm └── src │ ├── ASMtest.h │ ├── ASMtest.s │ ├── main.c │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── axelay_fx └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── clouds.png │ ├── gfx.h │ ├── gfx.res │ └── sea.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── bitmap_stretch_fx └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── cosine_table.c │ ├── cosine_table.h │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── gfx.h │ ├── gfx.res │ └── wood_plank.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── boing_ball_fx └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── boing_impact-8.wav │ ├── boingball.png │ ├── checkback.png │ ├── checkboard.png │ ├── gfx.h │ ├── gfx.res │ ├── resources.h │ └── resources.res │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── cosmos-2016 └── work │ └── cosmonaut │ ├── cosmonaut.png │ └── cosmonaut.psd ├── demo-Rog-MD-port ├── LICENSE ├── README.md └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── cat.png │ ├── fish.png │ ├── gfx.h │ └── gfx.res │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── dot_matrix_fx ├── python │ ├── genetiles │ │ ├── generate_tiles.bat │ │ └── generate_tiles.py │ └── imgseq2c │ │ ├── convert_sequence.bat │ │ ├── convert_sequence.py │ │ └── tore_tunnel │ │ ├── frame_0000.png │ │ ├── frame_0001.png │ │ ├── frame_0002.png │ │ ├── frame_0003.png │ │ ├── frame_0004.png │ │ ├── frame_0005.png │ │ ├── frame_0006.png │ │ ├── frame_0007.png │ │ ├── frame_0008.png │ │ └── frame_0009.png ├── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── img_seq.c │ ├── img_seq.h │ ├── language.dat │ ├── main.c │ ├── out │ │ └── rom.bin │ ├── res │ │ ├── gfx.h │ │ ├── gfx.res │ │ └── pat_round.png │ └── src │ │ └── boot │ │ ├── rom_head.c │ │ └── sega.s └── work │ └── star_tunnel.gif ├── exxos-demo └── python │ ├── .idea │ ├── .name │ ├── misc.xml │ ├── modules.xml │ ├── python.iml │ ├── vcs.xml │ └── workspace.xml │ ├── assets │ ├── exxos_mask.json │ ├── landscape_mountains.png │ ├── landscape_stones.png │ ├── logo_exxos.png │ ├── space_moon.png │ ├── space_planet.png │ ├── space_star.png │ └── xo2s.xm │ ├── exxos_demo.py │ ├── graphic_routines.py │ ├── imgui.ini │ ├── pkg.core │ ├── fonts │ │ └── default.ttf │ ├── lua │ │ ├── capsule.lua │ │ ├── cone.lua │ │ ├── cube.lua │ │ ├── cylinder.lua │ │ ├── fade.lua │ │ ├── getopt_alt.lua │ │ ├── math_common.lua │ │ ├── packages │ │ │ ├── 30log.lua │ │ │ ├── ftp.lua │ │ │ ├── headers.lua │ │ │ ├── http.lua │ │ │ ├── ltn12.lua │ │ │ ├── mbox.lua │ │ │ ├── mime.lua │ │ │ ├── smtp.lua │ │ │ ├── socket.lua │ │ │ ├── tp.lua │ │ │ └── url.lua │ │ ├── plane.lua │ │ ├── sky_lighting.lua │ │ ├── sky_scatter.lua │ │ ├── sphere.lua │ │ └── wall.lua │ ├── materials │ │ └── default.mat │ ├── sha1.txt │ ├── shaders │ │ ├── ambient.isl │ │ ├── chromatic_dispersion.isl │ │ ├── common.i │ │ ├── default_light_model.i │ │ ├── ds_fog.isl │ │ ├── ds_linearlight.isl │ │ ├── ds_linearlight_shadow.isl │ │ ├── ds_pointlight.isl │ │ ├── ds_pointlight_shadow.isl │ │ ├── ds_spotlight.isl │ │ ├── ds_spotlight_shadow.isl │ │ ├── error.isl │ │ ├── fx_blur.isl │ │ ├── hsl.isl │ │ ├── motion_blur.isl │ │ ├── noise.isl │ │ ├── radial_blur.isl │ │ ├── shadow_common.i │ │ ├── sharpen.isl │ │ ├── simple.isl │ │ ├── single_color.isl │ │ ├── single_texture.isl │ │ ├── single_texture_2d.isl │ │ ├── single_texture_color.isl │ │ ├── single_texture_cutoff.isl │ │ ├── single_texture_fx.isl │ │ ├── sky_scatter.isl │ │ ├── skybox.isl │ │ ├── ssaa.isl │ │ ├── ssao.isl │ │ ├── ssao_blur.isl │ │ └── surface.i │ ├── surfaces │ │ ├── default.isl │ │ ├── diffuse.isl │ │ ├── diffuse_map.isl │ │ ├── diffuse_map_alpha.isl │ │ ├── diffuse_map_normal_map.isl │ │ ├── diffuse_map_normal_map_parallax_map.isl │ │ ├── diffuse_map_self_map.isl │ │ ├── diffuse_map_specular_map.isl │ │ ├── diffuse_map_specular_map_normal_map.isl │ │ ├── diffuse_map_specular_map_normal_map_self_map.isl │ │ ├── diffuse_map_specular_map_self_map.isl │ │ ├── diffuse_specular.isl │ │ ├── reflection_map_cubic.isl │ │ ├── reflection_map_spherical.isl │ │ ├── skinned_diffuse.isl │ │ ├── skinned_diffuse_map.isl │ │ ├── skinned_diffuse_map_normal_map.isl │ │ └── skinned_diffuse_map_specular_map_normal_map.isl │ ├── textures │ │ ├── dither.tga │ │ ├── error.png │ │ └── noise.tga │ └── version.txt │ ├── screen_specs.py │ ├── starfield.py │ └── utils.py ├── fast_dot_cube ├── python │ └── 3d │ │ ├── build_velocity_tables.bat │ │ ├── build_velocity_tables.py │ │ ├── obj_to_c_vectorball.bat │ │ ├── obj_to_c_vectorball.py │ │ ├── util.py │ │ ├── vector3.py │ │ └── vectorballs │ │ └── cube.obj └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── edges.c │ ├── edges.h │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── fast_cube_dot.png │ ├── gfx.h │ ├── gfx.res │ └── marble_background.png │ ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s │ ├── velocity_table.c │ └── velocity_table.h ├── fast_starfield └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── easing_table.c │ ├── easing_table.h │ ├── language.dat │ ├── main.c │ ├── res │ ├── gfx.h │ ├── gfx.res │ └── starfield.png │ ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s │ ├── transition_helper.c │ └── transition_helper.h ├── fast_starfield_w_donuts └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── demo_strings.h │ ├── language.dat │ ├── main.c │ ├── res │ ├── amiga-font.png │ ├── donut.png │ ├── gfx.h │ ├── gfx.res │ ├── maak_soundtest01_20160211.vgm │ ├── news-vip2017.png │ ├── resources.h │ ├── resources.res │ └── starfield.png │ ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s │ ├── transition_helper.c │ ├── transition_helper.h │ ├── writer.c │ └── writer.h ├── fullscreen_image_display └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── res │ ├── gfx.h │ ├── gfx.res │ └── shikasta_tilemap.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── merge └── src │ ├── RSE_Logo3DScreen.h │ ├── RSE_easing_table.c │ ├── RSE_easing_table.h │ ├── RSE_logo_meshs.c │ ├── RSE_logo_meshs.h │ ├── ball_coords.c │ ├── ball_coords.h │ ├── main.c │ ├── main_axelay_fx.c │ ├── main_axelay_fx.h │ ├── main_boing_ball_fx.c │ ├── main_boing_ball_fx.h │ ├── main_logo.c │ ├── main_logo.h │ ├── main_starfield_2d.c │ ├── main_starfield_2d.h │ ├── main_tunnel.c │ ├── main_tunnel.h │ ├── main_twisted_metal.c │ ├── main_twisted_metal.h │ ├── main_underwater_starfield_fx.c │ ├── main_underwater_starfield_fx.h │ ├── main_vector_balls.c │ ├── main_vector_balls.h │ ├── quicksort.c │ ├── quicksort.h │ ├── res │ ├── ball_metal.png │ ├── boing_impact-8.wav │ ├── boingball.png │ ├── checkback.png │ ├── checkboard.png │ ├── clouds.png │ ├── gfx.h │ ├── gfx.res │ ├── logo_boot.vgm │ ├── logo_rse_3d.png │ ├── music.h │ ├── music.res │ ├── resources.h │ ├── resources.res │ ├── sea.png │ ├── sprite_stars.png │ ├── twister.png │ └── underwater.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── outline_intro ├── Gens.cfg ├── ball_coords.c ├── ball_coords.h ├── build.bat ├── build_from_scratch.bat ├── demo_strings.c ├── demo_strings.h ├── dot_matrix.c ├── easing_table.c ├── easing_table.h ├── end_loop.c ├── endscreen.c ├── img_seq.c ├── img_seq.h ├── language.dat ├── logo_screen.c ├── logo_screen.h ├── main.c ├── music.c ├── music.h ├── plasma.c ├── python │ ├── build_easing_table.bat │ └── build_easing_table.py ├── quicksort.c ├── quicksort.h ├── res │ ├── alexkidd.png │ ├── alexkidd_overlay.png │ ├── ball_metal.png │ ├── childwrite_8x8.png │ ├── endscreen_a.png │ ├── endscreen_a_2.png │ ├── endscreen_a_3.png │ ├── endscreen_a_4.png │ ├── endscreen_b.png │ ├── endscreen_b_2.png │ ├── endscreen_b_3.png │ ├── endscreen_b_4.png │ ├── gfx.res │ ├── level_0.png │ ├── level_1.png │ ├── level_2.png │ ├── level_3.png │ ├── level_bg.png │ ├── logo_demo.png │ ├── logo_rse_bottom_9bits.png │ ├── logo_rse_top_9bits.png │ ├── malabar_bumper.vgm │ ├── pat_round.png │ ├── plasma.png │ ├── plasma_greetings.png │ ├── rasters.png │ ├── resources.h │ ├── resources.res │ ├── smiley-gelmir.png │ ├── transition_pattern_0.png │ ├── vectorball_bg_a.png │ ├── vectorball_bg_a_2.png │ ├── vectorball_bg_b.png │ ├── vectorball_bg_b_2.png │ └── vectorball_fg_a.png ├── simulation.c ├── simulation_0.h ├── simulation_1.h ├── simulation_2.h ├── simulation_3.h ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s ├── transition_helper.c ├── transition_helper.h ├── twister_fx.h ├── vector_balls.c ├── wipe_effect.c ├── wipe_effect.h ├── work │ ├── VGM │ │ ├── malabars_bumper-04.vge │ │ ├── malabars_bumper-05.vge │ │ ├── malabars_bumper-06.vge │ │ ├── malabars_bumper-08.vge │ │ ├── malabars_bumper-09.vge │ │ ├── smp │ │ │ ├── loop_00 slice 01.wav │ │ │ ├── loop_00 slice 02.wav │ │ │ ├── loop_00 slice 03.wav │ │ │ ├── loop_00 slice 04.wav │ │ │ ├── loop_00 slice 05.wav │ │ │ ├── loop_00 slice 06.wav │ │ │ ├── loop_00 slice 07.wav │ │ │ ├── loop_00 slice 08.wav │ │ │ ├── loop_01 slice 01.wav │ │ │ ├── loop_01 slice 02.wav │ │ │ ├── loop_01 slice 03.wav │ │ │ ├── loop_01 slice 04.wav │ │ │ ├── loop_01 slice 05.wav │ │ │ ├── loop_01 slice 06.wav │ │ │ ├── loop_01 slice 07.wav │ │ │ ├── loop_01 slice 08.wav │ │ │ ├── loop_02 slice 01.wav │ │ │ ├── loop_02 slice 02.wav │ │ │ ├── loop_02 slice 03.wav │ │ │ ├── loop_02 slice 04.wav │ │ │ ├── loop_02 slice 05.wav │ │ │ ├── loop_02 slice 06.wav │ │ │ ├── loop_02 slice 07.wav │ │ │ ├── loop_02 slice 08.wav │ │ │ ├── loop_03 slice 01.wav │ │ │ ├── loop_03 slice 02.wav │ │ │ ├── loop_03 slice 03.wav │ │ │ ├── loop_03 slice 04.wav │ │ │ ├── loop_03 slice 05.wav │ │ │ ├── loop_03 slice 06.wav │ │ │ ├── loop_03 slice 07.wav │ │ │ └── loop_03 slice 08.wav │ │ └── tfi │ │ │ ├── bass.tfi │ │ │ ├── bells.tfi │ │ │ ├── clav_funk.tfi │ │ │ └── lead.tfi │ └── logo_rse │ │ ├── logo_rse_vector.ai │ │ └── rse_logo_smaller.psd ├── writer.c └── writer.h ├── parallax_scrolling └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── ball_metal.png │ ├── gfx.h │ ├── gfx.res │ ├── ground.png │ ├── midnight.vgm │ ├── resources.h │ ├── resources.res │ └── rse_logo.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── perspective_checkerboard └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── checkboard.png │ ├── gfx.h │ └── gfx.res │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── pirate_intro ├── src │ ├── Logo3DScreen.h │ ├── ankou_screen.c │ ├── asm.bat │ ├── ball_coords.c │ ├── ball_coords.h │ ├── barb_picture.c │ ├── barb_title_screen.c │ ├── build.bat │ ├── build_from_scratch.bat │ ├── cube_fx.c │ ├── demo_strings.c │ ├── demo_strings.h │ ├── div_premul.c │ ├── div_premul.h │ ├── easing_table.c │ ├── easing_table.h │ ├── easing_table_fp.c │ ├── easing_table_fp.h │ ├── fire_fx.c │ ├── flames_wave.c │ ├── logo_meshs.c │ ├── logo_meshs.h │ ├── main.c │ ├── main_logo.c │ ├── main_logo.h │ ├── music.c │ ├── music.h │ ├── page_writer.c │ ├── page_writer.h │ ├── quicksort.c │ ├── quicksort.h │ ├── res │ │ ├── ball_metal.png │ │ ├── ball_shadow.png │ │ ├── ball_transition.png │ │ ├── barb_pic_back-0.png │ │ ├── barb_pic_back-1.png │ │ ├── barb_pic_back-2.png │ │ ├── barb_pic_back-3.png │ │ ├── barb_pic_back.png │ │ ├── barb_pic_front.png │ │ ├── bg_sky.png │ │ ├── btiger_font.png │ │ ├── checkboard-0.png │ │ ├── checkboard-1.png │ │ ├── checkboard-2.png │ │ ├── checkboard-3.png │ │ ├── checkboard.png │ │ ├── checkboard_logo.png │ │ ├── conan-on-fire_256px-small.png │ │ ├── cube_anim.png │ │ ├── cube_anim_shadow.png │ │ ├── exocet-ankou-back-0.png │ │ ├── exocet-ankou-back-1.png │ │ ├── exocet-ankou-back-2.png │ │ ├── exocet-ankou-back-3.png │ │ ├── exocet-ankou-front-0.png │ │ ├── exocet-ankou-front-1.png │ │ ├── exocet-ankou-front-2.png │ │ ├── exocet-ankou-front-3.png │ │ ├── exocet-ankou-front-darken.png │ │ ├── flames-0.png │ │ ├── flames-1.png │ │ ├── flames-2.png │ │ ├── flames-3.png │ │ ├── flames.png │ │ ├── gfx.h │ │ ├── gfx.res │ │ ├── logo_boot.vgm │ │ ├── logo_rse_3d.png │ │ ├── masiaka001.vgm │ │ ├── masiaka_title.png │ │ ├── medieval_girl.png │ │ ├── resources.h │ │ ├── resources.res │ │ ├── rse_logo_shadow.png │ │ ├── rse_retrowave_logo.png │ │ ├── rsi_logo-0.png │ │ ├── rsi_logo-1.png │ │ ├── rsi_logo.png │ │ ├── shield_anim-0.png │ │ ├── shield_anim-1.png │ │ ├── shield_anim.png │ │ ├── sky.png │ │ ├── sprite_stars.png │ │ ├── sword.png │ │ └── transition_pattern.png │ ├── shield_anim.c │ ├── src │ │ └── boot │ │ │ ├── rom_head.c │ │ │ └── sega.s │ ├── starfield_fx.c │ ├── string_parser.c │ ├── string_parser.h │ ├── transition_helper.c │ ├── transition_helper.h │ ├── vector_balls.c │ ├── writer.c │ └── writer.h └── tools │ ├── 3d │ ├── build_fp_cosine_tables.bat │ ├── build_fp_cosine_tables.py │ ├── obj_to_c_vectorball.bat │ ├── obj_to_c_vectorball.py │ ├── util.py │ ├── vector3.py │ └── vectorballs │ │ ├── geosphere.max │ │ ├── geosphere.mtl │ │ ├── geosphere.obj │ │ ├── grid_cube.max │ │ ├── grid_cube.mtl │ │ ├── grid_cube.obj │ │ ├── grid_cube_small.max │ │ ├── grid_cube_small.mtl │ │ └── grid_cube_small.obj │ └── vector_ball_editor │ ├── OpenAL32.dll │ ├── bullet_physic_plugin.dll │ ├── harfang_lua.exe │ ├── ijg_picture_plugin.dll │ ├── imgui.ini │ ├── main.lua │ ├── openvr_api.dll │ ├── openvr_plugin.dll │ ├── start.bat │ ├── stb_audio_plugin.dll │ ├── stb_picture_plugin.dll │ ├── wav_audio_plugin.dll │ └── xmp_audio_plugin.dll ├── raster └── src │ ├── build.bat │ ├── build_from_scratch.bat │ ├── cosine_table.c │ ├── cosine_table.h │ ├── main.c │ ├── res │ ├── car.png │ ├── gfx.h │ └── gfx.res │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── road └── src │ ├── main.c │ ├── main_road.c │ ├── main_road.h │ ├── res │ ├── gfx.h │ ├── gfx.res │ ├── road.png │ ├── road_2 (2).png │ └── test.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── scrolling_logo_sprites_fx └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── res │ ├── ball_metal.png │ ├── gfx.h │ ├── gfx.res │ ├── ground.png │ ├── midnight.vgm │ ├── resources.h │ ├── resources.res │ └── rse_logo.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── slideshow └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── easing_table.c │ ├── easing_table.h │ ├── language.dat │ ├── main.c │ ├── res │ ├── 14788_gelmir03_9bits_A.png │ ├── 14788_gelmir03_9bits_B.png │ ├── 15164_gelmir10_9bits.png │ ├── 6ans_plus_tard_9bits.png │ ├── artgemtest_9bits.png │ ├── eva_30col_9bits.png │ ├── gfx.h │ ├── gfx.res │ ├── major_b_30col_9bits.png │ ├── morgan1994_30col_9bits.png │ ├── pearl_30col_9bits.png │ ├── shibibi_30col_9bits_A.png │ ├── shibibi_30col_9bits_B.png │ ├── together_9bits.png │ ├── tube_9bits.png │ └── voielactee_30col_9bits.png │ ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s │ ├── transition_helper.c │ └── transition_helper.h ├── spr_custom_engine └── src │ ├── ball_coords.c │ ├── ball_coords.h │ ├── main.c │ ├── out │ └── rom_head.bin │ ├── profiler.c │ ├── profiler.h │ ├── quicksort.c │ ├── quicksort.h │ ├── res │ ├── ball_metal.png │ └── gfx.res │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── tunnel_bitmap ├── python │ ├── 2D_BitmapMode_proto │ │ ├── build_MD_NN.bat │ │ ├── circles.py │ │ ├── circles2.py │ │ ├── circles3.py │ │ ├── circles3.pyc │ │ ├── main.c │ │ ├── md.py │ │ ├── src │ │ │ └── boot │ │ │ │ ├── rom_head.c │ │ │ │ └── sega.s │ │ └── test01.py │ └── tunnel_make_macro │ │ ├── make_macro-v02.py │ │ ├── make_macro.py │ │ └── sgdk_trigo.py ├── src-v02 │ ├── main - copie.txt │ ├── main.c │ ├── main_tunnel.c │ ├── main_tunnel.h │ └── src │ │ └── boot │ │ ├── rom_head.c │ │ └── sega.s └── src │ ├── main.c │ ├── profiler.c │ ├── profiler.h │ ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s │ ├── tunnel_macro - Copie.h │ └── tunnel_macro.h ├── twister ├── Gens.cfg ├── build.bat ├── build_from_scratch.bat ├── language.dat ├── main.c ├── res │ ├── gfx.h │ ├── gfx.res │ └── twister.png ├── src │ └── boot │ │ ├── rom_head.c │ │ └── sega.s ├── twisted_metal.c └── twisted_metal.h ├── underwater_starfield_fx └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── res │ ├── gfx.h │ ├── gfx.res │ ├── sprite_stars.png │ └── underwater.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── vector_balls ├── python │ └── 3d │ │ ├── build_fp_cosine_tables.bat │ │ ├── build_fp_cosine_tables.py │ │ ├── obj_to_c_vectorball.bat │ │ ├── obj_to_c_vectorball.py │ │ ├── util.py │ │ ├── vector3.py │ │ └── vectorballs │ │ ├── geosphere.mtl │ │ ├── geosphere.obj │ │ ├── grid_cube.max │ │ ├── grid_cube.mtl │ │ ├── grid_cube.obj │ │ ├── grid_cube_small.max │ │ ├── grid_cube_small.mtl │ │ └── grid_cube_small.obj └── src │ ├── Gens.cfg │ ├── ball_coords.c │ ├── ball_coords.h │ ├── build.bat │ ├── build_from_scratch.bat │ ├── language.dat │ ├── main.c │ ├── out │ └── rom.bin │ ├── quicksort.c │ ├── quicksort.h │ ├── res │ ├── ball_metal.png │ ├── gfx.h │ └── gfx.res │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s ├── water_fx └── src │ ├── Gens.cfg │ ├── build.bat │ ├── build_from_scratch.bat │ ├── cosine_table.c │ ├── cosine_table.h │ ├── language.dat │ ├── main.c │ ├── res │ ├── gfx.h │ ├── gfx.res │ ├── pirate_logo.png │ ├── water_texture_back_layer.png │ └── water_texture_front_layer.png │ └── src │ └── boot │ ├── rom_head.c │ └── sega.s └── xy_sin_scroll └── src ├── Gens.cfg ├── build.bat ├── build_from_scratch.bat ├── language.dat ├── main.c ├── out └── rom.bin ├── res ├── gfx.h ├── gfx.res ├── resources.h ├── resources.res ├── rse_logo.png ├── stars_anim.png └── zsenilia_theme.vgm └── src └── boot ├── rom_head.c └── sega.s /#artworks/fonts/WOODCUTTER simple font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/fonts/WOODCUTTER simple font.ttf -------------------------------------------------------------------------------- /#artworks/fonts/Woodcutter Black Square.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/fonts/Woodcutter Black Square.ttf -------------------------------------------------------------------------------- /#artworks/fonts/Woodcutter Negative.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/fonts/Woodcutter Negative.ttf -------------------------------------------------------------------------------- /#artworks/fonts/chinese rocks rg.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/fonts/chinese rocks rg.ttf -------------------------------------------------------------------------------- /#artworks/fonts/woodcutter del rev.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/fonts/woodcutter del rev.ttf -------------------------------------------------------------------------------- /#artworks/logo_rse_wood/logo_prototypes.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/logo_rse_wood/logo_prototypes.ai -------------------------------------------------------------------------------- /#artworks/logo_rse_wood/logo_prototypes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/#artworks/logo_rse_wood/logo_prototypes.png -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/fonts/default.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/2d_physics_simulation/pkg.core/fonts/default.ttf -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/lua/math_common.lua: -------------------------------------------------------------------------------- 1 | function Lerp(k, a, b) 2 | return (b - a) * k + a 3 | end 4 | 5 | function RangeAdjust(k, a, b, u, v) 6 | return (k - a) / (b - a) * (v - u) + u 7 | end 8 | 9 | function Clamp(v, mn, mx) 10 | if (v < mn) then return mn end 11 | if (v > mx) then return mx end 12 | return v 13 | end 14 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/materials/default.mat: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/sha1.txt: -------------------------------------------------------------------------------- 1 | 043b5bf4ba63ccfe91e43f5040587291cbe3735b -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/ambient.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = vec4(vPosition, 1.0); 5 | %} 6 | } 7 | 8 | pixel { 9 | source %{ 10 | vec2 UV = %in.fragcoord%.xy * vInverseInternalResolution.xy; 11 | vec4 diff_alpha = texture2D(vGBuffer1, UV); 12 | vec4 const_unkn = texture2D(vGBuffer3, UV); 13 | %out.color% = vec4(diff_alpha.rgb * vAmbientColor + const_unkn.xyz, 1.0); 14 | %} 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/ds_fog.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = vec4(vPosition, 1.0); 5 | %} 6 | } 7 | 8 | pixel { 9 | global %{ 10 | #include "@core/shaders/common.i" 11 | %} 12 | 13 | source %{ 14 | vec2 UV = %in.fragcoord%.xy * vInverseInternalResolution.xy; 15 | vec4 norm_dpth = UnpackNormalDepth(UV); 16 | %out.color% = vec4(vFogColor.rgb, clamp((norm_dpth.w - vFogState.x) * vFogState.z, 0.0, 1.0)); 17 | %} 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/error.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D u_tex = "@core/textures/error.png"; 3 | } 4 | 5 | variant { 6 | pixel { 7 | source %{ 8 | float k = texture2D(u_tex, %in.fragcoord%.xy * vInverseInternalResolution.xy / vInverseInternalResolution.zw * 6.0).a; 9 | %constant% = vec4(k * 0.25, 0, 0, 1.0); 10 | %} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/simple.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 5 | %} 6 | } 7 | 8 | pixel { 9 | source %{ 10 | %out.color% = vec4(1.0, 1.0, 1.0, 1.0); 11 | %} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/single_color.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | out { vec4 v_color; } 4 | 5 | source %{ 6 | v_color = vColor0; 7 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 8 | %} 9 | } 10 | 11 | pixel { 12 | in { vec4 v_color; } 13 | 14 | source %{ 15 | %out.color% = v_color; 16 | %} 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/single_texture.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/single_texture_2d.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = vec4(vPosition, 1.0); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/single_texture_color.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { 6 | vec4 v_color; 7 | vec2 v_uv; 8 | } 9 | 10 | source %{ 11 | v_color = vColor0; 12 | v_uv = vUV0; 13 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 14 | %} 15 | } 16 | 17 | pixel { 18 | in { 19 | vec4 v_color; 20 | vec2 v_uv; 21 | } 22 | 23 | source %{ 24 | %out.color% = texture2D(u_tex, v_uv) * v_color; 25 | %} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/single_texture_cutoff.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D u_tex; 3 | float u_cutoff; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { vec2 v_uv; } 9 | 10 | source %{ 11 | v_uv = vUV0; 12 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 13 | %} 14 | } 15 | 16 | pixel { 17 | in { vec2 v_uv; } 18 | 19 | source %{ 20 | vec4 ref = texture2D(u_tex, v_uv); 21 | %out.color% = vec4(max(ref.rgb - u_cutoff, 0.0), ref.a); 22 | %} 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/single_texture_fx.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv * vFxScale); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/shaders/skybox.isl: -------------------------------------------------------------------------------- 1 | in { 2 | float u_time = 0.5; 3 | texCube u_layer0; 4 | texCube u_layer1; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { vec2 v_uv; } 10 | 11 | source %{ 12 | v_uv = (vPosition.xy * vec2(0.4, 0.4)) / vInverseViewportSize.zw; 13 | %out.position% = vec4(vPosition, 1.0); 14 | %} 15 | } 16 | 17 | pixel { 18 | in { vec2 v_uv; } 19 | 20 | source %{ 21 | vec3 v = vec3(v_uv, 1.0); 22 | v = _mtx_mul(vNormalMatrix, normalize(v)); 23 | 24 | %out.color% = mix(textureCube(u_layer0, v), textureCube(u_layer1, v), u_time); 25 | %} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/default.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | } 3 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse.isl: -------------------------------------------------------------------------------- 1 | in { 2 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 3 | } 4 | 5 | variant { 6 | pixel { 7 | source %{ 8 | %diffuse% = diffuse_color.xyz; 9 | %} 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | } 4 | 5 | variant { 6 | vertex { 7 | out { 8 | vec2 v_uv; 9 | } 10 | 11 | source %{ 12 | v_uv = vUV0; 13 | %} 14 | } 15 | 16 | pixel { 17 | source %{ 18 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 19 | 20 | %diffuse% = diffuse_color.xyz; 21 | %} 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_map_alpha.isl: -------------------------------------------------------------------------------- 1 | surface { 2 | blend: alpha 3 | } 4 | 5 | in { 6 | tex2D diffuse_map; 7 | } 8 | 9 | variant { 10 | vertex { 11 | out { 12 | vec2 v_uv; 13 | } 14 | 15 | source %{ 16 | v_uv = vUV0; 17 | %} 18 | } 19 | 20 | pixel { 21 | source %{ 22 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 23 | 24 | %diffuse% = diffuse_color.xyz; 25 | %opacity% = diffuse_color.w; 26 | %} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_map_normal_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D normal_map; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { 9 | vec2 v_uv; 10 | vec3 v_normal; 11 | vec3 v_tangent; 12 | vec3 v_bitangent; 13 | } 14 | 15 | source %{ 16 | v_uv = vUV0; 17 | v_normal = vNormal; 18 | v_tangent = vTangent; 19 | v_bitangent = vBitangent; 20 | %} 21 | } 22 | 23 | pixel { 24 | source %{ 25 | vec3 n = texture2D(normal_map, v_uv).xyz; 26 | 27 | mat3 tangent_matrix = _build_mat3(normalize(v_bitangent), normalize(v_tangent), normalize(v_normal)); 28 | n = n * 2.0 - 1.0; 29 | n = tangent_matrix * n; 30 | n = vNormalViewMatrix * n; 31 | 32 | %diffuse% = texture2D(diffuse_map, v_uv).xyz; 33 | %normal% = n; 34 | %} 35 | } 36 | } -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_map_self_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D self_map; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { 9 | vec2 v_uv; 10 | } 11 | 12 | source %{ 13 | v_uv = vUV0; 14 | %} 15 | } 16 | 17 | pixel { 18 | source %{ 19 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 20 | vec4 self_color = texture2D(self_map, v_uv); 21 | 22 | %diffuse% = diffuse_color.xyz; 23 | %constant% = self_color.xyz; 24 | %} 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_map_specular_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D specular_map; 4 | float glossiness = 0.5; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { 10 | vec2 v_uv; 11 | } 12 | 13 | source %{ 14 | v_uv = vUV0; 15 | %} 16 | } 17 | 18 | pixel { 19 | source %{ 20 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 21 | vec4 specular_color = texture2D(specular_map, v_uv); 22 | 23 | %diffuse% = diffuse_color.xyz; 24 | %specular% = specular_color.xyz; 25 | %glossiness% = glossiness; 26 | %} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_map_specular_map_self_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D specular_map; 4 | tex2D self_map; 5 | float glossiness = 0.5; 6 | } 7 | 8 | variant { 9 | vertex { 10 | out { 11 | vec2 v_uv; 12 | } 13 | 14 | source %{ 15 | v_uv = vUV0; 16 | %} 17 | } 18 | 19 | pixel { 20 | source %{ 21 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 22 | vec4 specular_color = texture2D(specular_map, v_uv); 23 | vec4 self_color = texture2D(self_map, v_uv); 24 | 25 | %diffuse% = diffuse_color.xyz; 26 | %specular% = specular_color.xyz; 27 | %constant% = self_color.xyz; 28 | %glossiness% = glossiness; 29 | %} 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/diffuse_specular.isl: -------------------------------------------------------------------------------- 1 | in { 2 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 3 | vec4 specular_color = vec4(0.5,0.5,0.5,1.0) [hint:color]; 4 | float glossiness = 0.5; 5 | } 6 | 7 | variant { 8 | pixel { 9 | source %{ 10 | %diffuse% = diffuse_color.xyz; 11 | %specular% = specular_color.xyz; 12 | %glossiness% = glossiness; 13 | %} 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/reflection_map_cubic.isl: -------------------------------------------------------------------------------- 1 | in { 2 | texCube cube_map; 3 | } 4 | 5 | variant { 6 | vertex { 7 | out { 8 | vec3 p; 9 | vec3 n; 10 | } 11 | 12 | source %{ 13 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 14 | 15 | p = (vModelMatrix * vec4(vPosition, 1.0)).xyz; 16 | n = normalize(vNormalMatrix * vNormal); 17 | %} 18 | } 19 | 20 | pixel { 21 | source %{ 22 | vec3 e = p - vViewPosition.xyz; 23 | vec3 r = normalize(reflect(e, normalize(n))); 24 | 25 | vec4 cube_color = textureCube(cube_map, r); 26 | %diffuse% = cube_color.xyz; 27 | %} 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/skinned_diffuse.isl: -------------------------------------------------------------------------------- 1 | surface { skinned: 1 } 2 | 3 | in { 4 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 5 | } 6 | 7 | variant { 8 | pixel { 9 | source %{ 10 | %diffuse% = diffuse_color.xyz; 11 | %} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/surfaces/skinned_diffuse_map.isl: -------------------------------------------------------------------------------- 1 | surface { skinned: 1 } 2 | 3 | in { 4 | tex2D diffuse_map; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { 10 | vec2 v_uv; 11 | } 12 | 13 | source %{ 14 | v_uv = vUV0; 15 | %} 16 | } 17 | 18 | pixel { 19 | source %{ 20 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 21 | 22 | %diffuse% = diffuse_color.xyz; 23 | %} 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/textures/dither.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/2d_physics_simulation/pkg.core/textures/dither.tga -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/textures/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/2d_physics_simulation/pkg.core/textures/error.png -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/textures/noise.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/2d_physics_simulation/pkg.core/textures/noise.tga -------------------------------------------------------------------------------- /2d_physics_simulation/pkg.core/version.txt: -------------------------------------------------------------------------------- 1 | 1.0.0 -------------------------------------------------------------------------------- /2d_physics_simulation/python/simulation_cubes.bat: -------------------------------------------------------------------------------- 1 | simulation_cubes.py 2 | pause -------------------------------------------------------------------------------- /2d_physics_simulation/python/utils.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | def RangeAdjust(val, in_lower, in_upper, out_lower, out_upper): 4 | return (val - in_lower) / (in_upper - in_lower) * (out_upper - out_lower) + out_lower 5 | 6 | def Clamp(x, in_lower, in_upper): 7 | return min((max(x, in_lower)), in_upper) 8 | 9 | def mapValueToArray(val, in_lower, in_upper, mapping_array): 10 | val = RangeAdjust(val, in_lower, in_upper, 0.0, 1.0) 11 | val = Clamp(val, 0.0, 1.0) 12 | array_pos = val * (len(mapping_array) - 1) 13 | ceil_pos = math.ceil(array_pos) 14 | floor_pos = math.floor(array_pos) 15 | return mapping_array[floor_pos] * float(ceil_pos - array_pos) + mapping_array[ceil_pos] * (1.0 - (float(ceil_pos - array_pos))) -------------------------------------------------------------------------------- /2d_starfield/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /2d_starfield/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /2d_starfield/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /2d_starfield/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/2d_starfield/src/out/rom.bin -------------------------------------------------------------------------------- /3d_logo_rse/python/3d/meshes/logo_e.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 02.01.2016 11:08:21 3 | 4 | newmtl logo_letter 5 | Ns 10.000000000000 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.587999999523 0.587999999523 0.587999999523 12 | Kd 0.587999999523 0.587999999523 0.587999999523 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /3d_logo_rse/python/3d/meshes/logo_r.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 02.01.2016 11:03:39 3 | 4 | newmtl logo_letter 5 | Ns 9.999999046326 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.588235318661 0.588235318661 0.588235318661 12 | Kd 0.588235318661 0.588235318661 0.588235318661 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /3d_logo_rse/python/3d/meshes/logo_s.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 02.01.2016 18:31:51 3 | 4 | newmtl logo_letter 5 | Ns 10.000000000000 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.587999999523 0.587999999523 0.587999999523 12 | Kd 0.587999999523 0.587999999523 0.587999999523 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /3d_logo_rse/python/3d/obj_to_c_wireframe.bat: -------------------------------------------------------------------------------- 1 | obj_to_c_wireframe.py 2 | pause -------------------------------------------------------------------------------- /3d_logo_rse/python/3d/util.py: -------------------------------------------------------------------------------- 1 | from math import pi 2 | 3 | def format_number(n, accuracy=6): 4 | """Formats a number in a friendly manner (removes trailing zeros and unneccesary point.""" 5 | 6 | fs = "%."+str(accuracy)+"f" 7 | str_n = fs%float(n) 8 | if '.' in str_n: 9 | str_n = str_n.rstrip('0').rstrip('.') 10 | if str_n == "-0": 11 | str_n = "0" 12 | #str_n = str_n.replace("-0", "0") 13 | return str_n 14 | 15 | 16 | def lerp(a, b, i): 17 | """Linear enterpolate from a to b.""" 18 | return a+(b-a)*i -------------------------------------------------------------------------------- /3d_logo_rse/python/build_easing_table.bat: -------------------------------------------------------------------------------- 1 | build_easing_table.py 2 | pause -------------------------------------------------------------------------------- /3d_logo_rse/src/RSE_Logo3DScreen.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define RSE_LOGO_3D_MAX_POINTS 256 4 | 5 | #define RSE_COPY_VECTOR2D(D, S) D.x = S.x; D.y = S.y 6 | 7 | #define RSE_LOGO_3D_LOAD_MESH(mesh_name) \ 8 | mesh_coord = mesh_name ## _coord; \ 9 | mesh_poly_ind = mesh_name ## _poly_ind; \ 10 | mesh_line_ind = mesh_name ## _line_ind; \ 11 | mesh_face_norm = mesh_name ## _face_norm; \ 12 | vtx_count = mesh_name ## _VTX_COUNT; \ 13 | poly_count = mesh_name ## _FACE_COUNT; -------------------------------------------------------------------------------- /3d_logo_rse/src/RSE_easing_table.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define EASING_TABLE_LEN 512 4 | 5 | extern const unsigned short easing_fp[EASING_TABLE_LEN]; 6 | extern const fix16 easing_fix16[EASING_TABLE_LEN]; 7 | -------------------------------------------------------------------------------- /3d_logo_rse/src/RSE_logo_meshs.h: -------------------------------------------------------------------------------- 1 | #define logo_e_VTX_COUNT 78 2 | #define logo_e_FACE_COUNT 19 3 | const Vect3D_f16 logo_e_coord[78]; 4 | const short logo_e_poly_ind[76]; 5 | const u16 logo_e_line_ind[64]; 6 | const Vect3D_f16 logo_e_face_norm[19]; 7 | 8 | #define logo_r_VTX_COUNT 72 9 | #define logo_r_FACE_COUNT 19 10 | const Vect3D_f16 logo_r_coord[72]; 11 | const short logo_r_poly_ind[76]; 12 | const u16 logo_r_line_ind[54]; 13 | const Vect3D_f16 logo_r_face_norm[19]; 14 | 15 | #define logo_s_VTX_COUNT 72 16 | #define logo_s_FACE_COUNT 22 17 | const Vect3D_f16 logo_s_coord[72]; 18 | const short logo_s_poly_ind[88]; 19 | const u16 logo_s_line_ind[60]; 20 | const Vect3D_f16 logo_s_face_norm[22]; 21 | 22 | -------------------------------------------------------------------------------- /3d_logo_rse/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /3d_logo_rse/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /3d_logo_rse/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /3d_logo_rse/src/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /3d_logo_rse/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image logo_rse_3d; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /3d_logo_rse/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE logo_rse_3d "logo_rse_3d.png" 0 -------------------------------------------------------------------------------- /3d_logo_rse/src/res/logo_boot.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/src/res/logo_boot.vgm -------------------------------------------------------------------------------- /3d_logo_rse/src/res/logo_rse_3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/src/res/logo_rse_3d.png -------------------------------------------------------------------------------- /3d_logo_rse/src/res/music.h: -------------------------------------------------------------------------------- 1 | #ifndef _MUSIC_H_ 2 | #define _MUSIC_H_ 3 | 4 | extern const u8 logo_boot_music[40827]; 5 | 6 | #endif // _MUSIC_H_ 7 | -------------------------------------------------------------------------------- /3d_logo_rse/src/res/music.res: -------------------------------------------------------------------------------- 1 | VGM logo_boot_music "logo_boot.vgm" 2 | -------------------------------------------------------------------------------- /3d_logo_rse/work/music/logo_boot.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/music/logo_boot.vge -------------------------------------------------------------------------------- /3d_logo_rse/work/music/logo_boot001.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/music/logo_boot001.vge -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo/logo_e.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo/logo_e.max -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo/logo_r.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo/logo_r.max -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo/logo_s.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo/logo_s.max -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_rse_3d-neo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_rse_3d-neo.png -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_rse_3d-original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_rse_3d-original.png -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_rse_3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_rse_3d.png -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_rse_3d_template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_rse_3d_template.png -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_rse_3d_template.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_rse_3d_template.psd -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_x1.png -------------------------------------------------------------------------------- /3d_logo_rse/work/rse_logo_2d/logo_x4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_logo_rse/work/rse_logo_2d/logo_x4.png -------------------------------------------------------------------------------- /3d_meshes/python/3d/build_cosine_tables.bat: -------------------------------------------------------------------------------- 1 | build_cosine_tables.py 2 | pause -------------------------------------------------------------------------------- /3d_meshes/python/3d/obj_to_c_wireframe.bat: -------------------------------------------------------------------------------- 1 | obj_to_c_wireframe.py 2 | pause -------------------------------------------------------------------------------- /3d_meshes/python/3d/util.py: -------------------------------------------------------------------------------- 1 | from math import pi 2 | 3 | def format_number(n, accuracy=6): 4 | """Formats a number in a friendly manner (removes trailing zeros and unneccesary point.""" 5 | 6 | fs = "%."+str(accuracy)+"f" 7 | str_n = fs%float(n) 8 | if '.' in str_n: 9 | str_n = str_n.rstrip('0').rstrip('.') 10 | if str_n == "-0": 11 | str_n = "0" 12 | #str_n = str_n.replace("-0", "0") 13 | return str_n 14 | 15 | 16 | def lerp(a, b, i): 17 | """Linear enterpolate from a to b.""" 18 | return a+(b-a)*i -------------------------------------------------------------------------------- /3d_meshes/src/RSE_3DFlatShadedScreen.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define MAX_POINTS 256 4 | 5 | #define PART_3D_LOAD_MESH(mesh_name) \ 6 | mesh_coord = mesh_name ## _coord; \ 7 | mesh_poly_ind = mesh_name ## _poly_ind; \ 8 | mesh_line_ind = mesh_name ## _line_ind; \ 9 | mesh_face_norm = mesh_name ## _face_norm; \ 10 | vtx_count = mesh_name ## _VTX_COUNT; \ 11 | poly_count = mesh_name ## _FACE_COUNT; -------------------------------------------------------------------------------- /3d_meshes/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /3d_meshes/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /3d_meshes/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_meshes/src/out/rom.bin -------------------------------------------------------------------------------- /3d_meshes/src/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/fonts/default.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_physics_simulation/pkg.core/fonts/default.ttf -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/lua/math_common.lua: -------------------------------------------------------------------------------- 1 | function Lerp(k, a, b) 2 | return (b - a) * k + a 3 | end 4 | 5 | function RangeAdjust(k, a, b, u, v) 6 | return (k - a) / (b - a) * (v - u) + u 7 | end 8 | 9 | function Clamp(v, mn, mx) 10 | if (v < mn) then return mn end 11 | if (v > mx) then return mx end 12 | return v 13 | end 14 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/materials/default.mat: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/sha1.txt: -------------------------------------------------------------------------------- 1 | 043b5bf4ba63ccfe91e43f5040587291cbe3735b -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/ambient.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = vec4(vPosition, 1.0); 5 | %} 6 | } 7 | 8 | pixel { 9 | source %{ 10 | vec2 UV = %in.fragcoord%.xy * vInverseInternalResolution.xy; 11 | vec4 diff_alpha = texture2D(vGBuffer1, UV); 12 | vec4 const_unkn = texture2D(vGBuffer3, UV); 13 | %out.color% = vec4(diff_alpha.rgb * vAmbientColor + const_unkn.xyz, 1.0); 14 | %} 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/ds_fog.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = vec4(vPosition, 1.0); 5 | %} 6 | } 7 | 8 | pixel { 9 | global %{ 10 | #include "@core/shaders/common.i" 11 | %} 12 | 13 | source %{ 14 | vec2 UV = %in.fragcoord%.xy * vInverseInternalResolution.xy; 15 | vec4 norm_dpth = UnpackNormalDepth(UV); 16 | %out.color% = vec4(vFogColor.rgb, clamp((norm_dpth.w - vFogState.x) * vFogState.z, 0.0, 1.0)); 17 | %} 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/error.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D u_tex = "@core/textures/error.png"; 3 | } 4 | 5 | variant { 6 | pixel { 7 | source %{ 8 | float k = texture2D(u_tex, %in.fragcoord%.xy * vInverseInternalResolution.xy / vInverseInternalResolution.zw * 6.0).a; 9 | %constant% = vec4(k * 0.25, 0, 0, 1.0); 10 | %} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/simple.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 5 | %} 6 | } 7 | 8 | pixel { 9 | source %{ 10 | %out.color% = vec4(1.0, 1.0, 1.0, 1.0); 11 | %} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/single_color.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | out { vec4 v_color; } 4 | 5 | source %{ 6 | v_color = vColor0; 7 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 8 | %} 9 | } 10 | 11 | pixel { 12 | in { vec4 v_color; } 13 | 14 | source %{ 15 | %out.color% = v_color; 16 | %} 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/single_texture.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/single_texture_2d.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = vec4(vPosition, 1.0); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/single_texture_color.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { 6 | vec4 v_color; 7 | vec2 v_uv; 8 | } 9 | 10 | source %{ 11 | v_color = vColor0; 12 | v_uv = vUV0; 13 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 14 | %} 15 | } 16 | 17 | pixel { 18 | in { 19 | vec4 v_color; 20 | vec2 v_uv; 21 | } 22 | 23 | source %{ 24 | %out.color% = texture2D(u_tex, v_uv) * v_color; 25 | %} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/single_texture_cutoff.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D u_tex; 3 | float u_cutoff; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { vec2 v_uv; } 9 | 10 | source %{ 11 | v_uv = vUV0; 12 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 13 | %} 14 | } 15 | 16 | pixel { 17 | in { vec2 v_uv; } 18 | 19 | source %{ 20 | vec4 ref = texture2D(u_tex, v_uv); 21 | %out.color% = vec4(max(ref.rgb - u_cutoff, 0.0), ref.a); 22 | %} 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/single_texture_fx.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv * vFxScale); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/shaders/skybox.isl: -------------------------------------------------------------------------------- 1 | in { 2 | float u_time = 0.5; 3 | texCube u_layer0; 4 | texCube u_layer1; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { vec2 v_uv; } 10 | 11 | source %{ 12 | v_uv = (vPosition.xy * vec2(0.4, 0.4)) / vInverseViewportSize.zw; 13 | %out.position% = vec4(vPosition, 1.0); 14 | %} 15 | } 16 | 17 | pixel { 18 | in { vec2 v_uv; } 19 | 20 | source %{ 21 | vec3 v = vec3(v_uv, 1.0); 22 | v = _mtx_mul(vNormalMatrix, normalize(v)); 23 | 24 | %out.color% = mix(textureCube(u_layer0, v), textureCube(u_layer1, v), u_time); 25 | %} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/default.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | } 3 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse.isl: -------------------------------------------------------------------------------- 1 | in { 2 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 3 | } 4 | 5 | variant { 6 | pixel { 7 | source %{ 8 | %diffuse% = diffuse_color.xyz; 9 | %} 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | } 4 | 5 | variant { 6 | vertex { 7 | out { 8 | vec2 v_uv; 9 | } 10 | 11 | source %{ 12 | v_uv = vUV0; 13 | %} 14 | } 15 | 16 | pixel { 17 | source %{ 18 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 19 | 20 | %diffuse% = diffuse_color.xyz; 21 | %} 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse_map_alpha.isl: -------------------------------------------------------------------------------- 1 | surface { 2 | blend: alpha 3 | } 4 | 5 | in { 6 | tex2D diffuse_map; 7 | } 8 | 9 | variant { 10 | vertex { 11 | out { 12 | vec2 v_uv; 13 | } 14 | 15 | source %{ 16 | v_uv = vUV0; 17 | %} 18 | } 19 | 20 | pixel { 21 | source %{ 22 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 23 | 24 | %diffuse% = diffuse_color.xyz; 25 | %opacity% = diffuse_color.w; 26 | %} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse_map_self_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D self_map; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { 9 | vec2 v_uv; 10 | } 11 | 12 | source %{ 13 | v_uv = vUV0; 14 | %} 15 | } 16 | 17 | pixel { 18 | source %{ 19 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 20 | vec4 self_color = texture2D(self_map, v_uv); 21 | 22 | %diffuse% = diffuse_color.xyz; 23 | %constant% = self_color.xyz; 24 | %} 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse_map_specular_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D specular_map; 4 | float glossiness = 0.5; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { 10 | vec2 v_uv; 11 | } 12 | 13 | source %{ 14 | v_uv = vUV0; 15 | %} 16 | } 17 | 18 | pixel { 19 | source %{ 20 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 21 | vec4 specular_color = texture2D(specular_map, v_uv); 22 | 23 | %diffuse% = diffuse_color.xyz; 24 | %specular% = specular_color.xyz; 25 | %glossiness% = glossiness; 26 | %} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse_map_specular_map_self_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D specular_map; 4 | tex2D self_map; 5 | float glossiness = 0.5; 6 | } 7 | 8 | variant { 9 | vertex { 10 | out { 11 | vec2 v_uv; 12 | } 13 | 14 | source %{ 15 | v_uv = vUV0; 16 | %} 17 | } 18 | 19 | pixel { 20 | source %{ 21 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 22 | vec4 specular_color = texture2D(specular_map, v_uv); 23 | vec4 self_color = texture2D(self_map, v_uv); 24 | 25 | %diffuse% = diffuse_color.xyz; 26 | %specular% = specular_color.xyz; 27 | %constant% = self_color.xyz; 28 | %glossiness% = glossiness; 29 | %} 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/diffuse_specular.isl: -------------------------------------------------------------------------------- 1 | in { 2 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 3 | vec4 specular_color = vec4(0.5,0.5,0.5,1.0) [hint:color]; 4 | float glossiness = 0.5; 5 | } 6 | 7 | variant { 8 | pixel { 9 | source %{ 10 | %diffuse% = diffuse_color.xyz; 11 | %specular% = specular_color.xyz; 12 | %glossiness% = glossiness; 13 | %} 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/reflection_map_cubic.isl: -------------------------------------------------------------------------------- 1 | in { 2 | texCube cube_map; 3 | } 4 | 5 | variant { 6 | vertex { 7 | out { 8 | vec3 p; 9 | vec3 n; 10 | } 11 | 12 | source %{ 13 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 14 | 15 | p = (vModelMatrix * vec4(vPosition, 1.0)).xyz; 16 | n = normalize(vNormalMatrix * vNormal); 17 | %} 18 | } 19 | 20 | pixel { 21 | source %{ 22 | vec3 e = p - vViewPosition.xyz; 23 | vec3 r = normalize(reflect(e, normalize(n))); 24 | 25 | vec4 cube_color = textureCube(cube_map, r); 26 | %diffuse% = cube_color.xyz; 27 | %} 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/skinned_diffuse.isl: -------------------------------------------------------------------------------- 1 | surface { skinned: 1 } 2 | 3 | in { 4 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 5 | } 6 | 7 | variant { 8 | pixel { 9 | source %{ 10 | %diffuse% = diffuse_color.xyz; 11 | %} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/surfaces/skinned_diffuse_map.isl: -------------------------------------------------------------------------------- 1 | surface { skinned: 1 } 2 | 3 | in { 4 | tex2D diffuse_map; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { 10 | vec2 v_uv; 11 | } 12 | 13 | source %{ 14 | v_uv = vUV0; 15 | %} 16 | } 17 | 18 | pixel { 19 | source %{ 20 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 21 | 22 | %diffuse% = diffuse_color.xyz; 23 | %} 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/textures/dither.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_physics_simulation/pkg.core/textures/dither.tga -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/textures/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_physics_simulation/pkg.core/textures/error.png -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/textures/noise.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_physics_simulation/pkg.core/textures/noise.tga -------------------------------------------------------------------------------- /3d_physics_simulation/pkg.core/version.txt: -------------------------------------------------------------------------------- 1 | 1.0.0 -------------------------------------------------------------------------------- /3d_physics_simulation/python/simulation_cubes.bat: -------------------------------------------------------------------------------- 1 | simulation_cubes.py 2 | pause -------------------------------------------------------------------------------- /3d_starfield/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /3d_starfield/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /3d_starfield/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_starfield_using_sprites/src/out/rom.bin -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const SpriteDefinition sprite_stars; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | SPRITE sprite_stars "sprite_stars.png" 1 1 -1 -------------------------------------------------------------------------------- /3d_starfield_using_sprites/src/res/sprite_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/3d_starfield_using_sprites/src/res/sprite_stars.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # megadrive-experiments 2 | C experiments for the Megadrive/Genesis game system by Sega. Might contains some Python & other language. 3 | -------------------------------------------------------------------------------- /asm/src/ASMtest.h: -------------------------------------------------------------------------------- 1 | void extern setVDPPalette(); -------------------------------------------------------------------------------- /asm/src/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "ASMtest.h" 3 | /* 4 | Mixing C\ASM test 5 | nothing to show yet, but the SGDK Makefile compiling and link well the S file 6 | 7 | My first test is deal with VDP directly in ASM 8 | 9 | SGDK provide the GFX_* macros for low level job with VDP 10 | 11 | 12 | */ 13 | int main(){ 14 | VDP_setPaletteColors(0, (u16*)palette_black, 64); 15 | setVDPPalette(); //Call the ASM routine 16 | while (1){ 17 | VDP_waitVSync(); 18 | } 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /axelay_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /axelay_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /axelay_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /axelay_fx/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/axelay_fx/src/out/rom.bin -------------------------------------------------------------------------------- /axelay_fx/src/res/clouds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/axelay_fx/src/res/clouds.png -------------------------------------------------------------------------------- /axelay_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image sea; 5 | extern const Image clouds; 6 | 7 | #endif // _GFX_H_ 8 | -------------------------------------------------------------------------------- /axelay_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE sea "sea.png" 0 2 | IMAGE clouds "clouds.png" 0 -------------------------------------------------------------------------------- /axelay_fx/src/res/sea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/axelay_fx/src/res/sea.png -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/cosine_table.h: -------------------------------------------------------------------------------- 1 | #define COSINE_TABLE_LEN 512 2 | 3 | extern const int tcos[COSINE_TABLE_LEN]; 4 | extern const int tsin[COSINE_TABLE_LEN]; 5 | -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/bitmap_stretch_fx/src/out/rom.bin -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image wood_plank; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE wood_plank "wood_plank.png" -1 -------------------------------------------------------------------------------- /bitmap_stretch_fx/src/res/wood_plank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/bitmap_stretch_fx/src/res/wood_plank.png -------------------------------------------------------------------------------- /boing_ball_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /boing_ball_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /boing_ball_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /boing_ball_fx/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/boing_ball_fx/src/out/rom.bin -------------------------------------------------------------------------------- /boing_ball_fx/src/res/boing_impact-8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/boing_ball_fx/src/res/boing_impact-8.wav -------------------------------------------------------------------------------- /boing_ball_fx/src/res/boingball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/boing_ball_fx/src/res/boingball.png -------------------------------------------------------------------------------- /boing_ball_fx/src/res/checkback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/boing_ball_fx/src/res/checkback.png -------------------------------------------------------------------------------- /boing_ball_fx/src/res/checkboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/boing_ball_fx/src/res/checkboard.png -------------------------------------------------------------------------------- /boing_ball_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image checkboard; 5 | extern const Image checkback; 6 | extern const SpriteDefinition boingball_sprite; 7 | 8 | #endif // _GFX_H_ 9 | -------------------------------------------------------------------------------- /boing_ball_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE checkboard "checkboard.png" 0 2 | IMAGE checkback "checkback.png" 0 3 | SPRITE boingball_sprite "boingball.png" 16 16 0 -------------------------------------------------------------------------------- /boing_ball_fx/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RESOURCES_H_ 2 | #define _RESOURCES_H_ 3 | 4 | extern const u8 boing_impact[19456]; 5 | 6 | #endif // _RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /boing_ball_fx/src/res/resources.res: -------------------------------------------------------------------------------- 1 | WAV boing_impact "boing_impact-8.wav" 0 8000 -------------------------------------------------------------------------------- /cosmos-2016/work/cosmonaut/cosmonaut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/cosmos-2016/work/cosmonaut/cosmonaut.png -------------------------------------------------------------------------------- /cosmos-2016/work/cosmonaut/cosmonaut.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/cosmos-2016/work/cosmonaut/cosmonaut.psd -------------------------------------------------------------------------------- /demo-Rog-MD-port/README.md: -------------------------------------------------------------------------------- 1 | Rog-MD-port 2 | =========== 3 | 4 | Megadrive port project of the demoscene intro 'Rog' by Funkentstört 5 | -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/demo-Rog-MD-port/src/out/rom.bin -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/res/cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/demo-Rog-MD-port/src/res/cat.png -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/res/fish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/demo-Rog-MD-port/src/res/fish.png -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image cat; 5 | extern const Image fish; 6 | 7 | #endif // _GFX_H_ 8 | -------------------------------------------------------------------------------- /demo-Rog-MD-port/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE cat "cat.png" -1 2 | IMAGE fish "fish.png" 0 -------------------------------------------------------------------------------- /dot_matrix_fx/python/genetiles/generate_tiles.bat: -------------------------------------------------------------------------------- 1 | generate_tiles.py 2 | pause -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/convert_sequence.bat: -------------------------------------------------------------------------------- 1 | convert_sequence.py 2 | pause -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0000.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0001.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0002.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0003.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0004.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0005.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0006.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0007.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0008.png -------------------------------------------------------------------------------- /dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/python/imgseq2c/tore_tunnel/frame_0009.png -------------------------------------------------------------------------------- /dot_matrix_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /dot_matrix_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /dot_matrix_fx/src/img_seq.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define TILE_BITS 4 5 | #define TILE_STEPS 16 6 | 7 | /* tore_tunnel */ 8 | #define tore_tunnel_IMG_COUNT 16 9 | #define tore_tunnel_IMG_LEN 300 10 | 11 | const u16 tore_tunnel_seq[4800]; 12 | 13 | /* star_tunnel */ 14 | #define star_tunnel_IMG_COUNT 16 15 | #define star_tunnel_IMG_LEN 300 16 | 17 | const u16 star_tunnel_seq[4800]; 18 | 19 | -------------------------------------------------------------------------------- /dot_matrix_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /dot_matrix_fx/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/src/out/rom.bin -------------------------------------------------------------------------------- /dot_matrix_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image pat_round; 5 | extern const Image rse_logo; 6 | extern const SpriteDefinition rse_logo_shadow; 7 | extern const SpriteDefinition rse_logo_shadow_alt; 8 | 9 | #endif // _GFX_H_ 10 | -------------------------------------------------------------------------------- /dot_matrix_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE pat_round "pat_round.png" 0 2 | IMAGE rse_logo "rse_logo.png" 0 3 | SPRITE rse_logo_shadow "rse_logo_shadow.png" 20 5 -1 4 | SPRITE rse_logo_shadow_alt "rse_logo_shadow_alt.png" 20 5 -1 5 | -------------------------------------------------------------------------------- /dot_matrix_fx/src/res/pat_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/src/res/pat_round.png -------------------------------------------------------------------------------- /dot_matrix_fx/work/star_tunnel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/dot_matrix_fx/work/star_tunnel.gif -------------------------------------------------------------------------------- /exxos-demo/python/.idea/.name: -------------------------------------------------------------------------------- 1 | python -------------------------------------------------------------------------------- /exxos-demo/python/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /exxos-demo/python/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /exxos-demo/python/.idea/python.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /exxos-demo/python/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /exxos-demo/python/assets/landscape_mountains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/landscape_mountains.png -------------------------------------------------------------------------------- /exxos-demo/python/assets/landscape_stones.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/landscape_stones.png -------------------------------------------------------------------------------- /exxos-demo/python/assets/logo_exxos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/logo_exxos.png -------------------------------------------------------------------------------- /exxos-demo/python/assets/space_moon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/space_moon.png -------------------------------------------------------------------------------- /exxos-demo/python/assets/space_planet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/space_planet.png -------------------------------------------------------------------------------- /exxos-demo/python/assets/space_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/space_star.png -------------------------------------------------------------------------------- /exxos-demo/python/assets/xo2s.xm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/assets/xo2s.xm -------------------------------------------------------------------------------- /exxos-demo/python/imgui.ini: -------------------------------------------------------------------------------- 1 | [Debug] 2 | Pos=60,60 3 | Size=400,400 4 | Collapsed=0 5 | 6 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/fonts/default.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/pkg.core/fonts/default.ttf -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/lua/math_common.lua: -------------------------------------------------------------------------------- 1 | function Lerp(k, a, b) 2 | return (b - a) * k + a 3 | end 4 | 5 | function RangeAdjust(k, a, b, u, v) 6 | return (k - a) / (b - a) * (v - u) + u 7 | end 8 | 9 | function Clamp(v, mn, mx) 10 | if (v < mn) then return mn end 11 | if (v > mx) then return mx end 12 | return v 13 | end 14 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/materials/default.mat: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/sha1.txt: -------------------------------------------------------------------------------- 1 | 9f3b9e7d9d276f65123e85b3429ee76f5de3a70e -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/ambient.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = vec4(vPosition, 1.0); 5 | %} 6 | } 7 | 8 | pixel { 9 | source %{ 10 | vec2 UV = %in.fragcoord%.xy * vInverseInternalResolution.xy; 11 | vec4 diff_alpha = texture2D(vGBuffer1, UV); 12 | vec4 const_unkn = texture2D(vGBuffer3, UV); 13 | %out.color% = vec4(diff_alpha.rgb * vAmbientColor + const_unkn.xyz, 1.0); 14 | %} 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/ds_fog.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = vec4(vPosition, 1.0); 5 | %} 6 | } 7 | 8 | pixel { 9 | global %{ 10 | #include "@core/shaders/common.i" 11 | %} 12 | 13 | source %{ 14 | vec2 UV = %in.fragcoord%.xy * vInverseInternalResolution.xy; 15 | vec4 norm_dpth = UnpackNormalDepth(UV); 16 | %out.color% = vec4(vFogColor.rgb, clamp((norm_dpth.w - vFogState.x) * vFogState.z, 0.0, 1.0)); 17 | %} 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/error.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D u_tex = "@core/textures/error.png"; 3 | } 4 | 5 | variant { 6 | pixel { 7 | source %{ 8 | float k = texture2D(u_tex, %in.fragcoord%.xy * vInverseInternalResolution.xy / vInverseInternalResolution.zw * 6.0).a; 9 | %constant% = vec4(k * 0.25, 0, 0, 1.0); 10 | %} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/simple.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | source %{ 4 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 5 | %} 6 | } 7 | 8 | pixel { 9 | source %{ 10 | %out.color% = vec4(1.0, 1.0, 1.0, 1.0); 11 | %} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/single_color.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | vertex { 3 | out { vec4 v_color; } 4 | 5 | source %{ 6 | v_color = vColor0; 7 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 8 | %} 9 | } 10 | 11 | pixel { 12 | in { vec4 v_color; } 13 | 14 | source %{ 15 | %out.color% = v_color; 16 | %} 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/single_texture.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/single_texture_2d.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = vec4(vPosition, 1.0); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/single_texture_color.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { 6 | vec4 v_color; 7 | vec2 v_uv; 8 | } 9 | 10 | source %{ 11 | v_color = vColor0; 12 | v_uv = vUV0; 13 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 14 | %} 15 | } 16 | 17 | pixel { 18 | in { 19 | vec4 v_color; 20 | vec2 v_uv; 21 | } 22 | 23 | source %{ 24 | %out.color% = texture2D(u_tex, v_uv) * v_color; 25 | %} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/single_texture_cutoff.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D u_tex; 3 | float u_cutoff; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { vec2 v_uv; } 9 | 10 | source %{ 11 | v_uv = vUV0; 12 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 13 | %} 14 | } 15 | 16 | pixel { 17 | in { vec2 v_uv; } 18 | 19 | source %{ 20 | vec4 ref = texture2D(u_tex, v_uv); 21 | %out.color% = vec4(max(ref.rgb - u_cutoff, 0.0), ref.a); 22 | %} 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/single_texture_fx.isl: -------------------------------------------------------------------------------- 1 | in { tex2D u_tex; } 2 | 3 | variant { 4 | vertex { 5 | out { vec2 v_uv; } 6 | 7 | source %{ 8 | v_uv = vUV0; 9 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 10 | %} 11 | } 12 | 13 | pixel { 14 | in { vec2 v_uv; } 15 | 16 | source %{ 17 | %out.color% = texture2D(u_tex, v_uv * vFxScale); 18 | %} 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/shaders/skybox.isl: -------------------------------------------------------------------------------- 1 | in { 2 | float u_time = 0.5; 3 | texCube u_layer0; 4 | texCube u_layer1; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { vec2 v_uv; } 10 | 11 | source %{ 12 | v_uv = (vPosition.xy * vec2(0.4, 0.4)) / vInverseViewportSize.zw; 13 | %out.position% = vec4(vPosition, 1.0); 14 | %} 15 | } 16 | 17 | pixel { 18 | in { vec2 v_uv; } 19 | 20 | source %{ 21 | vec3 v = vec3(v_uv, 1.0); 22 | v = _mtx_mul(vNormalMatrix, normalize(v)); 23 | 24 | %out.color% = mix(textureCube(u_layer0, v), textureCube(u_layer1, v), u_time); 25 | %} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/default.isl: -------------------------------------------------------------------------------- 1 | variant { 2 | } 3 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse.isl: -------------------------------------------------------------------------------- 1 | in { 2 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 3 | } 4 | 5 | variant { 6 | pixel { 7 | source %{ 8 | %diffuse% = diffuse_color.xyz; 9 | %} 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | } 4 | 5 | variant { 6 | vertex { 7 | out { 8 | vec2 v_uv; 9 | } 10 | 11 | source %{ 12 | v_uv = vUV0; 13 | %} 14 | } 15 | 16 | pixel { 17 | source %{ 18 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 19 | 20 | %diffuse% = diffuse_color.xyz; 21 | %} 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_map_alpha.isl: -------------------------------------------------------------------------------- 1 | surface { 2 | blend: alpha 3 | } 4 | 5 | in { 6 | tex2D diffuse_map; 7 | } 8 | 9 | variant { 10 | vertex { 11 | out { 12 | vec2 v_uv; 13 | } 14 | 15 | source %{ 16 | v_uv = vUV0; 17 | %} 18 | } 19 | 20 | pixel { 21 | source %{ 22 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 23 | 24 | %diffuse% = diffuse_color.xyz; 25 | %opacity% = diffuse_color.w; 26 | %} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_map_normal_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D normal_map; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { 9 | vec2 v_uv; 10 | vec3 v_normal; 11 | vec3 v_tangent; 12 | vec3 v_bitangent; 13 | } 14 | 15 | source %{ 16 | v_uv = vUV0; 17 | v_normal = vNormal; 18 | v_tangent = vTangent; 19 | v_bitangent = vBitangent; 20 | %} 21 | } 22 | 23 | pixel { 24 | source %{ 25 | vec3 n = texture2D(normal_map, v_uv).xyz; 26 | 27 | mat3 tangent_matrix = _build_mat3(normalize(v_bitangent), normalize(v_tangent), normalize(v_normal)); 28 | n = n * 2.0 - 1.0; 29 | n = tangent_matrix * n; 30 | n = vNormalViewMatrix * n; 31 | 32 | %diffuse% = texture2D(diffuse_map, v_uv).xyz; 33 | %normal% = n; 34 | %} 35 | } 36 | } -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_map_self_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D self_map; 4 | } 5 | 6 | variant { 7 | vertex { 8 | out { 9 | vec2 v_uv; 10 | } 11 | 12 | source %{ 13 | v_uv = vUV0; 14 | %} 15 | } 16 | 17 | pixel { 18 | source %{ 19 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 20 | vec4 self_color = texture2D(self_map, v_uv); 21 | 22 | %diffuse% = diffuse_color.xyz; 23 | %constant% = self_color.xyz; 24 | %} 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_map_specular_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D specular_map; 4 | float glossiness = 0.5; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { 10 | vec2 v_uv; 11 | } 12 | 13 | source %{ 14 | v_uv = vUV0; 15 | %} 16 | } 17 | 18 | pixel { 19 | source %{ 20 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 21 | vec4 specular_color = texture2D(specular_map, v_uv); 22 | 23 | %diffuse% = diffuse_color.xyz; 24 | %specular% = specular_color.xyz; 25 | %glossiness% = glossiness; 26 | %} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_map_specular_map_self_map.isl: -------------------------------------------------------------------------------- 1 | in { 2 | tex2D diffuse_map; 3 | tex2D specular_map; 4 | tex2D self_map; 5 | float glossiness = 0.5; 6 | } 7 | 8 | variant { 9 | vertex { 10 | out { 11 | vec2 v_uv; 12 | } 13 | 14 | source %{ 15 | v_uv = vUV0; 16 | %} 17 | } 18 | 19 | pixel { 20 | source %{ 21 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 22 | vec4 specular_color = texture2D(specular_map, v_uv); 23 | vec4 self_color = texture2D(self_map, v_uv); 24 | 25 | %diffuse% = diffuse_color.xyz; 26 | %specular% = specular_color.xyz; 27 | %constant% = self_color.xyz; 28 | %glossiness% = glossiness; 29 | %} 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/diffuse_specular.isl: -------------------------------------------------------------------------------- 1 | in { 2 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 3 | vec4 specular_color = vec4(0.5,0.5,0.5,1.0) [hint:color]; 4 | float glossiness = 0.5; 5 | } 6 | 7 | variant { 8 | pixel { 9 | source %{ 10 | %diffuse% = diffuse_color.xyz; 11 | %specular% = specular_color.xyz; 12 | %glossiness% = glossiness; 13 | %} 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/reflection_map_cubic.isl: -------------------------------------------------------------------------------- 1 | in { 2 | texCube cube_map; 3 | } 4 | 5 | variant { 6 | vertex { 7 | out { 8 | vec3 p; 9 | vec3 n; 10 | } 11 | 12 | source %{ 13 | %out.position% = _mtx_mul(vModelViewProjectionMatrix, vec4(vPosition, 1.0)); 14 | 15 | p = (vModelMatrix * vec4(vPosition, 1.0)).xyz; 16 | n = normalize(vNormalMatrix * vNormal); 17 | %} 18 | } 19 | 20 | pixel { 21 | source %{ 22 | vec3 e = p - vViewPosition.xyz; 23 | vec3 r = normalize(reflect(e, normalize(n))); 24 | 25 | vec4 cube_color = textureCube(cube_map, r); 26 | %diffuse% = cube_color.xyz; 27 | %} 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/skinned_diffuse.isl: -------------------------------------------------------------------------------- 1 | surface { skinned: 1 } 2 | 3 | in { 4 | vec4 diffuse_color = vec4(0.7,0.7,0.7,1.0) [hint:color]; 5 | } 6 | 7 | variant { 8 | pixel { 9 | source %{ 10 | %diffuse% = diffuse_color.xyz; 11 | %} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/surfaces/skinned_diffuse_map.isl: -------------------------------------------------------------------------------- 1 | surface { skinned: 1 } 2 | 3 | in { 4 | tex2D diffuse_map; 5 | } 6 | 7 | variant { 8 | vertex { 9 | out { 10 | vec2 v_uv; 11 | } 12 | 13 | source %{ 14 | v_uv = vUV0; 15 | %} 16 | } 17 | 18 | pixel { 19 | source %{ 20 | vec4 diffuse_color = texture2D(diffuse_map, v_uv); 21 | 22 | %diffuse% = diffuse_color.xyz; 23 | %} 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/textures/dither.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/pkg.core/textures/dither.tga -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/textures/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/pkg.core/textures/error.png -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/textures/noise.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/exxos-demo/python/pkg.core/textures/noise.tga -------------------------------------------------------------------------------- /exxos-demo/python/pkg.core/version.txt: -------------------------------------------------------------------------------- 1 | 1.0.0 -------------------------------------------------------------------------------- /exxos-demo/python/screen_specs.py: -------------------------------------------------------------------------------- 1 | demo_screen_size = [1280, 720] 2 | amiga_screen_size = [320, 224] 3 | 4 | 5 | def zoom_size(): 6 | return demo_screen_size[1] / amiga_screen_size[1] -------------------------------------------------------------------------------- /fast_dot_cube/python/3d/build_velocity_tables.bat: -------------------------------------------------------------------------------- 1 | build_velocity_tables.py 2 | pause -------------------------------------------------------------------------------- /fast_dot_cube/python/3d/obj_to_c_vectorball.bat: -------------------------------------------------------------------------------- 1 | obj_to_c_vectorball.py 2 | pause -------------------------------------------------------------------------------- /fast_dot_cube/python/3d/util.py: -------------------------------------------------------------------------------- 1 | from math import pi 2 | 3 | def format_number(n, accuracy=6): 4 | """Formats a number in a friendly manner (removes trailing zeros and unneccesary point.""" 5 | 6 | fs = "%."+str(accuracy)+"f" 7 | str_n = fs%float(n) 8 | if '.' in str_n: 9 | str_n = str_n.rstrip('0').rstrip('.') 10 | if str_n == "-0": 11 | str_n = "0" 12 | #str_n = str_n.replace("-0", "0") 13 | return str_n 14 | 15 | 16 | def lerp(a, b, i): 17 | """Linear enterpolate from a to b.""" 18 | return a+(b-a)*i -------------------------------------------------------------------------------- /fast_dot_cube/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /fast_dot_cube/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /fast_dot_cube/src/edges.h: -------------------------------------------------------------------------------- 1 | #define cube_VTX_COUNT 8 2 | const Vect3D_f16 vb_cube_vertex_pos[8]; 3 | -------------------------------------------------------------------------------- /fast_dot_cube/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /fast_dot_cube/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_dot_cube/src/out/rom.bin -------------------------------------------------------------------------------- /fast_dot_cube/src/res/fast_cube_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_dot_cube/src/res/fast_cube_dot.png -------------------------------------------------------------------------------- /fast_dot_cube/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const SpriteDefinition fast_cube_dot; 5 | extern const Image marble_background; 6 | extern const Image marble_foreground; 7 | 8 | #endif // _GFX_H_ 9 | -------------------------------------------------------------------------------- /fast_dot_cube/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | SPRITE fast_cube_dot "fast_cube_dot.png" 1 1 -1 2 | IMAGE marble_background "marble_background.png" -1 3 | IMAGE marble_foreground "marble_foreground.png" -1 -------------------------------------------------------------------------------- /fast_dot_cube/src/res/marble_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_dot_cube/src/res/marble_background.png -------------------------------------------------------------------------------- /fast_dot_cube/src/velocity_table.c: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include "../../src/velocity_table.h" 3 | 4 | const s8 vel_table[VEL_TABLE_LEN][VEL_TABLE_LEN] = { 5 | { 0, 0, 1, 1, 2, 3, 3, 3, }, 6 | 7 | { 0, 0, 0, 1, 2, 3, 3, 4, }, 8 | 9 | { 6, 0, 0, 1, 2, 3, 4, 4, }, 10 | 11 | { 6, 6, 6, 0, 2, 4, 5, 5, }, 12 | 13 | { 6, 6, 6, 6, 2, 6, 6, 6, }, 14 | 15 | { 6, 6, 6, 0, 2, 4, 5, 5, }, 16 | 17 | { 6, 0, 0, 1, 2, 3, 4, 4, }, 18 | 19 | { 0, 0, 0, 1, 2, 3, 3, 4, }, 20 | }; 21 | -------------------------------------------------------------------------------- /fast_dot_cube/src/velocity_table.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #define VEL_TABLE_LEN 8 3 | 4 | extern const s8 vel_table[VEL_TABLE_LEN][VEL_TABLE_LEN]; 5 | -------------------------------------------------------------------------------- /fast_starfield/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /fast_starfield/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /fast_starfield/src/easing_table.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define EASING_TABLE_LEN 1024 4 | 5 | const u16 easing_table[EASING_TABLE_LEN]; 6 | -------------------------------------------------------------------------------- /fast_starfield/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /fast_starfield/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image starfield; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /fast_starfield/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE starfield "starfield.png" 0 -------------------------------------------------------------------------------- /fast_starfield/src/res/starfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_starfield/src/res/starfield.png -------------------------------------------------------------------------------- /fast_starfield/src/transition_helper.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include "easing_table.h" 3 | 4 | #ifndef TRANSITION_HELPER 5 | #define TRANSITION_HELPER 6 | 7 | #define RSE_FRAMES(A) ((A*60)/framerate) 8 | 9 | void RSE_turn_screen_to_white(void); 10 | void RSE_turn_screen_to_black(void); 11 | void RSE_pause(u16 frames); 12 | void RSE_clearTileRowB(u16 row); 13 | void RSE_clearTileRowA(u16 row); 14 | void RSE_resetScrolling(void); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/amiga-font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_starfield_w_donuts/src/res/amiga-font.png -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/donut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_starfield_w_donuts/src/res/donut.png -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _RES_GFX_H_ 2 | #define _RES_GFX_H_ 3 | 4 | extern const Image starfield; 5 | extern const Image vip_logo; 6 | extern const SpriteDefinition donut; 7 | extern const Image amiga_font; 8 | 9 | #endif // _RES_GFX_H_ 10 | -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE starfield "starfield.png" -1 2 | IMAGE vip_logo "news-vip2017.png" -1 3 | SPRITE donut "donut.png" 4 4 -1 5 4 | IMAGE amiga_font "amiga-font.png" -1 -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/maak_soundtest01_20160211.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_starfield_w_donuts/src/res/maak_soundtest01_20160211.vgm -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/news-vip2017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_starfield_w_donuts/src/res/news-vip2017.png -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RES_RESOURCES_H_ 2 | #define _RES_RESOURCES_H_ 3 | 4 | extern const u8 maak_music_2[11449]; 5 | 6 | #endif // _RES_RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/resources.res: -------------------------------------------------------------------------------- 1 | XGM maak_music_2 "maak_soundtest01_20160211.vgm" -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/res/starfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fast_starfield_w_donuts/src/res/starfield.png -------------------------------------------------------------------------------- /fast_starfield_w_donuts/src/transition_helper.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | // #include "easing_table.h" 3 | 4 | #ifndef TRANSITION_HELPER 5 | #define TRANSITION_HELPER 6 | 7 | #define RSE_FRAMES(A) ((A*60)/framerate) 8 | 9 | const u16 palette_white[16]; 10 | 11 | void RSE_turn_screen_to_white(void); 12 | void RSE_turn_screen_to_black(void); 13 | void RSE_turn_screen_to_color(u16 col); 14 | void RSE_pause(u16 frames); 15 | void RSE_clearTileRowB(u16 row); 16 | void RSE_clearTileRowA(u16 row); 17 | void RSE_resetScrolling(void); 18 | void RSE_clearTileRowAPrioTrue(u16 row); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /fullscreen_image_display/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /fullscreen_image_display/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /fullscreen_image_display/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /fullscreen_image_display/src/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | static void displayFullScreenPicture(); 5 | 6 | int main(){ 7 | displayFullScreenPicture(); 8 | return 0; 9 | } 10 | 11 | static void displayFullScreenPicture(){ 12 | u16 vramIndex = TILE_USERINDEX; 13 | 14 | VDP_clearPlan(APLAN, 0); 15 | VDP_clearPlan(BPLAN, 0); 16 | /* Set a larger tileplan to be able to scroll */ 17 | VDP_setPlanSize(64, 32); 18 | SYS_disableInts(); 19 | 20 | /* Draw the background */ 21 | VDP_drawImageEx(BPLAN, &shikasta_tilemap, TILE_ATTR_FULL(PAL0, TRUE, FALSE, FALSE, vramIndex), 0, 0, TRUE, TRUE); 22 | vramIndex += shikasta_tilemap.tileset->numTile; 23 | 24 | SYS_enableInts(); 25 | 26 | while (1){ 27 | VDP_waitVSync(); 28 | } 29 | } -------------------------------------------------------------------------------- /fullscreen_image_display/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image shikasta_tilemap; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /fullscreen_image_display/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE shikasta_tilemap "shikasta_tilemap.png" -1 -------------------------------------------------------------------------------- /fullscreen_image_display/src/res/shikasta_tilemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/fullscreen_image_display/src/res/shikasta_tilemap.png -------------------------------------------------------------------------------- /merge/src/RSE_Logo3DScreen.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define RSE_LOGO_3D_MAX_POINTS 256 4 | 5 | #define RSE_COPY_VECTOR2D(D, S) D.x = S.x; D.y = S.y 6 | 7 | #define RSE_LOGO_3D_LOAD_MESH(mesh_name) \ 8 | mesh_coord = mesh_name ## _coord; \ 9 | mesh_poly_ind = mesh_name ## _poly_ind; \ 10 | mesh_line_ind = mesh_name ## _line_ind; \ 11 | mesh_face_norm = mesh_name ## _face_norm; \ 12 | vtx_count = mesh_name ## _VTX_COUNT; \ 13 | poly_count = mesh_name ## _FACE_COUNT; -------------------------------------------------------------------------------- /merge/src/RSE_easing_table.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define EASING_TABLE_LEN 512 4 | 5 | extern const unsigned short easing_fp[EASING_TABLE_LEN]; 6 | extern const fix16 easing_fix16[EASING_TABLE_LEN]; 7 | -------------------------------------------------------------------------------- /merge/src/RSE_logo_meshs.h: -------------------------------------------------------------------------------- 1 | #define logo_e_VTX_COUNT 78 2 | #define logo_e_FACE_COUNT 19 3 | const Vect3D_f16 logo_e_coord[78]; 4 | const short logo_e_poly_ind[76]; 5 | const u16 logo_e_line_ind[64]; 6 | const Vect3D_f16 logo_e_face_norm[19]; 7 | 8 | #define logo_r_VTX_COUNT 72 9 | #define logo_r_FACE_COUNT 19 10 | const Vect3D_f16 logo_r_coord[72]; 11 | const short logo_r_poly_ind[76]; 12 | const u16 logo_r_line_ind[54]; 13 | const Vect3D_f16 logo_r_face_norm[19]; 14 | 15 | #define logo_s_VTX_COUNT 72 16 | #define logo_s_FACE_COUNT 22 17 | const Vect3D_f16 logo_s_coord[72]; 18 | const short logo_s_poly_ind[88]; 19 | const u16 logo_s_line_ind[60]; 20 | const Vect3D_f16 logo_s_face_norm[22]; 21 | 22 | -------------------------------------------------------------------------------- /merge/src/ball_coords.h: -------------------------------------------------------------------------------- 1 | #define geosphere_VTX_COUNT 42 2 | const Vect3D_f16 vb_geosphere_vertex_pos[42]; 3 | #define grid_cube_VTX_COUNT 100 4 | const Vect3D_f16 vb_grid_cube_vertex_pos[100]; 5 | #define grid_cube_small_VTX_COUNT 27 6 | const Vect3D_f16 vb_grid_cube_small_vertex_pos[27]; 7 | -------------------------------------------------------------------------------- /merge/src/main_axelay_fx.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_AXELAY_FX_H 3 | #define MAIN_AXELAY_FX_H 4 | 5 | #define TABLE_LEN 512 6 | 7 | void main_axelay_fx(u16 vbl_to_exit); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /merge/src/main_boing_ball_fx.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_BOING_BALL_FX_H 3 | #define MAIN_BOING_BALL_FX_H 4 | 5 | #define SCR_H ((224 >> 3) << 3) 6 | #define BOARD_Y (((SCR_H - 120) >> 3) - 1) 7 | #define BACK_SPEED 8 8 | #define TABLE_LEN SCR_H 9 | #define PERSPECTIVE_STEP 64 10 | 11 | void main_boing_ball_fx(u16 vbl_to_exit); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /merge/src/main_logo.h: -------------------------------------------------------------------------------- 1 | #ifndef MAIN_LOGO_H 2 | #define MAIN_LOGO_H 3 | 4 | extern Mat3D_f16 MatInv; 5 | extern Mat3D_f16 Mat; 6 | 7 | void main_logo(u16 vbl_to_exit); 8 | 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /merge/src/main_starfield_2d.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_STARFIELD_2D_H 3 | #define MAIN_STARFIELD_2D_H 4 | 5 | #define MAX_STAR 512 6 | #define BMP_CELLWIDTH_SFT 5 7 | #define BMP_PITCH_SFT (BMP_CELLWIDTH_SFT + 2) 8 | #define BMP_PITCH (1 << BMP_PITCH_SFT) 9 | 10 | typedef struct 11 | { 12 | Vect2D_u16 pos; 13 | Vect2D_u16 mov; 14 | u16 col; 15 | } _star; 16 | 17 | void main_starfield_2d(u16 vbl_to_exit); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /merge/src/main_tunnel.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_TUNNEL_H 3 | #define MAIN_TUNNEL_H 4 | 5 | #define CIRCLE_MAX 5 //5 6 | #define CIRCLE_RES 9 //9 7 | #define PIXEL_MAX 45 //CIRCLE_MAX x CIRCLE_RES 45 8 | #define LINE_MAX 45 //CIRCLE_MAX x CIRCLE_RES 45 9 | 10 | #define _PIXEL_ON 0 11 | #define _LINE_ON 1 12 | 13 | typedef struct Circle_ Circle_; 14 | struct Circle_{ 15 | s16 x; 16 | s16 y; 17 | s16 size; 18 | u16 col; 19 | u16 res; 20 | }; 21 | 22 | void main_tunnel(u16 vbl_to_exit); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /merge/src/main_twisted_metal.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_TWISTED_METAL_H 3 | #define MAIN_TWISTED_METAL_H 4 | 5 | #define TWISTER_TABLE_SIZE 1024 6 | #define CST_CTRL_PORT 0xC00004 7 | #define CST_DATA_PORT 0xC00000 8 | #define CST_WRITE_VSRAM_ADDR(adr) ((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x10) 9 | 10 | void main_twisted_metal(u16 vbl_to_exit); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /merge/src/main_underwater_starfield_fx.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_UNDERWATER_STARFIELD_H 3 | #define MAIN_UNDERWATER_STARFIELD_H 4 | 5 | #define MAX_STAR 48 6 | #define STARFIELD_SIZE (0xFF >> 1) 7 | #define STARFIELD_DIST -64 8 | 9 | typedef struct 10 | { 11 | s16 x,y,z; 12 | u16 mov; 13 | u16 col; 14 | } _star; 15 | 16 | void main_underwater_starfield_fx(u16 vbl_to_exit); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /merge/src/main_vector_balls.h: -------------------------------------------------------------------------------- 1 | #include 2 | #ifndef MAIN_VECTOR_BALLS_H 3 | #define MAIN_VECTOR_BALLS_H 4 | 5 | #define MAX_VECTOR_BALL 256 6 | #define BALL_COUNT geosphere_VTX_COUNT 7 | #define VECTOR_BALL_ARRAY vb_geosphere_vertex_pos 8 | 9 | void main_vector_balls(u16 vbl_to_exit); 10 | 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /merge/src/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /merge/src/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/ball_metal.png -------------------------------------------------------------------------------- /merge/src/res/boing_impact-8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/boing_impact-8.wav -------------------------------------------------------------------------------- /merge/src/res/boingball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/boingball.png -------------------------------------------------------------------------------- /merge/src/res/checkback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/checkback.png -------------------------------------------------------------------------------- /merge/src/res/checkboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/checkboard.png -------------------------------------------------------------------------------- /merge/src/res/clouds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/clouds.png -------------------------------------------------------------------------------- /merge/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image logo_rse_3d; 5 | extern const Image sea; 6 | extern const Image clouds; 7 | extern const Image underwater; 8 | extern const SpriteDefinition sprite_stars; 9 | extern const Image checkboard; 10 | extern const Image checkback; 11 | extern const Image boingball; 12 | extern const Image twister; 13 | extern const SpriteDefinition ball_metal; 14 | 15 | #endif // _GFX_H_ 16 | -------------------------------------------------------------------------------- /merge/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE logo_rse_3d "logo_rse_3d.png" 0 2 | IMAGE sea "sea.png" 0 3 | IMAGE clouds "clouds.png" 0 4 | IMAGE underwater "underwater.png" 0 5 | SPRITE sprite_stars "sprite_stars.png" 1 1 0 6 | IMAGE checkboard "checkboard.png" 0 7 | IMAGE checkback "checkback.png" 0 8 | IMAGE boingball "boingball.png" 0 9 | IMAGE twister "twister.png" -1 10 | SPRITE ball_metal "ball_metal.png" 2 2 -1 11 | 12 | -------------------------------------------------------------------------------- /merge/src/res/logo_boot.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/logo_boot.vgm -------------------------------------------------------------------------------- /merge/src/res/logo_rse_3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/logo_rse_3d.png -------------------------------------------------------------------------------- /merge/src/res/music.h: -------------------------------------------------------------------------------- 1 | #ifndef _MUSIC_H_ 2 | #define _MUSIC_H_ 3 | 4 | extern const u8 logo_boot_music[40827]; 5 | 6 | #endif // _MUSIC_H_ 7 | -------------------------------------------------------------------------------- /merge/src/res/music.res: -------------------------------------------------------------------------------- 1 | VGM logo_boot_music "logo_boot.vgm" 2 | -------------------------------------------------------------------------------- /merge/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RESOURCES_H_ 2 | #define _RESOURCES_H_ 3 | 4 | extern const u8 boing_impact[19456]; 5 | 6 | #endif // _RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /merge/src/res/resources.res: -------------------------------------------------------------------------------- 1 | WAV boing_impact "boing_impact-8.wav" 0 8000 -------------------------------------------------------------------------------- /merge/src/res/sea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/sea.png -------------------------------------------------------------------------------- /merge/src/res/sprite_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/sprite_stars.png -------------------------------------------------------------------------------- /merge/src/res/twister.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/twister.png -------------------------------------------------------------------------------- /merge/src/res/underwater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/merge/src/res/underwater.png -------------------------------------------------------------------------------- /outline_intro/ball_coords.h: -------------------------------------------------------------------------------- 1 | #define grid_cube_small_VTX_COUNT 20 2 | const Vect3D_f16 vb_grid_cube_small_vertex_pos[20]; 3 | -------------------------------------------------------------------------------- /outline_intro/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /outline_intro/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /outline_intro/demo_strings.h: -------------------------------------------------------------------------------- 1 | #ifndef RSE_DEMO_STRINGS 2 | #define RSE_DEMO_STRINGS 3 | 4 | extern char **demo_strings; 5 | extern const char *strings_logo_0[]; 6 | extern const char *strings_sim_0[]; 7 | extern const char *strings_sim_1[]; 8 | extern const char *strings_sim_2[]; 9 | extern const char *strings_sim_3[]; 10 | extern const char *strings_sim_4[]; 11 | extern const char *strings_sim_5[]; 12 | extern const char *strings_credits[]; 13 | extern const char *strings_greets[]; 14 | extern const char *strings_end[]; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /outline_intro/easing_table.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define EASING_TABLE_LEN 1024 4 | 5 | const u16 easing_table[EASING_TABLE_LEN]; 6 | -------------------------------------------------------------------------------- /outline_intro/img_seq.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define TILE_BITS 4 5 | #define TILE_STEPS 16 6 | 7 | /* tore_tunnel */ 8 | #define tore_tunnel_IMG_COUNT 16 9 | #define tore_tunnel_IMG_LEN 300 10 | 11 | const u16 tore_tunnel_seq[4800]; 12 | 13 | /* star_tunnel */ 14 | #define star_tunnel_IMG_COUNT 16 15 | #define star_tunnel_IMG_LEN 300 16 | 17 | const u16 star_tunnel_seq[4800]; 18 | 19 | -------------------------------------------------------------------------------- /outline_intro/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /outline_intro/logo_screen.h: -------------------------------------------------------------------------------- 1 | #ifndef LOGO_SCREEN 2 | #define LOGO_SCREEN 3 | 4 | #define SCR_W 320 5 | #define SCR_H 224 6 | #define NUM_COLUMNS 64 7 | #define NUM_ROWS 28 8 | #define NUM_LINES NUM_ROWS * 8 9 | #define SPOTLIGHT_WIDTH 1 10 | #define NUM_SPOTLIGHTS NUM_COLUMNS / SPOTLIGHT_WIDTH 11 | #define LOGO_W 256 12 | #define LOGO_H 56 13 | 14 | #define LOGO_DEMO_W 320 15 | #define LOGO_DEMO_H 80 16 | 17 | #define LOGO_CHAR_W 112 18 | #define LOGO_CHAR_H 80 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /outline_intro/music.c: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include "resources.h" 3 | 4 | void play_music(void) 5 | { 6 | SND_startPlay_XGM(malabar_bumper); 7 | SND_setMusicTempo_XGM(50); 8 | } 9 | 10 | void stop_music(void) 11 | { SND_stopPlay_XGM(); } 12 | -------------------------------------------------------------------------------- /outline_intro/music.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | void play_music(void); 4 | void stop_music(void); 5 | -------------------------------------------------------------------------------- /outline_intro/python/build_easing_table.bat: -------------------------------------------------------------------------------- 1 | build_easing_table.py 2 | pause -------------------------------------------------------------------------------- /outline_intro/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /outline_intro/res/alexkidd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/alexkidd.png -------------------------------------------------------------------------------- /outline_intro/res/alexkidd_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/alexkidd_overlay.png -------------------------------------------------------------------------------- /outline_intro/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/ball_metal.png -------------------------------------------------------------------------------- /outline_intro/res/childwrite_8x8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/childwrite_8x8.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_a.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_a_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_a_2.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_a_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_a_3.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_a_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_a_4.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_b.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_b_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_b_2.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_b_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_b_3.png -------------------------------------------------------------------------------- /outline_intro/res/endscreen_b_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/endscreen_b_4.png -------------------------------------------------------------------------------- /outline_intro/res/level_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/level_0.png -------------------------------------------------------------------------------- /outline_intro/res/level_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/level_1.png -------------------------------------------------------------------------------- /outline_intro/res/level_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/level_2.png -------------------------------------------------------------------------------- /outline_intro/res/level_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/level_3.png -------------------------------------------------------------------------------- /outline_intro/res/level_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/level_bg.png -------------------------------------------------------------------------------- /outline_intro/res/logo_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/logo_demo.png -------------------------------------------------------------------------------- /outline_intro/res/logo_rse_bottom_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/logo_rse_bottom_9bits.png -------------------------------------------------------------------------------- /outline_intro/res/logo_rse_top_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/logo_rse_top_9bits.png -------------------------------------------------------------------------------- /outline_intro/res/malabar_bumper.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/malabar_bumper.vgm -------------------------------------------------------------------------------- /outline_intro/res/pat_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/pat_round.png -------------------------------------------------------------------------------- /outline_intro/res/plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/plasma.png -------------------------------------------------------------------------------- /outline_intro/res/plasma_greetings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/plasma_greetings.png -------------------------------------------------------------------------------- /outline_intro/res/rasters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/rasters.png -------------------------------------------------------------------------------- /outline_intro/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RESOURCES_H_ 2 | #define _RESOURCES_H_ 3 | 4 | extern const u8 malabar_bumper[235796]; 5 | 6 | #endif // _RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /outline_intro/res/resources.res: -------------------------------------------------------------------------------- 1 | XGM malabar_bumper "malabar_bumper.vgm" -------------------------------------------------------------------------------- /outline_intro/res/smiley-gelmir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/smiley-gelmir.png -------------------------------------------------------------------------------- /outline_intro/res/transition_pattern_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/transition_pattern_0.png -------------------------------------------------------------------------------- /outline_intro/res/vectorball_bg_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/vectorball_bg_a.png -------------------------------------------------------------------------------- /outline_intro/res/vectorball_bg_a_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/vectorball_bg_a_2.png -------------------------------------------------------------------------------- /outline_intro/res/vectorball_bg_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/vectorball_bg_b.png -------------------------------------------------------------------------------- /outline_intro/res/vectorball_bg_b_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/vectorball_bg_b_2.png -------------------------------------------------------------------------------- /outline_intro/res/vectorball_fg_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/res/vectorball_fg_a.png -------------------------------------------------------------------------------- /outline_intro/transition_helper.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include "easing_table.h" 3 | 4 | #ifndef TRANSITION_HELPER 5 | #define TRANSITION_HELPER 6 | 7 | #define RSE_FRAMES(A) ((A*60)/framerate) 8 | 9 | void RSE_turn_screen_to_white(void); 10 | void RSE_turn_screen_to_black(void); 11 | void RSE_pause(u16 frames); 12 | void RSE_clearTileRowB(u16 row); 13 | void RSE_clearTileRowA(u16 row); 14 | void RSE_resetScrolling(void); 15 | void RSE_clearAll(void); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /outline_intro/twister_fx.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define TWISTER_TABLE_SIZE 1024 4 | #define CST_CTRL_PORT 0xC00004 5 | #define CST_DATA_PORT 0xC00000 6 | #define CST_WRITE_VSRAM_ADDR(adr) ((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x10) 7 | 8 | // void initTwisterFx(void); 9 | // void updateTwisterFx(u16 vcount_init, u16 duration); 10 | // void disableTwisterFx(void); -------------------------------------------------------------------------------- /outline_intro/wipe_effect.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include 3 | 4 | void transition_fx(u8 frames, u16 vramindex_start); -------------------------------------------------------------------------------- /outline_intro/work/VGM/malabars_bumper-04.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/malabars_bumper-04.vge -------------------------------------------------------------------------------- /outline_intro/work/VGM/malabars_bumper-05.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/malabars_bumper-05.vge -------------------------------------------------------------------------------- /outline_intro/work/VGM/malabars_bumper-06.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/malabars_bumper-06.vge -------------------------------------------------------------------------------- /outline_intro/work/VGM/malabars_bumper-08.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/malabars_bumper-08.vge -------------------------------------------------------------------------------- /outline_intro/work/VGM/malabars_bumper-09.vge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/malabars_bumper-09.vge -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 01.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 01.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 02.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 02.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 03.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 03.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 04.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 04.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 05.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 05.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 06.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 06.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 07.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 07.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_00 slice 08.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_00 slice 08.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 01.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 01.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 02.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 02.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 03.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 03.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 04.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 04.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 05.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 05.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 06.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 06.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 07.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 07.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_01 slice 08.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_01 slice 08.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 01.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 01.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 02.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 02.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 03.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 03.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 04.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 04.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 05.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 05.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 06.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 06.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 07.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 07.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_02 slice 08.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_02 slice 08.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 01.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 01.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 02.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 02.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 03.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 03.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 04.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 04.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 05.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 05.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 06.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 06.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 07.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 07.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/smp/loop_03 slice 08.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/VGM/smp/loop_03 slice 08.wav -------------------------------------------------------------------------------- /outline_intro/work/VGM/tfi/bass.tfi: -------------------------------------------------------------------------------- 1 | >   !  -------------------------------------------------------------------------------- /outline_intro/work/VGM/tfi/bells.tfi: -------------------------------------------------------------------------------- 1 |  2 |   3 |  -------------------------------------------------------------------------------- /outline_intro/work/VGM/tfi/clav_funk.tfi: -------------------------------------------------------------------------------- 1 | ,   2 |  -------------------------------------------------------------------------------- /outline_intro/work/VGM/tfi/lead.tfi: -------------------------------------------------------------------------------- 1 | ) -------------------------------------------------------------------------------- /outline_intro/work/logo_rse/logo_rse_vector.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/logo_rse/logo_rse_vector.ai -------------------------------------------------------------------------------- /outline_intro/work/logo_rse/rse_logo_smaller.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/outline_intro/work/logo_rse/rse_logo_smaller.psd -------------------------------------------------------------------------------- /parallax_scrolling/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /parallax_scrolling/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /parallax_scrolling/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /parallax_scrolling/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/parallax_scrolling/src/out/rom.bin -------------------------------------------------------------------------------- /parallax_scrolling/src/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/parallax_scrolling/src/res/ball_metal.png -------------------------------------------------------------------------------- /parallax_scrolling/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image ground; 5 | extern const Image rse_logo; 6 | 7 | #endif // _GFX_H_ 8 | -------------------------------------------------------------------------------- /parallax_scrolling/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE ground "ground.png" 0 2 | IMAGE rse_logo "rse_logo.png" 0 -------------------------------------------------------------------------------- /parallax_scrolling/src/res/ground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/parallax_scrolling/src/res/ground.png -------------------------------------------------------------------------------- /parallax_scrolling/src/res/midnight.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/parallax_scrolling/src/res/midnight.vgm -------------------------------------------------------------------------------- /parallax_scrolling/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RESOURCES_H_ 2 | #define _RESOURCES_H_ 3 | 4 | extern const u8 midnight[106096]; 5 | 6 | #endif // _RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /parallax_scrolling/src/res/resources.res: -------------------------------------------------------------------------------- 1 | XGM midnight "midnight.vgm" -------------------------------------------------------------------------------- /parallax_scrolling/src/res/rse_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/parallax_scrolling/src/res/rse_logo.png -------------------------------------------------------------------------------- /perspective_checkerboard/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /perspective_checkerboard/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /perspective_checkerboard/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /perspective_checkerboard/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/perspective_checkerboard/src/out/rom.bin -------------------------------------------------------------------------------- /perspective_checkerboard/src/res/checkboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/perspective_checkerboard/src/res/checkboard.png -------------------------------------------------------------------------------- /perspective_checkerboard/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image checkboard; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /perspective_checkerboard/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE checkboard "checkboard.png" 0 -------------------------------------------------------------------------------- /pirate_intro/src/Logo3DScreen.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define RSE_LOGO_3D_MAX_POINTS 256 4 | 5 | #define RSE_COPY_VECTOR2D(D, S) D.x = S.x; D.y = S.y 6 | 7 | #define RSE_LOGO_3D_LOAD_MESH(mesh_name) mesh_coord = mesh_name ## _coord; mesh_poly_ind = mesh_name ## _poly_ind; mesh_face_norm = mesh_name ## _face_norm; vtx_count = mesh_name ## _VTX_COUNT; poly_count = mesh_name ## _FACE_COUNT; 8 | -------------------------------------------------------------------------------- /pirate_intro/src/asm.bat: -------------------------------------------------------------------------------- 1 | del dump_asm.txt 2 | del out\* /s /f /q 3 | del out\*.* /s /f /q 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile_asm.gen > asm_src.txt 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /pirate_intro/src/ball_coords.h: -------------------------------------------------------------------------------- 1 | #define grid_cube_small_VTX_COUNT 20 2 | const Vect3D_f16 vb_grid_cube_small_vertex_pos[20]; 3 | #define pyramid_VTX_COUNT 20 4 | const Vect3D_f16 vb_pyramid_vertex_pos[20]; 5 | #define sword_VTX_COUNT 20 6 | const Vect3D_f16 vb_sword_vertex_pos[20]; 7 | 8 | #define MAX_VTX_COUNT 20 9 | #define MAX_VBALL_OBJECTS 3 10 | -------------------------------------------------------------------------------- /pirate_intro/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /pirate_intro/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /pirate_intro/src/demo_strings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | extern const char *demo_strings; 4 | extern const char *strings_greets[]; 5 | -------------------------------------------------------------------------------- /pirate_intro/src/div_premul.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define DIV_PREMUL_LEN 4096 4 | 5 | const s16 div_table[DIV_PREMUL_LEN]; 6 | -------------------------------------------------------------------------------- /pirate_intro/src/easing_table.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define EASING_TABLE_LEN 1024 4 | 5 | const u16 easing_table[EASING_TABLE_LEN]; 6 | -------------------------------------------------------------------------------- /pirate_intro/src/easing_table_fp.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | #define EASING_TABLE_LEN_FP 512 4 | 5 | extern const unsigned short easing_fp[EASING_TABLE_LEN_FP]; 6 | extern const fix16 easing_fix16[EASING_TABLE_LEN_FP]; 7 | -------------------------------------------------------------------------------- /pirate_intro/src/logo_meshs.h: -------------------------------------------------------------------------------- 1 | #define logo_e_VTX_COUNT 78 2 | #define logo_e_FACE_COUNT 19 3 | const Vect3D_f16 logo_e_coord[78]; 4 | const short logo_e_poly_ind[76]; 5 | const u16 logo_e_line_ind[64]; 6 | const Vect3D_f16 logo_e_face_norm[19]; 7 | 8 | #define logo_r_VTX_COUNT 72 9 | #define logo_r_FACE_COUNT 19 10 | const Vect3D_f16 logo_r_coord[72]; 11 | const short logo_r_poly_ind[76]; 12 | const u16 logo_r_line_ind[54]; 13 | const Vect3D_f16 logo_r_face_norm[19]; 14 | 15 | #define logo_s_VTX_COUNT 72 16 | #define logo_s_FACE_COUNT 22 17 | const Vect3D_f16 logo_s_coord[72]; 18 | const short logo_s_poly_ind[88]; 19 | const u16 logo_s_line_ind[60]; 20 | const Vect3D_f16 logo_s_face_norm[22]; 21 | 22 | -------------------------------------------------------------------------------- /pirate_intro/src/main_logo.h: -------------------------------------------------------------------------------- 1 | #ifndef MAIN_LOGO_H 2 | #define MAIN_LOGO_H 3 | 4 | extern Mat3D_f16 MatInv; 5 | extern Mat3D_f16 Mat; 6 | 7 | void main_logo(void); 8 | 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /pirate_intro/src/music.c: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include "resources.h" 3 | 4 | void play_intro_sound(void) 5 | { 6 | SND_startPlay_XGM(logo_boot_music); 7 | SND_setMusicTempo_XGM(50); 8 | } 9 | 10 | void play_music(void) 11 | { 12 | SND_startPlay_XGM(vgm_music); 13 | SND_setMusicTempo_XGM(50); 14 | } 15 | 16 | void stop_music(void) 17 | { SND_stopPlay_XGM(); } 18 | -------------------------------------------------------------------------------- /pirate_intro/src/music.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | void play_intro_sound(void); 4 | void play_music(void); 5 | void stop_music(void); 6 | -------------------------------------------------------------------------------- /pirate_intro/src/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /pirate_intro/src/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/ball_metal.png -------------------------------------------------------------------------------- /pirate_intro/src/res/ball_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/ball_shadow.png -------------------------------------------------------------------------------- /pirate_intro/src/res/ball_transition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/ball_transition.png -------------------------------------------------------------------------------- /pirate_intro/src/res/barb_pic_back-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/barb_pic_back-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/barb_pic_back-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/barb_pic_back-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/barb_pic_back-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/barb_pic_back-2.png -------------------------------------------------------------------------------- /pirate_intro/src/res/barb_pic_back-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/barb_pic_back-3.png -------------------------------------------------------------------------------- /pirate_intro/src/res/barb_pic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/barb_pic_back.png -------------------------------------------------------------------------------- /pirate_intro/src/res/barb_pic_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/barb_pic_front.png -------------------------------------------------------------------------------- /pirate_intro/src/res/bg_sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/bg_sky.png -------------------------------------------------------------------------------- /pirate_intro/src/res/btiger_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/btiger_font.png -------------------------------------------------------------------------------- /pirate_intro/src/res/checkboard-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/checkboard-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/checkboard-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/checkboard-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/checkboard-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/checkboard-2.png -------------------------------------------------------------------------------- /pirate_intro/src/res/checkboard-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/checkboard-3.png -------------------------------------------------------------------------------- /pirate_intro/src/res/checkboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/checkboard.png -------------------------------------------------------------------------------- /pirate_intro/src/res/checkboard_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/checkboard_logo.png -------------------------------------------------------------------------------- /pirate_intro/src/res/conan-on-fire_256px-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/conan-on-fire_256px-small.png -------------------------------------------------------------------------------- /pirate_intro/src/res/cube_anim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/cube_anim.png -------------------------------------------------------------------------------- /pirate_intro/src/res/cube_anim_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/cube_anim_shadow.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-back-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-back-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-back-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-back-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-back-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-back-2.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-back-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-back-3.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-front-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-front-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-front-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-front-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-front-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-front-2.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-front-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-front-3.png -------------------------------------------------------------------------------- /pirate_intro/src/res/exocet-ankou-front-darken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/exocet-ankou-front-darken.png -------------------------------------------------------------------------------- /pirate_intro/src/res/flames-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/flames-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/flames-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/flames-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/flames-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/flames-2.png -------------------------------------------------------------------------------- /pirate_intro/src/res/flames-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/flames-3.png -------------------------------------------------------------------------------- /pirate_intro/src/res/flames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/flames.png -------------------------------------------------------------------------------- /pirate_intro/src/res/logo_boot.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/logo_boot.vgm -------------------------------------------------------------------------------- /pirate_intro/src/res/logo_rse_3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/logo_rse_3d.png -------------------------------------------------------------------------------- /pirate_intro/src/res/masiaka001.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/masiaka001.vgm -------------------------------------------------------------------------------- /pirate_intro/src/res/masiaka_title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/masiaka_title.png -------------------------------------------------------------------------------- /pirate_intro/src/res/medieval_girl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/medieval_girl.png -------------------------------------------------------------------------------- /pirate_intro/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RES_RESOURCES_H_ 2 | #define _RES_RESOURCES_H_ 3 | 4 | extern const u8 logo_boot_music[32507]; 5 | extern const u8 vgm_music[32156]; 6 | 7 | #endif // _RES_RESOURCES_H_ 8 | -------------------------------------------------------------------------------- /pirate_intro/src/res/resources.res: -------------------------------------------------------------------------------- 1 | XGM logo_boot_music "logo_boot.vgm" 2 | XGM vgm_music "masiaka001.vgm" -------------------------------------------------------------------------------- /pirate_intro/src/res/rse_logo_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/rse_logo_shadow.png -------------------------------------------------------------------------------- /pirate_intro/src/res/rse_retrowave_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/rse_retrowave_logo.png -------------------------------------------------------------------------------- /pirate_intro/src/res/rsi_logo-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/rsi_logo-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/rsi_logo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/rsi_logo-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/rsi_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/rsi_logo.png -------------------------------------------------------------------------------- /pirate_intro/src/res/shield_anim-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/shield_anim-0.png -------------------------------------------------------------------------------- /pirate_intro/src/res/shield_anim-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/shield_anim-1.png -------------------------------------------------------------------------------- /pirate_intro/src/res/shield_anim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/shield_anim.png -------------------------------------------------------------------------------- /pirate_intro/src/res/sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/sky.png -------------------------------------------------------------------------------- /pirate_intro/src/res/sprite_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/sprite_stars.png -------------------------------------------------------------------------------- /pirate_intro/src/res/sword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/sword.png -------------------------------------------------------------------------------- /pirate_intro/src/res/transition_pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/src/res/transition_pattern.png -------------------------------------------------------------------------------- /pirate_intro/src/string_parser.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "genesis.h" 4 | 5 | #define FONT_PUNCT_OFFSET 36 6 | #define FONT_LINE_OFFSET ((432 >> 3)) 7 | 8 | u16 computeStringLen(char *str); 9 | u16 charToTileIndex(char c); -------------------------------------------------------------------------------- /pirate_intro/src/writer.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | extern u8 letter_width; 4 | extern u16 current_char; 5 | extern VDPPlan current_plan; 6 | extern u8 current_pal; 7 | extern u8 scroll_speed; 8 | extern s16 scroll_x_offset; 9 | extern u8 scroll_local_offset; 10 | 11 | #ifndef RSE_WRITER 12 | #define RSE_WRITER 13 | 14 | u16 RSE_writerSetup(void); 15 | void RSE_writerSetY(u16 initial_y); 16 | void updateScrollText(void); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /pirate_intro/tools/3d/build_fp_cosine_tables.bat: -------------------------------------------------------------------------------- 1 | build_fp_cosine_tables.py 2 | pause -------------------------------------------------------------------------------- /pirate_intro/tools/3d/obj_to_c_vectorball.bat: -------------------------------------------------------------------------------- 1 | obj_to_c_vectorball.py 2 | pause -------------------------------------------------------------------------------- /pirate_intro/tools/3d/util.py: -------------------------------------------------------------------------------- 1 | from math import pi 2 | 3 | def format_number(n, accuracy=6): 4 | """Formats a number in a friendly manner (removes trailing zeros and unneccesary point.""" 5 | 6 | fs = "%."+str(accuracy)+"f" 7 | str_n = fs%float(n) 8 | if '.' in str_n: 9 | str_n = str_n.rstrip('0').rstrip('.') 10 | if str_n == "-0": 11 | str_n = "0" 12 | #str_n = str_n.replace("-0", "0") 13 | return str_n 14 | 15 | 16 | def lerp(a, b, i): 17 | """Linear enterpolate from a to b.""" 18 | return a+(b-a)*i -------------------------------------------------------------------------------- /pirate_intro/tools/3d/vectorballs/geosphere.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/3d/vectorballs/geosphere.max -------------------------------------------------------------------------------- /pirate_intro/tools/3d/vectorballs/geosphere.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 30.11.2016 10:09:39 3 | 4 | newmtl wire_153228153 5 | Ns 32 6 | d 1 7 | Tr 0 8 | Tf 1 1 1 9 | illum 2 10 | Ka 0.600000023842 0.894117712975 0.600000023842 11 | Kd 0.600000023842 0.894117712975 0.600000023842 12 | Ks 0.349999994040 0.349999994040 0.349999994040 13 | -------------------------------------------------------------------------------- /pirate_intro/tools/3d/vectorballs/grid_cube.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/3d/vectorballs/grid_cube.max -------------------------------------------------------------------------------- /pirate_intro/tools/3d/vectorballs/grid_cube.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 30.11.2016 10:22:25 3 | 4 | newmtl _cubeDefault 5 | Ns 10.000000000000 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.587999999523 0.587999999523 0.587999999523 12 | Kd 0.587999999523 0.587999999523 0.587999999523 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /pirate_intro/tools/3d/vectorballs/grid_cube_small.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/3d/vectorballs/grid_cube_small.max -------------------------------------------------------------------------------- /pirate_intro/tools/3d/vectorballs/grid_cube_small.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 30.11.2016 09:23:22 3 | 4 | newmtl _cubeDefault 5 | Ns 10.000000000000 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.587999999523 0.587999999523 0.587999999523 12 | Kd 0.587999999523 0.587999999523 0.587999999523 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/OpenAL32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/OpenAL32.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/bullet_physic_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/bullet_physic_plugin.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/harfang_lua.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/harfang_lua.exe -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/ijg_picture_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/ijg_picture_plugin.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/imgui.ini: -------------------------------------------------------------------------------- 1 | [Debug] 2 | Pos=60,60 3 | Size=400,400 4 | Collapsed=0 5 | 6 | [GUI] 7 | Pos=37,11 8 | Size=350,278 9 | Collapsed=0 10 | 11 | -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/openvr_api.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/openvr_api.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/openvr_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/openvr_plugin.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/start.bat: -------------------------------------------------------------------------------- 1 | harfang_lua.exe main.lua 2 | pause -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/stb_audio_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/stb_audio_plugin.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/stb_picture_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/stb_picture_plugin.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/wav_audio_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/wav_audio_plugin.dll -------------------------------------------------------------------------------- /pirate_intro/tools/vector_ball_editor/xmp_audio_plugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/pirate_intro/tools/vector_ball_editor/xmp_audio_plugin.dll -------------------------------------------------------------------------------- /raster/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /raster/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /raster/src/cosine_table.h: -------------------------------------------------------------------------------- 1 | #define COSINE_TABLE_LEN 512 2 | 3 | extern const int tcos[COSINE_TABLE_LEN]; 4 | extern const int tsin[COSINE_TABLE_LEN]; 5 | -------------------------------------------------------------------------------- /raster/src/res/car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/raster/src/res/car.png -------------------------------------------------------------------------------- /raster/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image car_image; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /raster/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE car_image "car.png" -1 -------------------------------------------------------------------------------- /road/src/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "main_road.h" 3 | 4 | int main(){ 5 | main_road(); 6 | //main_road_shadow(); 7 | //test(); 8 | 9 | } -------------------------------------------------------------------------------- /road/src/main_road.h: -------------------------------------------------------------------------------- 1 | #ifndef MAIN_ROAD_H 2 | #define MAIN_ROAD_H 3 | 4 | void main_road(); 5 | void main_road_shadow(); 6 | void test(); 7 | #endif 8 | -------------------------------------------------------------------------------- /road/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image road_image; 5 | extern const Image test_image; 6 | 7 | #endif // _GFX_H_ 8 | -------------------------------------------------------------------------------- /road/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE road_image "road.png" -1 2 | IMAGE test_image "test.png" -1 -------------------------------------------------------------------------------- /road/src/res/road.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/road/src/res/road.png -------------------------------------------------------------------------------- /road/src/res/road_2 (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/road/src/res/road_2 (2).png -------------------------------------------------------------------------------- /road/src/res/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/road/src/res/test.png -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/scrolling_logo_sprites_fx/src/out/rom.bin -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/scrolling_logo_sprites_fx/src/res/ball_metal.png -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image ground; 5 | extern const Image rse_logo; 6 | extern const SpriteDefinition ball_metal; 7 | 8 | #endif // _GFX_H_ 9 | -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE ground "ground.png" 0 2 | IMAGE rse_logo "rse_logo.png" 0 3 | SPRITE ball_metal "ball_metal.png" 2 2 -1 -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/ground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/scrolling_logo_sprites_fx/src/res/ground.png -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/midnight.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/scrolling_logo_sprites_fx/src/res/midnight.vgm -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RESOURCES_H_ 2 | #define _RESOURCES_H_ 3 | 4 | extern const u8 midnight[106096]; 5 | 6 | #endif // _RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/resources.res: -------------------------------------------------------------------------------- 1 | XGM midnight "midnight.vgm" -------------------------------------------------------------------------------- /scrolling_logo_sprites_fx/src/res/rse_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/scrolling_logo_sprites_fx/src/res/rse_logo.png -------------------------------------------------------------------------------- /slideshow/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /slideshow/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /slideshow/src/easing_table.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define EASING_TABLE_LEN 1024 4 | 5 | const u16 easing_table[EASING_TABLE_LEN]; 6 | -------------------------------------------------------------------------------- /slideshow/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /slideshow/src/res/14788_gelmir03_9bits_A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/14788_gelmir03_9bits_A.png -------------------------------------------------------------------------------- /slideshow/src/res/14788_gelmir03_9bits_B.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/14788_gelmir03_9bits_B.png -------------------------------------------------------------------------------- /slideshow/src/res/15164_gelmir10_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/15164_gelmir10_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/6ans_plus_tard_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/6ans_plus_tard_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/artgemtest_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/artgemtest_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/eva_30col_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/eva_30col_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image pic00; 5 | extern const Image pic01a; 6 | extern const Image pic01b; 7 | extern const Image pic02a; 8 | extern const Image pic02b; 9 | extern const Image pic09; 10 | 11 | #endif // _GFX_H_ 12 | -------------------------------------------------------------------------------- /slideshow/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE pic00 "6ans_plus_tard_9bits.png" 0 2 | IMAGE pic01a "shibibi_30col_9bits_A.png" 0 3 | IMAGE pic01b "shibibi_30col_9bits_B.png" 0 4 | IMAGE pic02a "14788_gelmir03_9bits_A.png" 0 5 | IMAGE pic02b "14788_gelmir03_9bits_B.png" 0 6 | IMAGE pic09 "together_9bits.png" 0 -------------------------------------------------------------------------------- /slideshow/src/res/major_b_30col_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/major_b_30col_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/morgan1994_30col_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/morgan1994_30col_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/pearl_30col_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/pearl_30col_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/shibibi_30col_9bits_A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/shibibi_30col_9bits_A.png -------------------------------------------------------------------------------- /slideshow/src/res/shibibi_30col_9bits_B.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/shibibi_30col_9bits_B.png -------------------------------------------------------------------------------- /slideshow/src/res/together_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/together_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/tube_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/tube_9bits.png -------------------------------------------------------------------------------- /slideshow/src/res/voielactee_30col_9bits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/slideshow/src/res/voielactee_30col_9bits.png -------------------------------------------------------------------------------- /slideshow/src/transition_helper.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | #include "easing_table.h" 3 | 4 | #ifndef TRANSITION_HELPER 5 | #define TRANSITION_HELPER 6 | 7 | #define RSE_FRAMES(A) ((A*60)/framerate) 8 | 9 | void RSE_turn_screen_to_white(void); 10 | void RSE_turn_screen_to_black(void); 11 | void RSE_pause(u16 frames); 12 | void RSE_clearTileRowB(u16 row); 13 | void RSE_clearTileRowA(u16 row); 14 | void RSE_resetScrolling(void); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /spr_custom_engine/src/ball_coords.h: -------------------------------------------------------------------------------- 1 | #define geosphere_VTX_COUNT 42 2 | const Vect3D_f16 vb_geosphere_vertex_pos[42]; 3 | #define grid_cube_VTX_COUNT 100 4 | const Vect3D_f16 vb_grid_cube_vertex_pos[100]; 5 | #define grid_cube_small_VTX_COUNT 27 6 | const Vect3D_f16 vb_grid_cube_small_vertex_pos[27]; 7 | -------------------------------------------------------------------------------- /spr_custom_engine/src/out/rom_head.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/spr_custom_engine/src/out/rom_head.bin -------------------------------------------------------------------------------- /spr_custom_engine/src/profiler.h: -------------------------------------------------------------------------------- 1 | #ifndef PROFILER_H 2 | #define PROFILER_H 3 | #include 4 | #include 5 | 6 | #define PROFILER_PROBE_QTY 3 7 | 8 | typedef struct profiler profiler; 9 | struct profiler{ 10 | u32 subTickTotal[PROFILER_PROBE_QTY]; 11 | u32 subTickSart[PROFILER_PROBE_QTY]; 12 | u32 subTickEnd[PROFILER_PROBE_QTY]; 13 | u32 vblCurrent; 14 | u16 id[PROFILER_PROBE_QTY]; 15 | u16 idNext; 16 | char *name[PROFILER_PROBE_QTY][10]; 17 | }; 18 | 19 | profiler profilerMake(); 20 | u16 profilerAddProbe(profiler *prfl, const char *lib); 21 | void profilerDebug(profiler *prfl, u32 vblFrq); 22 | void profilerStartProbe(profiler *prfl, u16 id); 23 | u32 profilerStopProbe(profiler *prfl, u16 id); 24 | #endif 25 | -------------------------------------------------------------------------------- /spr_custom_engine/src/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /spr_custom_engine/src/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/spr_custom_engine/src/res/ball_metal.png -------------------------------------------------------------------------------- /spr_custom_engine/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | SPRITE ball_metal "ball_metal.png" 2 2 -1 -------------------------------------------------------------------------------- /tunnel_bitmap/python/2D_BitmapMode_proto/build_MD_NN.bat: -------------------------------------------------------------------------------- 1 | del *.o /q 2 | rd out /s /q 3 | 4 | set GDK=../../../../../SGDK 5 | set GDK_WIN=..\..\..\..\..\SGDK 6 | ..\..\..\..\..\SGDK\bin\make.exe -f ..\..\..\..\..\SGDK\makefile.gen 7 | 8 | pause 9 | if exist c:\gensKMod\rom.bin del c:\gensKMod\rom.bin 10 | if exist out\rom.bin copy out\rom.bin c:\gensKMod\ 11 | if exist out\rom.bin c: 12 | if exist out\rom.bin cd c:\gensKMod\ 13 | if exist rom.bin gens.exe rom.bin 14 | 15 | pause 16 | -------------------------------------------------------------------------------- /tunnel_bitmap/python/2D_BitmapMode_proto/circles3.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/tunnel_bitmap/python/2D_BitmapMode_proto/circles3.pyc -------------------------------------------------------------------------------- /tunnel_bitmap/python/2D_BitmapMode_proto/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /tunnel_bitmap/src-v02/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "main_tunnel.h" 3 | 4 | int main(){ 5 | main_tunnel(500); 6 | VDP_drawText("END", 10, 10); 7 | while (1){ 8 | VDP_waitVSync(); 9 | } 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /tunnel_bitmap/src/profiler.h: -------------------------------------------------------------------------------- 1 | #ifndef PROFILER_H 2 | #define PROFILER_H 3 | #include 4 | #include 5 | 6 | #define PROFILER_PROBE_QTY 3 7 | 8 | typedef struct profiler profiler; 9 | struct profiler{ 10 | u32 subTickTotal[PROFILER_PROBE_QTY]; 11 | u32 subTickSart[PROFILER_PROBE_QTY]; 12 | u32 subTickEnd[PROFILER_PROBE_QTY]; 13 | u32 vblCurrent; 14 | u16 id[PROFILER_PROBE_QTY]; 15 | u16 idNext; 16 | char *name[PROFILER_PROBE_QTY][10]; 17 | }; 18 | 19 | profiler profilerMake(); 20 | u16 profilerAddProbe(profiler *prfl, const char *lib); 21 | void profilerDebug(profiler *prfl, u32 vblFrq); 22 | void profilerStartProbe(profiler *prfl, u16 id); 23 | u32 profilerStopProbe(profiler *prfl, u16 id); 24 | #endif 25 | -------------------------------------------------------------------------------- /twister/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /twister/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /twister/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /twister/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "twisted_metal.h" 4 | 5 | int main() 6 | { 7 | twistedMetal(); 8 | return 0; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /twister/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image twister; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /twister/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE twister "twister.png" -1 2 | -------------------------------------------------------------------------------- /twister/res/twister.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/twister/res/twister.png -------------------------------------------------------------------------------- /twister/twisted_metal.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void twistedMetal(void); -------------------------------------------------------------------------------- /underwater_starfield_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /underwater_starfield_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /underwater_starfield_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /underwater_starfield_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | -------------------------------------------------------------------------------- /underwater_starfield_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | SPRITE sprite_stars "sprite_stars.png" 1 1 -1 2 | IMAGE underwater "underwater.png" -1 -------------------------------------------------------------------------------- /underwater_starfield_fx/src/res/sprite_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/underwater_starfield_fx/src/res/sprite_stars.png -------------------------------------------------------------------------------- /underwater_starfield_fx/src/res/underwater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/underwater_starfield_fx/src/res/underwater.png -------------------------------------------------------------------------------- /vector_balls/python/3d/build_fp_cosine_tables.bat: -------------------------------------------------------------------------------- 1 | build_fp_cosine_tables.py 2 | pause -------------------------------------------------------------------------------- /vector_balls/python/3d/obj_to_c_vectorball.bat: -------------------------------------------------------------------------------- 1 | obj_to_c_vectorball.py 2 | pause -------------------------------------------------------------------------------- /vector_balls/python/3d/util.py: -------------------------------------------------------------------------------- 1 | from math import pi 2 | 3 | def format_number(n, accuracy=6): 4 | """Formats a number in a friendly manner (removes trailing zeros and unneccesary point.""" 5 | 6 | fs = "%."+str(accuracy)+"f" 7 | str_n = fs%float(n) 8 | if '.' in str_n: 9 | str_n = str_n.rstrip('0').rstrip('.') 10 | if str_n == "-0": 11 | str_n = "0" 12 | #str_n = str_n.replace("-0", "0") 13 | return str_n 14 | 15 | 16 | def lerp(a, b, i): 17 | """Linear enterpolate from a to b.""" 18 | return a+(b-a)*i -------------------------------------------------------------------------------- /vector_balls/python/3d/vectorballs/geosphere.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 08.12.2015 20:18:26 3 | 4 | newmtl wire_153228184 5 | Ns 32 6 | d 1 7 | Tr 0 8 | Tf 1 1 1 9 | illum 2 10 | Ka 0.600000023842 0.894117712975 0.721568644047 11 | Kd 0.600000023842 0.894117712975 0.721568644047 12 | Ks 0.349999994040 0.349999994040 0.349999994040 13 | -------------------------------------------------------------------------------- /vector_balls/python/3d/vectorballs/grid_cube.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/vector_balls/python/3d/vectorballs/grid_cube.max -------------------------------------------------------------------------------- /vector_balls/python/3d/vectorballs/grid_cube.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 06.12.2015 21:08:12 3 | 4 | newmtl _cubeDefault 5 | Ns 10.000000000000 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.587999999523 0.587999999523 0.587999999523 12 | Kd 0.587999999523 0.587999999523 0.587999999523 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /vector_balls/python/3d/vectorballs/grid_cube_small.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/vector_balls/python/3d/vectorballs/grid_cube_small.max -------------------------------------------------------------------------------- /vector_balls/python/3d/vectorballs/grid_cube_small.mtl: -------------------------------------------------------------------------------- 1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware 2 | # File Created: 06.12.2015 23:00:35 3 | 4 | newmtl _cubeDefault 5 | Ns 10.000000000000 6 | Ni 1.500000000000 7 | d 1.000000000000 8 | Tr 0.000000000000 9 | Tf 1.000000000000 1.000000000000 1.000000000000 10 | illum 2 11 | Ka 0.587999999523 0.587999999523 0.587999999523 12 | Kd 0.587999999523 0.587999999523 0.587999999523 13 | Ks 0.000000000000 0.000000000000 0.000000000000 14 | Ke 0.000000000000 0.000000000000 0.000000000000 15 | -------------------------------------------------------------------------------- /vector_balls/src/ball_coords.h: -------------------------------------------------------------------------------- 1 | #define grid_cube_small_VTX_COUNT 20 2 | const Vect3D_f16 vb_grid_cube_small_vertex_pos[20]; 3 | -------------------------------------------------------------------------------- /vector_balls/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /vector_balls/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /vector_balls/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /vector_balls/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/vector_balls/src/out/rom.bin -------------------------------------------------------------------------------- /vector_balls/src/quicksort.h: -------------------------------------------------------------------------------- 1 | #include "genesis.h" 2 | 3 | // Sorting generic structure 4 | struct QSORT_ENTRY 5 | { 6 | fix16 value; 7 | u16 index; 8 | }; 9 | 10 | void QSwap (struct QSORT_ENTRY *a, struct QSORT_ENTRY *b); 11 | void QuickSort (u16 n, struct QSORT_ENTRY *a); 12 | -------------------------------------------------------------------------------- /vector_balls/src/res/ball_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/vector_balls/src/res/ball_metal.png -------------------------------------------------------------------------------- /vector_balls/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const SpriteDefinition ball_metal; 5 | 6 | #endif // _GFX_H_ 7 | -------------------------------------------------------------------------------- /vector_balls/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | SPRITE ball_metal "ball_metal.png" 2 2 -1 -------------------------------------------------------------------------------- /water_fx/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /water_fx/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /water_fx/src/cosine_table.h: -------------------------------------------------------------------------------- 1 | #define COSINE_TABLE_LEN 512 2 | 3 | extern const int tcos[COSINE_TABLE_LEN]; 4 | extern const int tsin[COSINE_TABLE_LEN]; 5 | -------------------------------------------------------------------------------- /water_fx/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /water_fx/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image water_tex_back; 5 | extern const Image water_tex_front; 6 | extern const SpriteDefinition pirate_logo; 7 | 8 | #endif // _GFX_H_ 9 | -------------------------------------------------------------------------------- /water_fx/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE water_tex_back "water_texture_back_layer.png" -1 2 | IMAGE water_tex_front "water_texture_front_layer.png" -1 3 | SPRITE pirate_logo "pirate_logo.png" 16 16 -1 -------------------------------------------------------------------------------- /water_fx/src/res/pirate_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/water_fx/src/res/pirate_logo.png -------------------------------------------------------------------------------- /water_fx/src/res/water_texture_back_layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/water_fx/src/res/water_texture_back_layer.png -------------------------------------------------------------------------------- /water_fx/src/res/water_texture_front_layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/water_fx/src/res/water_texture_front_layer.png -------------------------------------------------------------------------------- /xy_sin_scroll/src/build.bat: -------------------------------------------------------------------------------- 1 | del out\rom.bin.bak 2 | copy out\rom.bin out\rom.bin.bak 3 | del out\rom.bin 4 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 5 | out\rom.bin 6 | pause -------------------------------------------------------------------------------- /xy_sin_scroll/src/build_from_scratch.bat: -------------------------------------------------------------------------------- 1 | del out\* /s /f /q 2 | del out\*.* /s /f /q 3 | %GDK_WIN%\bin\make -f %GDK_WIN%\makefile.gen 4 | out\rom.bin 5 | pause -------------------------------------------------------------------------------- /xy_sin_scroll/src/language.dat: -------------------------------------------------------------------------------- 1 | [English] 2 | Menu Language=&English menu 3 | -------------------------------------------------------------------------------- /xy_sin_scroll/src/out/rom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/xy_sin_scroll/src/out/rom.bin -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/gfx.h: -------------------------------------------------------------------------------- 1 | #ifndef _GFX_H_ 2 | #define _GFX_H_ 3 | 4 | extern const Image stars_anim; 5 | extern const Image rse_logo; 6 | 7 | #endif // _GFX_H_ 8 | -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/gfx.res: -------------------------------------------------------------------------------- 1 | IMAGE stars_anim "stars_anim.png" -1 2 | IMAGE rse_logo "rse_logo.png" -1 3 | -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/resources.h: -------------------------------------------------------------------------------- 1 | #ifndef _RESOURCES_H_ 2 | #define _RESOURCES_H_ 3 | 4 | extern const u8 zsenilia_theme[37418]; 5 | 6 | #endif // _RESOURCES_H_ 7 | -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/resources.res: -------------------------------------------------------------------------------- 1 | XGM zsenilia_theme "zsenilia_theme.vgm" -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/rse_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/xy_sin_scroll/src/res/rse_logo.png -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/stars_anim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/xy_sin_scroll/src/res/stars_anim.png -------------------------------------------------------------------------------- /xy_sin_scroll/src/res/zsenilia_theme.vgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/astrofra/megadrive-experiments/16daa400f32dafa271a3169df3c3461e20b27196/xy_sin_scroll/src/res/zsenilia_theme.vgm --------------------------------------------------------------------------------