Glad to see some love for Wolf3d. It was an important step in the development of the FPS genre, but has always been overshadowed by Doom. As someone who could not play Doom on my 386, Wolfenstein I have many fond memories of this classic. I'm sure I'm not alone!
I had a similar experience with Quake when it first came out... it felt more like a slideshow on my AMD 5x86 @133mhz w/ 64mb ram and large cache module. My computer was entirely lopsided for games, I got the AMD a few months before a crazy deal on the ram and cache module for it, so I maxed it out. I will say it tore through business apps with OS/2 and later NT4 ran like a champ on that little box. I couldn't afford…
Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
21–30 of 39 posts
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#22Really cool project! Since the hardware of the cartridge is fully customizable, wouldn't it be possible to port games that would normally not be playable on the GBC? You could add advanced hardware, that is nowadays so small that it fits on the cartridge, and the GBC would act more or less like a renderer of the pre-calculated output of those chips.
Probably yes, the NES is "easier" in this regard since char-rom is read from cart (so a cart only needs to provide the bits in correct order), the GB(C)'s have video-ram that contains all parts so you need to transfer it over. Don't exactly remember but iirc classic GB was a tad too slow for this, but GBC has a DMA that might be fast enough. (I've developed on classic GB mostly so don't know the characteristics of GB…
https://gbdev.gg8.se/wiki/articles/Gameboy_and_Gameboy_Color...
Also related: "There oughta be GTA5 for the Game Boy" about a Wifi cartridge that can stream video (gameplay, etc) directly to the GB screen. https://there.oughta.be/gta5-for-the-game-boy
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#23Really cool project! Since the hardware of the cartridge is fully customizable, wouldn't it be possible to port games that would normally not be playable on the GBC? You could add advanced hardware, that is nowadays so small that it fits on the cartridge, and the GBC would act more or less like a renderer of the pre-calculated output of those chips.
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#24Earlier quoted context omitted.
I played a bit with original gameboy too. I was very surprised when, iirc, the cpu is not even fast enough to clear the screen in one vertical blank, or even in one frame! It takes like three to fully clear the map.
This is false. You can do it in 1. It just involves mid-frame tile switching IIRC or using characters / sprites to fill in the rest.
You can update 1 tile per scan line (during hblank), so 154 tiles per frame (including 10 vblank scanlines). So you need 2.5 frames to replace all tiles.
If you are really smart about updates, you can “race the beam”, basically start updating tiles just as the frame starts rendering, just behind the active scan line. Then you can update maybe 280 tiles before the active scan line of the next frame catches up with you.
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#25Really cool project! Since the hardware of the cartridge is fully customizable, wouldn't it be possible to port games that would normally not be playable on the GBC? You could add advanced hardware, that is nowadays so small that it fits on the cartridge, and the GBC would act more or less like a renderer of the pre-calculated output of those chips.
Systems with DMA like the Genesis could just act as a dumb framebuffer to whatever the cartridge decides to dump down the address lines. The Gameboy is a little more difficult, but could also theoretically do it as well if you decide to dump the FPS a bit and/or lower the resolution, and buffer the frames. Which is essentially what the faceball2000 devs had to deal with. And you can speed that up a bit by "racing the beam" (rendering the next frame to a previous tile as the next tile is blitting).
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#26Earlier quoted context omitted.
Probably yes, the NES is "easier" in this regard since char-rom is read from cart (so a cart only needs to provide the bits in correct order), the GB(C)'s have video-ram that contains all parts so you need to transfer it over. Don't exactly remember but iirc classic GB was a tad too slow for this, but GBC has a DMA that might be fast enough. (I've developed on classic GB mostly so don't know the characteristics of GB…
I don't think it's widely known (only found and documented somewhat recently) that there is a way for cartridges to directly drive the Game Boy Color LCD, bypassing the CPU/PPU (PGB Modes). At that point though it becomes even less of a Game Boy game than what the Wolfenstein and other carts are doing. https://gbdev.gg8.se/wiki/articles/Gameboy_and_Gameboy_Color... Also related: "There oughta be GTA5 for the Game Boy…
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#27Glad to see some love for Wolf3d. It was an important step in the development of the FPS genre, but has always been overshadowed by Doom. As someone who could not play Doom on my 386, Wolfenstein I have many fond memories of this classic. I'm sure I'm not alone!
It probably depends on how young one was, I was young enough to play it for a year or two before Doom appeared (also Doom was kind-of sluggish on my machine at the time).
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#28CPU completely halts, so you can't use the joypad or sound anymore.
https://gbdev.gg8.se/wiki/articles/Gameboy_and_Gameboy_Color...
Re: Wolfenstein 3D for Gameboy Color on custom cartridge (2016)
#29Game Boy Color has a secret video mode where you can directly drive the LCD from the cartridge slot. CPU completely halts, so you can't use the joypad or sound anymore. https://gbdev.gg8.se/wiki/articles/Gameboy_and_Gameboy_Color...
In PGB mode 2 the CPU is still able to run (within a limited address range) and can use register FF75 "PGBIO" for limited input and output on some cartridge pins (and/or the link port for IO).