DOOM - ARM7TDMI version

Post Reply
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

DOOM - ARM7TDMI version

Post by dudleysoft71 »

Over the last few weeks I've been working on a new port of DOOM to the BBC micro, this version is built targetting the ARM7TDMI which means it will run on the PiTubeDirect, a real ARM7TDMI co-processor, and since it emulates the ARM7TDMI it also runs in BeebEm.

I wrote this build to do three things:
  1. Remove the requirement to load a ROM image to play the game.
  2. Support all the official WADs plus custom WAD files without modification
  3. Support ARM7TDMI so it will run in BeebEm.
The game supports VideoNULA palette modes, both a dynamic 16 colour mode using -NULA parameter, and a 16 grey scale version using -GREY, as well as a dithered mode 2 8 colour mode.

Here's some screenshots:
Screenshot 2021-06-10 20-22-29.png
Screenshot 2021-06-10 20-22-23.png
doom_title_beebem.png
doom_beebem2.png
doom_beebem.png
You can download an ADL disk image here:
DOOM.zip
(185.05 KiB) Downloaded 91 times
Copy onto an ADFS hdd, and then put your WAD file in the same directory.
Supported official WADs:
  • DOOM1/WAD - Shareware doom wad
  • DOOM/WAD - Original full game
  • DOOMU/WAD - Ultimate Doom
  • DOOM2/WAD - DOOM 2
  • TNT/WAD - TNT: Evilution
  • PLUTONIA/W - The Plutonia Experiment (note this is truncated to 10 characters)
These are detected automatically, you can use -FILE to specify as many files as you like.
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by dudleysoft71 »

Just like with Quake I've added a HDD image with the shareware version of the game:
DOOM_HDD.zip
(1.86 MiB) Downloaded 75 times
This can be placed on an SD card for BeebSCSI, or the files copied into your own HDD image and run using *DOOM [-NULA|-GREY]

I've also created a github repository with the source to build the game, you will need the ARM-NONE-EABI toolchain installed, and if you wish to alter the assembly language used in beebScreen you need to have xxd in your path since this is used to convert the BeebAsm binary files into C source files to include in the game.

The repository is here: https://github.com/dudleysoft/beebDoom
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
User avatar
marcusjambler
Posts: 1147
Joined: Mon May 22, 2017 12:20 pm
Location: Bradford
Contact:

Re: DOOM - ARM7TDMI version

Post by marcusjambler »

:shock: Fantastic I love a bit of DOOM =D> =D>
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by dudleysoft71 »

I've created a new build of DOOM with support for RGB2HDMI NULA palette emulation.

To use this build simply run using:

Code: Select all

*DOOM -HDMI
This will enable the 16 colour dynamic NULA palette via an RGB2HDMI adapter.
Attachments
DOOM_HDD.zip
(1.86 MiB) Downloaded 55 times
DOOM.zip
(185.05 KiB) Downloaded 51 times
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by dudleysoft71 »

It's been a while since I updated this, before christmas I was working on adding PiTubeDirect framebuffer support to my ports, DOOM was one of the first I got working, this version adds support for 320x200 256 colour mode via the PiTubeDirect's own framebuffer, obviously this version wont display on the normal beeb screen, and requires a HDMI cable attached to the Pi.

To activate the pi framebuffer, run with

Code: Select all

*DOOM -PI
as usual I've attached a standalone ADFS disk image with just the executable, and a HDD image with the shareware wad files.
Attachments
DOOM_HDD.zip
(1.87 MiB) Downloaded 69 times
DOOM.zip
(186.62 KiB) Downloaded 59 times
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
User avatar
hoglet
Posts: 12663
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: DOOM - ARM7TDMI version

Post by hoglet »

dudleysoft71 wrote: Thu Jan 06, 2022 2:15 pm It's been a while since I updated this, before christmas I was working on adding PiTubeDirect framebuffer support to my ports, DOOM was one of the first I got working, this version adds support for 320x200 256 colour mode via the PiTubeDirect's own framebuffer
I just checked this out on the latest Hognose build and it's fantastic!!!

Are there any more games I can try out?
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by dudleysoft71 »

I'll try to sort out the quake port and get that posted, I want to check that it works alright.

I might then take a look at a couple of the other games to see if I can add pi framebuffer support, then I really want to take a second shot at Frontier, with everything I've written since I did the original port I think I can make a much better version and I can add support for the pi's framebuffer as well.
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by bob147 »

This is probably more suited to the hardware section, but I'd love to give this a go on real hardware and I'm a bit of a novice when it comes to all the add-ons! I've got a BBC Master (with MMFS installed but currently unused thanks to having a Gotek as well), it's a given that I'll need to get pi tube direct sorted out, but I was under the impression that beeb-scsi was no longer being manufactured by anyone, so what are people using as a hard drive solution in 2023?

Well done to all involved by the way, it's great to see the tube being used in such a creative way. It just feels right that the game that runs on 'everything', runs on the beeb as well! :D
User avatar
tricky
Posts: 7694
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: DOOM - ARM7TDMI version

Post by tricky »

For SCSI you can put another pi on the 1mhz bus with a level shifter and have an HD, music x000 and even a beeb SID all emulated at once if you like.

PS and maybe a few MB of ram.
User avatar
dudleysoft71
Posts: 298
Joined: Tue May 26, 2020 6:56 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by dudleysoft71 »

The easiest method of adding a hard drive is to use the Pi1Mhz bus, this provides BeebSCSI emulation along with Music5000 and RAM disc. Ken Lowe sells adaptor boards that fit in the keyboard well, however finding a Raspberry Pi zero might be the hardest part.
James Watson - DudleySoft

BBC Model B 32K - PiTubeDirect, Pi1Mhz, Smally Mouse, Gotek, DFS/ADFS, 4xSWRAM.
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: DOOM - ARM7TDMI version

Post by bob147 »

Thanks both, if in doubt, more rasberry pis! I'll bide my time until I can snap up a couple of them.
Post Reply

Return to “miscellaneous new bbc and electron games”