L'Abbaye des Morts ported to dual Propeller board
macca
Posts: 783
in Propeller 1
This is a port of the Abbaye des Morts game by Locomalito for the Parallax Propeller chip.
Written in C with the Propeller GCC toolchain, it uses the Linux source code written by David "Nevat" Lara almost verbatim for the graphics, movements, collision checks and game logic.
The source code targets a board built with two Propeller chips connected toghether with an high-speed serial line. One chip works as the GPU (Graphical Processing Unit) and drives a VGA or LCD screen with a resolution of 320x240 pixels (the game uses a window of 256x192 pixels) and contains all the graphics elements. The other chip works as the CPU and contains all the game logic code, the room maps and reads the inputs from the game controller.
The GPU chip is connected to a 128k EEPROM (Microchip 24LC1025) needed to hold all graphics data. The CPU chip is connected to a 128k EEPROM (Microchip 24LC1025) and a 128k SPI SRAM (Microchip 23LC1024) needed to hold the code and the temporary maps data.
The game controller is a NES-like controller built with a 74HC165 shift register.
The included readme file explains how the chips are connected.
Currently there is no sound. The Linux port uses OGG Vorbis files too large to fit. The CPU code has some free space and it may be possible to add sound generated by one of the sound chips emulators available for the Propeller.
Hope you enjoy!
Written in C with the Propeller GCC toolchain, it uses the Linux source code written by David "Nevat" Lara almost verbatim for the graphics, movements, collision checks and game logic.
The source code targets a board built with two Propeller chips connected toghether with an high-speed serial line. One chip works as the GPU (Graphical Processing Unit) and drives a VGA or LCD screen with a resolution of 320x240 pixels (the game uses a window of 256x192 pixels) and contains all the graphics elements. The other chip works as the CPU and contains all the game logic code, the room maps and reads the inputs from the game controller.
The GPU chip is connected to a 128k EEPROM (Microchip 24LC1025) needed to hold all graphics data. The CPU chip is connected to a 128k EEPROM (Microchip 24LC1025) and a 128k SPI SRAM (Microchip 23LC1024) needed to hold the code and the temporary maps data.
The game controller is a NES-like controller built with a 74HC165 shift register.
The included readme file explains how the chips are connected.
Currently there is no sound. The Linux port uses OGG Vorbis files too large to fit. The CPU code has some free space and it may be possible to add sound generated by one of the sound chips emulators available for the Propeller.
Hope you enjoy!
Comments
Never heard of that game before. But a quick google tells me you have done a very cool job there.
This might be silly and I haven't put much thought into it, (I'm not a game guy)
but would there be any merit to removing the graphics chip and sending the display to a separate terminal program, such as a smart phone running blueterm?
I realize it would probably be slow, and the colors and detail might be worse, but could it at least be made to function?
I'm not very familiar with blueterm, but as far as I can tell, it is a character-mode terminal program, while this game uses graphics tiles with 6x16 colors palettes and sprites that must be handled as transparent bitmaps with pixel coordinates and updated at 60fps. I don't think it would work, even if it supports font redefinitions and using the low colors version (the one that resembles the ZX Spectrum graphics).
Writing a terminal program dedicated to display the graphics in a streaming-like way is certainly possible.
It seems L'Abbaye des Morts already is available as an Android App.
"l'Abbaye des Morts a game by locomalito. ... OUYA versión 1.2 (may work with other Android based devices) Spectrum ZX unofficial port Linux, OpenPandora, ... "
If that is correct, not much reason to try to create a hybrid of Propeller and an Android device.