Skip to content

Commit 6d10c96

Browse files
committed
Rename project to DoomGeo
1 parent f8f5e19 commit 6d10c96

26 files changed

Lines changed: 79 additions & 80 deletions

.github/workflows/build.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
- name: Upload ROM
5656
uses: actions/upload-artifact@v4
5757
with:
58-
name: doomgeo-aes-rom
58+
name: doomgeo-rom
5959
path: dist/rom/*
6060
if-no-files-found: error
6161

@@ -83,7 +83,7 @@ jobs:
8383
- name: Upload ASM ROM
8484
uses: actions/upload-artifact@v4
8585
with:
86-
name: doomgeo-aes-asm-rom
86+
name: doomgeo-asm-rom
8787
path: dist/asm-rom/*
8888
if-no-files-found: error
8989

@@ -119,7 +119,7 @@ jobs:
119119
- name: Upload Pages ROM
120120
uses: actions/upload-artifact@v4
121121
with:
122-
name: doomgeo-aes-pages-rom
122+
name: doomgeo-pages-rom
123123
path: dist/pages-rom/*
124124
if-no-files-found: error
125125

@@ -130,11 +130,11 @@ jobs:
130130
matrix:
131131
include:
132132
- os: ubuntu-24.04
133-
artifact: doomgeo-aes-linux-helpers
133+
artifact: doomgeo-linux-helpers
134134
build_name: doomgeo-build
135135
plan_name: doomgeo-plan
136136
- os: windows-2022
137-
artifact: doomgeo-aes-windows-helpers
137+
artifact: doomgeo-windows-helpers
138138
build_name: doomgeo-build.exe
139139
plan_name: doomgeo-plan.exe
140140
runs-on: ${{ matrix.os }}
@@ -216,7 +216,7 @@ jobs:
216216
- name: Upload Windows-built ROM
217217
uses: actions/upload-artifact@v4
218218
with:
219-
name: doomgeo-aes-windows-rom
219+
name: doomgeo-windows-rom
220220
path: dist/windows-rom/*
221221
if-no-files-found: error
222222

@@ -238,17 +238,17 @@ jobs:
238238
- name: Download Pages ROM artifact
239239
uses: actions/download-artifact@v4
240240
with:
241-
name: doomgeo-aes-pages-rom
241+
name: doomgeo-pages-rom
242242
path: dist/pages-rom
243243

244244
- name: Download ASM ROM artifact
245245
uses: actions/download-artifact@v4
246246
with:
247-
name: doomgeo-aes-asm-rom
247+
name: doomgeo-asm-rom
248248
path: dist/asm-rom
249249

250250
- name: Build Pages bundle
251-
run: python3 tools/doomgeo_build.py pages --rom dist/pages-rom/doomgeo-aes.zip --bios dist/pages-rom/neogeo.zip --asm-rom dist/asm-rom/doomgeo-aes-asm.zip --out dist/pages
251+
run: python3 tools/doomgeo_build.py pages --rom dist/pages-rom/doomgeo.zip --bios dist/pages-rom/neogeo.zip --asm-rom dist/asm-rom/doomgeo-asm.zip --out dist/pages
252252

253253
- name: Verify FBNeo web package CRCs
254254
run: |
@@ -280,10 +280,10 @@ jobs:
280280
if actual != crc:
281281
raise SystemExit(f"{path}:{name} CRC {actual:08x} != {crc:08x}")
282282
283-
main_rom = glob.glob("dist/pages/rom/web-*/doomgeo-aes.zip")
283+
main_rom = glob.glob("dist/pages/rom/web-*/doomgeo.zip")
284284
main_launch_rom = glob.glob("dist/pages/rom/web-*/magdrop2.zip")
285285
main_bios = glob.glob("dist/pages/rom/web-*/neogeo.zip")
286-
asm_rom = glob.glob("dist/pages/rom/asm/web-*/doomgeo-aes-asm.zip")
286+
asm_rom = glob.glob("dist/pages/rom/asm/web-*/doomgeo-asm.zip")
287287
asm_launch_rom = glob.glob("dist/pages/rom/asm/web-*/magdrop2.zip")
288288
if len(main_rom) != 1 or len(main_launch_rom) != 1 or len(main_bios) != 1 or len(asm_rom) != 1 or len(asm_launch_rom) != 1:
289289
raise SystemExit(

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ GNGEO_BASE_DATAFILE:=$(GNGEO_DATAFILE)
269269
GNGEO_RUN_DATAFILE=$(ROM)/gngeo_data.zip
270270

271271
%/gngeo_data.zip: %/202-p1.p1 %/202-m1.m1 %/202-v1.v1 %/202-s1.s1 %/202-c1.c1 %/202-c2.c2
272-
$(ROMTOOL) --build hash --format gngeo --name $(GAMEROM) --long-name DoomGeo-AES --year 2026 --publisher Unpublished --prom $(@D)/202-p1.p1 --mrom $(@D)/202-m1.m1 --vrom $(@D)/202-v1.v1 --srom $(@D)/202-s1.s1 --crom $(@D)/202-c1.c1 $(@D)/202-c2.c2 --output $@ --extra gngeo.data="$(GNGEO_BASE_DATAFILE)"
272+
$(ROMTOOL) --build hash --format gngeo --name $(GAMEROM) --long-name DoomGeo --year 2026 --publisher Unpublished --prom $(@D)/202-p1.p1 --mrom $(@D)/202-m1.m1 --vrom $(@D)/202-v1.v1 --srom $(@D)/202-s1.s1 --crom $(@D)/202-c1.c1 $(@D)/202-c2.c2 --output $@ --extra gngeo.data="$(GNGEO_BASE_DATAFILE)"
273273

274274
gngeo gngeo-fullscreen: GNGEO_DATAFILE=$(GNGEO_RUN_DATAFILE)
275275
gngeo gngeo-fullscreen: $(GNGEO_RUN_DATAFILE)
@@ -397,7 +397,7 @@ $(SPRITE_BANK_TEST_CART): $(SPRITE_BANK_TEST_PROM) $(SPRITE_BANK_TEST_ROM)/202-c
397397
printf "===\nhttps://github.com/dciabrin/ngdevkit\n===" | zip -qz $(GAMEROM).zip `ls -1 | grep -v -e \.zip`
398398

399399
$(SPRITE_BANK_TEST_GNGEO_DATAFILE): $(SPRITE_BANK_TEST_PROM) $(SPRITE_BANK_TEST_ROM)/202-c1.c1 $(SPRITE_BANK_TEST_ROM)/202-c2.c2 $(SPRITE_BANK_TEST_ROM)/202-s1.s1 $(SPRITE_BANK_TEST_ROM)/202-m1.m1 $(SPRITE_BANK_TEST_ROM)/202-v1.v1 | $(SPRITE_BANK_TEST_ROM)
400-
$(ROMTOOL) --build hash --format gngeo --name $(GAMEROM) --long-name DoomGeo-AES-Sprite-Bank-Test --year 2026 --publisher Unpublished --prom $(SPRITE_BANK_TEST_PROM) --mrom $(SPRITE_BANK_TEST_ROM)/202-m1.m1 --vrom $(SPRITE_BANK_TEST_ROM)/202-v1.v1 --srom $(SPRITE_BANK_TEST_ROM)/202-s1.s1 --crom $(SPRITE_BANK_TEST_ROM)/202-c1.c1 $(SPRITE_BANK_TEST_ROM)/202-c2.c2 --output $@ --extra gngeo.data="$(GNGEO_BASE_DATAFILE)"
400+
$(ROMTOOL) --build hash --format gngeo --name $(GAMEROM) --long-name DoomGeo-Sprite-Bank-Test --year 2026 --publisher Unpublished --prom $(SPRITE_BANK_TEST_PROM) --mrom $(SPRITE_BANK_TEST_ROM)/202-m1.m1 --vrom $(SPRITE_BANK_TEST_ROM)/202-v1.v1 --srom $(SPRITE_BANK_TEST_ROM)/202-s1.s1 --crom $(SPRITE_BANK_TEST_ROM)/202-c1.c1 $(SPRITE_BANK_TEST_ROM)/202-c2.c2 --output $@ --extra gngeo.data="$(GNGEO_BASE_DATAFILE)"
401401

402402
sprite-bank-test-rom: $(SPRITE_BANK_TEST_CART)
403403

NEO_GEO_PLAYABILITY_PATCH.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Neo Geo Playability Patch
22

33
This branch adopts the useful parts of the external playability patch while
4-
preserving DoomGeo-AES' Neo Geo renderer model: WAD data is converted offline,
4+
preserving DoomGeo's Neo Geo renderer model: WAD data is converted offline,
55
graphics are pre-baked into Neo Geo-friendly tiles, and the 68000 runtime
66
updates sprite/fix-layer state instead of drawing a framebuffer.
77

README.md

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# DoomGeo-AES
1+
# DoomGeo
22

3-
DoomGeo-AES is a Neo Geo AES research prototype that pushes Doom-like gameplay
3+
DoomGeo is a Neo Geo AES research prototype that pushes Doom-like gameplay
44
through the hardware the way the machine wants to draw: sprite strips, pre-baked
55
graphics, fix-layer UI, and very small runtime data.
66

@@ -9,7 +9,7 @@ data offline, convert the map and assets into Neo Geo-friendly structures, and
99
the 68000 runtime drives the scene by updating sprite control blocks rather than
1010
drawing pixels.
1111

12-
![Current DoomGeo-AES gameplay](docs/screenshots/doomgeo-aes-current-gameplay.png)
12+
![Current DoomGeo gameplay](docs/screenshots/doomgeo-current-gameplay.png)
1313

1414
## Current State
1515

@@ -30,43 +30,43 @@ drawing pixels.
3030

3131
| Motion showcase |
3232
| --- |
33-
| ![Animated DoomGeo-AES default ROM showcase with forward walking, turning, and shooting](docs/screenshots/doomgeo-aes-motion.gif) |
33+
| ![Animated DoomGeo default ROM showcase with forward walking, turning, and shooting](docs/screenshots/doomgeo-motion.gif) |
3434

3535
| Intro/menu | Current gameplay |
3636
| --- | --- |
37-
| ![Block-letter DoomGeo-AES intro menu for the compiled sample map](docs/screenshots/doomgeo-aes-intro-menu.png) | ![Current sample-map wall, floor, weapon, and HUD state](docs/screenshots/doomgeo-aes-current-gameplay.png) |
37+
| ![Block-letter DoomGeo intro menu for the compiled sample map](docs/screenshots/doomgeo-intro-menu.png) | ![Current sample-map wall, floor, weapon, and HUD state](docs/screenshots/doomgeo-current-gameplay.png) |
3838

3939
| Minimap overlay |
4040
| --- |
41-
| ![Fix-layer minimap overlay with map markers](docs/screenshots/doomgeo-aes-current-minimap.png) |
41+
| ![Fix-layer minimap overlay with map markers](docs/screenshots/doomgeo-current-minimap.png) |
4242

4343
| Combat test ROM | Shotgun fire frame |
4444
| --- | --- |
45-
| ![Combat verification ROM with a visible imp and shotgun HUD state](docs/screenshots/doomgeo-aes-combat-test.png) | ![Combat interaction smoke with restrained weapon muzzle flash preserving shotgun detail](docs/screenshots/doomgeo-aes-combat-fired.png) |
45+
| ![Combat verification ROM with a visible imp and shotgun HUD state](docs/screenshots/doomgeo-combat-test.png) | ![Combat interaction smoke with restrained weapon muzzle flash preserving shotgun detail](docs/screenshots/doomgeo-combat-fired.png) |
4646

4747
| Combat kill smoke |
4848
| --- |
49-
| ![Combat interaction smoke after killing the visible imp](docs/screenshots/doomgeo-aes-combat-kill.png) |
49+
| ![Combat interaction smoke after killing the visible imp](docs/screenshots/doomgeo-combat-kill.png) |
5050

5151
| Sample encounter | Sample scout route |
5252
| --- | --- |
53-
| ![Focused sample-map verification ROM with a visible monster](docs/screenshots/doomgeo-aes-e1m1-encounter.png) | ![Sample-map scout ROM with pickups and enemies visible](docs/screenshots/doomgeo-aes-e1m1-scout.png) |
53+
| ![Focused sample-map verification ROM with a visible monster](docs/screenshots/doomgeo-e1m1-encounter.png) | ![Sample-map scout ROM with pickups and enemies visible](docs/screenshots/doomgeo-e1m1-scout.png) |
5454

5555
| Melee test ROM | Monster gallery ROM |
5656
| --- | --- |
57-
| ![Close-combat verification ROM with chainsaw equipped and a nearby imp](docs/screenshots/doomgeo-aes-melee-test.png) | ![Living monster gallery ROM with multiple shareware Doom enemy sprites and a barrel](docs/screenshots/doomgeo-aes-monster-gallery.png) |
57+
| ![Close-combat verification ROM with chainsaw equipped and a nearby imp](docs/screenshots/doomgeo-melee-test.png) | ![Living monster gallery ROM with multiple shareware Doom enemy sprites and a barrel](docs/screenshots/doomgeo-monster-gallery.png) |
5858

5959
| Arsenal test ROM | Held-C weapon shortcut |
6060
| --- | --- |
61-
| ![Arsenal verification ROM with available WAD-backed weapons, keycards, ammo, and armor](docs/screenshots/doomgeo-aes-arsenal-test.png) | ![Held-C weapon shortcut smoke after pressing Right to select the chaingun](docs/screenshots/doomgeo-aes-weapon-shortcut-held.png) |
61+
| ![Arsenal verification ROM with available WAD-backed weapons, keycards, ammo, and armor](docs/screenshots/doomgeo-arsenal-test.png) | ![Held-C weapon shortcut smoke after pressing Right to select the chaingun](docs/screenshots/doomgeo-weapon-shortcut-held.png) |
6262

6363
| Death/drop test ROM |
6464
| --- |
65-
| ![Death/drop verification ROM with Doom corpses and a dropped shotgun rendered in the playfield](docs/screenshots/doomgeo-aes-death-test.png) |
65+
| ![Death/drop verification ROM with Doom corpses and a dropped shotgun rendered in the playfield](docs/screenshots/doomgeo-death-test.png) |
6666

6767
| Powerup test ROM |
6868
| --- |
69-
| ![Powerup verification ROM with Doom powerup pickups and a visible imp](docs/screenshots/doomgeo-aes-powerup-test.png) |
69+
| ![Powerup verification ROM with Doom powerup pickups and a visible imp](docs/screenshots/doomgeo-powerup-test.png) |
7070

7171
The checked-in screenshot and motion-GIF set is currently captured from the
7272
optimized hand-authored sample map, not from the experimental converted-WAD
@@ -188,10 +188,9 @@ python3 tools/inspect_map_specials.py --map E1M2
188188
```
189189

190190
You must provide your own Neo Geo BIOS for local emulation. The browser package
191-
uses a separate Freedoom-based ROM and an FBNeo-compatible packaging path, but
192-
that does not rename the project: `DoomGeo-AES` is the game name. The browser
193-
player launches a `magdrop2` romset package internally so the arcade core
194-
accepts the generated homebrew ROM zip.
191+
uses a separate Freedoom-based ROM and an FBNeo-compatible packaging path. The
192+
browser player launches a `magdrop2` romset package internally so the arcade
193+
core accepts the generated DoomGeo homebrew ROM zip.
195194

196195
## Documentation
197196

@@ -227,7 +226,7 @@ license-compatible. Current work adapts ideas and terminology only.
227226

228227
## License And Assets
229228

230-
DoomGeo-AES is research/homebrew work derived from this repo's Neo Geo raycaster
229+
DoomGeo is research/homebrew work derived from this repo's Neo Geo raycaster
231230
code plus original conversion/runtime code written here. It does not include a
232231
commercial Doom IWAD, a Neo Geo BIOS, or proprietary id Software game data. The
233232
default build downloads shareware/Freedoom-compatible WAD data under `.tools/`

docs/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Architecture Notes
22

3-
DoomGeo-AES uses the original Neo Geo raycaster idea from the video reference:
3+
DoomGeo uses the original Neo Geo raycaster idea from the video reference:
44
do not draw pixels at runtime. Instead, prepare graphics in C-ROM format and let
55
the video chip scale vertical sprite strips.
66

docs/build-packaging.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ bank without cutting assets back to a smaller romset shape. The browser
2323
player launches `magdrop2.zip` and sets `EJS_gameName = "magdrop2"` because
2424
FBNeo identifies arcade games by driver/romset name. The bundle also writes
2525
project-named copies
26-
(`doomgeo-aes.zip` and `doomgeo-aes-asm.zip`) for download links, but those are
26+
(`doomgeo.zip` and `doomgeo-asm.zip`) for download links, but those are
2727
not the files passed to the emulator. The raw build artifacts under
2828
`build/rom/` are not rewritten this way; this compatibility package is only for
2929
the browser player.
@@ -401,10 +401,10 @@ The Pages job consumes the Freedoom web ROM artifact and writes:
401401
dist/pages/index.html
402402
dist/pages/asm.html
403403
dist/pages/rom/web-<hash>/magdrop2.zip
404-
dist/pages/rom/web-<hash>/doomgeo-aes.zip
404+
dist/pages/rom/web-<hash>/doomgeo.zip
405405
dist/pages/rom/web-<hash>/neogeo.zip
406406
dist/pages/rom/asm/web-<hash>/magdrop2.zip
407-
dist/pages/rom/asm/web-<hash>/doomgeo-aes-asm.zip
407+
dist/pages/rom/asm/web-<hash>/doomgeo-asm.zip
408408
```
409409

410410
The web players use the hosted EmulatorJS loader, set `EJS_core = "fbneo"`, and

docs/reference-ports.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Reference Port Notes
22

3-
These repositories are useful research material for DoomGeo-AES, but they are
3+
These repositories are useful research material for DoomGeo, but they are
44
not drop-in solutions for Neo Geo hardware. The current branch does not copy
55
their code.
66

@@ -25,7 +25,7 @@ Useful ideas:
2525

2626
Why it cannot be copied directly:
2727

28-
- SNES Super FX rendering is framebuffer-oriented; DoomGeo-AES must stay on Neo
28+
- SNES Super FX rendering is framebuffer-oriented; DoomGeo must stay on Neo
2929
Geo sprite strips, fix-layer UI, and offline graphics conversion.
3030
- The assembly/runtime layout is tuned for SNES memory, cartridge mapping, and
3131
Super FX behavior, not the Neo Geo 68000/video-chip path.
@@ -53,7 +53,7 @@ Useful ideas:
5353
Why it cannot be copied directly:
5454

5555
- The model assumes a normal `DG_ScreenBuffer` that the platform displays.
56-
- DoomGeo-AES has no framebuffer and cannot upload arbitrary per-frame pixels.
56+
- DoomGeo has no framebuffer and cannot upload arbitrary per-frame pixels.
5757
- The Neo Geo path must pre-bake graphics and update sprite control blocks
5858
instead.
5959

@@ -87,7 +87,7 @@ Why it cannot be copied directly:
8787

8888
- It still exposes Doom's framebuffer/audio model.
8989
- It is designed for devices that can receive a framebuffer and output it.
90-
- DoomGeo-AES must avoid runtime patch composition and pixel drawing.
90+
- DoomGeo must avoid runtime patch composition and pixel drawing.
9191

9292
Potential adaptation:
9393

@@ -116,7 +116,7 @@ Useful ideas:
116116

117117
Neo Geo adaptation:
118118

119-
- DoomGeo-AES keeps its generated-data, sprite/fix-layer model. It now uses a
119+
- DoomGeo keeps its generated-data, sprite/fix-layer model. It now uses a
120120
small Neo Geo-specific equivalent of the timing idea: the main loop detects a
121121
missed vblank window and gives the following active gameplay frame one capped
122122
extra player movement tick. This keeps walking and turning closer to real time
@@ -162,7 +162,7 @@ Useful ideas:
162162
- The Super FX source is useful as a constrained-console Doom renderer, not as
163163
source to paste into the Neo Geo runtime.
164164
- Its default configuration keeps true floor/ceiling texture mapping disabled
165-
and uses cheaper solid/dithered floor drawing, which matches DoomGeo-AES's
165+
and uses cheaper solid/dithered floor drawing, which matches DoomGeo's
166166
pre-baked floor/palette cue strategy.
167167
- Its view build is split into A/B/C screen ranges and gates high/low detail
168168
work before tracing, which is a good model for keeping movement responsive
@@ -179,7 +179,7 @@ Why it cannot be copied directly:
179179

180180
- The code is Super FX assembly with GSU bank/cache/plot instructions, not 68000
181181
Neo Geo code.
182-
- Its drawing path writes pixels; DoomGeo-AES must preserve the offline
182+
- Its drawing path writes pixels; DoomGeo must preserve the offline
183183
conversion, C-ROM tile, sprite-strip, and fix-layer architecture.
184184
- Exact floor span rendering would spend runtime work in the wrong place for
185185
this hardware. Wall visibility and input response should keep priority.

docs/release-plan.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# DoomGeo-AES Build and Release Plan
1+
# DoomGeo Build and Release Plan
22

33
This file is the committed plan tracked by `doomgeo-plan`. It is intentionally
44
separate from the build helper so one standalone binary can build/package while
@@ -21,17 +21,17 @@ the other only accompanies and tracks the plan.
2121
## Evidence
2222

2323
- Linux ROM builds are expected to produce `build/rom/magdrop2.zip` internally,
24-
then package it as `dist/rom/doomgeo-aes.zip`.
24+
then package it as `dist/rom/doomgeo.zip`.
2525
- ASM ROM builds are expected to produce `build/asm-rom/magdrop2.zip` from
26-
`asm/doomgeo_asm.S`, then package it as `dist/asm-rom/doomgeo-aes-asm.zip`.
26+
`asm/doomgeo_asm.S`, then package it as `dist/asm-rom/doomgeo-asm.zip`.
2727
- Windows/MSYS2 ROM builds are expected to produce the same packaged
28-
`doomgeo-aes.zip` through the UCRT64 ngdevkit packages.
28+
`doomgeo.zip` through the UCRT64 ngdevkit packages.
2929
- Standalone helper builds are expected to produce `doomgeo-build` and
3030
`doomgeo-plan` artifacts for Linux, plus `.exe` variants for Windows.
3131
- The Pages bundle is expected to publish `index.html`, `asm.html`,
32-
`rom/web-<hash>/magdrop2.zip`, `rom/web-<hash>/doomgeo-aes.zip`,
32+
`rom/web-<hash>/magdrop2.zip`, `rom/web-<hash>/doomgeo.zip`,
3333
`rom/web-<hash>/neogeo.zip`, `rom/asm/web-<hash>/magdrop2.zip`, and
34-
`rom/asm/web-<hash>/doomgeo-aes-asm.zip`.
34+
`rom/asm/web-<hash>/doomgeo-asm.zip`.
3535
- The Pages ROM zips are expected to be FBNeo-compatible launch packages with
3636
`magdrop2` driver chip filenames, sizes, and CRCs internally while preserving
3737
the generated homebrew data outside the final padding correction bytes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)