RISC OS Pi For Raspberry Pi 3 Model B+
Angel Perez (2908) 84 posts |
I haven’t come here in quite a while. But once I got word from the Raspberry Pi Foundation that now there is a new version of RISC OS Pi for the Raspberry Pi 3 that runs on the new B+ model that runs at 1.4GHz, I have decided that I should revisit that video game included, Hopper, a Frogger clone and find out what language was it written in. In Ubuntu, for one, let alone when running on Raspbian, the Game Maker clone, ENIGMA and LateralGM still has issues including the lack of actual, true full-screen display. I figured that Hopper may have been written using a similar game creation program like Game Maker or LateralGM/ENIGMA. But RISC OS Pi has an enormous array of programming languages, especially BBC BASIC, where I found that using the text editor included in RISC OS Pi you can write your own programmes in other languages including C. For MacOS, Ubuntu and Windows there is a programme called Audacity for generating sound effects and other audio media. The sound effects for Hopper could have been made with a similar programme to Audacity in RISC OS. BBC BASIC is capable of creamy smooth graphics animations and motion with huge provisions for assembly language but generating music and sound effects here is a bit tricky. So I am looking for other means while in BASIC I may still have ideas for music and sound effects for simpler programmes where complex sound effects are not needed or overly complex 3D graphics. So I would like to know what game creation programme or programming language was used to write Hopper with so I can expand beyond writings of programme files in BASIC. |
Chris Mahoney (1684) 2165 posts |
Hopper is written in C, and the source is here. |
mikko (3145) 123 posts |
I’ve not used it but AMCOG Games’ RDSP beefs up BASIC’s sound generation possibilities. |
Andrew Rawnsley (492) 1445 posts |
If anyone is looking for a small, game-y project, it would be really good if someone could look at Hopper and add a higher-resolution (eg. 640×480), true colour ( LTRGB etc) display mode. As it stands (last time I checked), it doesn’t run properly on many modern boards because the screen mode is too low (320×256 in 256 colours?). The only modes we can really rely on going forwards are 32bpp ones (probably RGB byte order), and many video chips have a lower clock floor of around 25Mhz (ie. 640×480 roughly). It is a shame for the OS to ship with a game that can’t run on many boards. |
Anthony Vaughan Bartram (2454) 458 posts |
Hi Angel, RDSP enables both original sound generation and sample playback/manipulation. The synthesiser feature is a bit like the Commodore 64 sound chip, but with 16 channels and programmable via the BBC Micro’s SOUND and ENVELOPE commands. Examples are included with RDSP and a video of one of the presentations I gave on RDSP is available from the page mikko has shared above. Whilst RDSP is freely distributable and downloadable (under a BSD type license), I also sell a game kit. Hope this is useful, Andrew – . I recently wrote an upscaling example in Drag’N’Drop. So the best option here might be to upscale the sprites (both in resolution & colour depth) using this routine and increase the mode to 640×480 true colour. I might do this at some point, but have been busy with customer support (with regards to AMCOG Game Kit) magazine articles etc. If no one has done this by Novemeber, I should be able to get to it then… Tony |
Angel Perez (2908) 84 posts |
Anthony! Thanks, mate! The question is how do I use the RDSP? About Hopper, though, I had the same problem as Andrew. Nonetheless, writing programs in C should be similar to writing code in Game Maker or ENIGMA/LateralGM. RISC OS Pi already has a manual for BBC BASIC contained in it but I will need to review the basic commands I can use to write in C a video game like Hopper. When I was writing a prototype video game in BBC BASIC for RISC OS, I couldn’t find ways to bend notes like we could on the Commodore 64. I notice that the BBC MICRO’s sound system was virtually identical to the SID chip on the C64, functionally speaking. But as you wrote, Anthony, the sound chip has 16 voices instead of 3! ENVELOPE could be used in BASIC coding but it never did anything until this new release of RISC OS Pi which didn’t run on the Raspberry Pi 3 early on. The Commodore 64’s BASIC interpreter never had SOUND nor ENVELOPE statements, perhaps until the release of version 3.5 of the BASIC interpreter there. Straight from the factory, Commodore 64s all came with Version 2.0 of the BASIC interpreter. |
Steffen Huber (91) 1953 posts |
Hmmm. I thought the BBC Micro had one of those common 3-channel soundchips similar to the General Instrument AY-3-8910, which is, functionally speaking, not at all in the same league as the C64 SID. |
Angel Perez (2908) 84 posts |
Steffen Huber, the BBC Micro had 4 voices. |
Steffen Huber (91) 1953 posts |
According to Wikipedia, the Beeb had a Texas Instruments SN76489, which features three tone generators and one noise generator. Seems a bit over-enthusiastic to call “noise” a “voice” :-) And it is by the way the same feature set as the General Instrument AY-3-8910 (Amstrad CPC, Sinclair Spectrum, Atari ST) I compared it with. Completely different from the much more powerful SID. Seems my memory is not as bad as I sometimes fear. |
Rick Murray (539) 13840 posts |
Channel 0 was a “noise” channel. Channels 1, 2, and 3 produced notes. The C64 uses the “SID” (6581 early, 8580 later) which offers… a load more than the Beeb’s hardware. Read this: https://www.c64-wiki.com/wiki/SID And RDSP is better, even, than that. :-) |
Rick Murray (539) 13840 posts |
By the way…
It comes with documentation and a load of examples of the different features. |
David Feugey (2125) 2709 posts |
Yep, it’s a fantastic product. |
Angel Perez (2908) 84 posts |
I discovered a new version of the Raspberry Pi, which is a bit more sophisticated than the original, Compute, with a bigger circuit board and a miles tidier pinout of the GPIO ports. I read on that you take a Compute Module 3, insert it into the module board, check the GPIO power jumpers and power up with, for instance, a copy of the RISC OS Pico image. It would be a neat platform for a video game cabinet with the GPIOs used for joystick and pushbutton connections! |