![]() |
Forum Index : Microcontroller and PC projects : Game for PicoMiteVGA: Pico Frog
Author | Message | ||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1264 |
Because of the clarity and if that got lost in the other thread. The playable version of a Fogger style game for the PicoMite VGA. The concept of Frogger is simple. Just get that frog from A to B. Yet it’s a challenge to execute. The Game: Move your frog carefuly. Avoid the moving vehicles. On the river, jump across the logs to get your frog to its “frog home”. There are five of these homes, so you have to repeat this four more times. ![]() The Program: This is the basic structure of the game. What is missing in this Version are levels, lady-frog, crocodiles, Beaver, Flies and diving Turtles. So there is a lot of room for improvement. Developed on PicoMite Version 5.07.05RC.. Tested on Firmaware 5.07.06 and 5.07.07RC6 Actually there are 2 versions of this Game: On for Mixtel90s Pico Game Console, which supports Atari joysticks, NES controllers and/or PS2 keyboard. (many thanks to thwill) picofrog_Game.zip And a Keyboard only Version, for PS2 and Terminal Keyboard control. (thanks to Volhout) picofrog_keyb.zip Thanks to everyone who supported me in this project, matherp and Geoffg for keeping BASIC uptodate Take care Mart!n Edited 2023-04-22 17:34 by Martin H. 'no comment |
||||
Turbo46![]() Guru ![]() Joined: 24/12/2017 Location: AustraliaPosts: 1642 |
Martin, have you considered a version for the Game*Mite and possibly the CMM2? I have fond memories of playing this game on the C64 with my daughter way back when. Bill Keep safe. Live long and prosper. |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5166 |
@Martin, Please find attached versions that have been patched to run on Picomite MMBasic 6. Tested on 6.01.00 on both RP2040 and RP2350. I had to "assume" a game speed that is determined by variable h_beat% Change to value to your liking. This was introduced since Peters speed improvements, and the 2350 caused the game to be unplayable (too fast). I have not tested all controllers in the controller version since I do not own a Atari joystick. I will patch up something tonight and confirm that also works (or issue an update to this release). The keyboard version is fully tested. picofrog_6.zip The game is (even without all the added finesse) fun to play... Volhout P.S. Martin, can I persuade you to add some of the finesse (i.e. flies, diving turtles, crocodiles) now. ?? P.P.S. below is a partial patch that runs on Game*Mite. It has achitectural changes because FRAMEBUFFER MERGE needed for LCD corrupts music (delays settick). The game can only be controlled from console keyboard (like the VGA game). Next task is supporting the Game*Mite buttons. picofrog_GM_6b1.zip Edited 2025-08-21 04:13 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5166 |
Martin, Tom, Below is a port that runs on Game*Mite. It has achitectural changes because FRAMEBUFFER MERGE needed for LCD corrupts music (delays settick). The game can be controlled from console keyboard, or Game*Mite keys picofrog_GM_6b2.zip Volhout Edited 2025-08-21 04:44 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4318 |
Thank you @Volhout, some many interesting things to do and look at, and so little time ![]() Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5166 |
Hi Tom, It runs fine on GM with RP2350 as is. If you want to run it at GM with RP2040, it is better to change the CPUSPEED to 300MHz. Reason is that at 300MHz, the SPI speed to the LCD is increased from 42 to 50MHz, which makes the FRAMEBUFFER MERGE fit in 23ms. And 23ms is the "tick" of the melody playing. So the tune sounds as good as possible (*). I tried 200MHz as well (also SPI=50MHz) but then the ARM is too slow to process al the data. CPUSPEED = 378MHz also works. Volhout (*) although the tune is very close to original (compliments to Martin) there is at least 1 location where a note comes too early. Could be perfected. Maybe I will. And .. maybe I'll add "the fly" myself. Seems do-able. And I am beginning to find my way in Martin's code. His code is very compact, and only has minor comments. The other features (crocodiles and diving turtles) require additional sprites. And Martin is already using 31 sprites (the max for Pico). More levels..? Maybe... Edited 2025-08-21 19:28 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1264 |
Cant realy test. I still havethe problem that my display often freeses while FRAMEBUFFER MERGE, I tested it with several Displays so I think I have to replace the Pico with another one or Pico2 'no comment |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 8015 |
Wow..... One of the early programs I typed into a Nascom was Lollypop Lady Trainer. It was a version of Frogger written in Z80 assembler (although it might well have been hand coded at that time). It was rather cool as when the lollypop lady had been hit an ambulance came across to remove the body. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5166 |
Hi Martin, Do you have a display that does NOT have touch ? All displays on my 3 Game*Mite's do not have a touch chip (2 x 3.2" and 1 x 2.8"). Maybe that touch chip causes problems at 50MHz SPI bus (although the touch chip is not driven at 50MHz, it is attached to that fast bus). If you run at 252MHz and a 2040, you would only have irregular audio, but it should run. The SPI speed is then lower (default for game mite) I run version 6.01.00b9 on it, and used the 1.31 install package and instructions from this thread to install the Game*Mite on version 6.00.02 and later (in stead of the 6.00.02 in that post, use the last 6.01.00b9 image in the 6.01.00 thread). Instructions Instructions 1.31 install package Volhout Edited 2025-08-21 20:35 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5166 |
@Martin, Do you think it would be possible to bring the ADSR from 10 to 5 ,6, or 7 steps ? That would allow a slower SETIICK (from 23ms to 46/38/33ms) which is less CPU intense in relation to the FRAMEBUFFER MERGE. It may be able to run on a GM at 252MHz then. Volhout EDIT: I tried ADSR of 5, and it sounds a bit raw, but runs perfect at a Game*Mite 2040 at 252MHz. So maybe I'll keep this as an Game*Mite options (platform based select). Edited 2025-08-22 19:59 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1264 |
These were values used to approximate the envelope curve. It therefore describes the volume of a tone over time as it is played. The fewer values you use, the closer you get to a simple rectangle, but you can try this if it makes music run more smoothly. ![]() Edited 2025-08-22 21:33 by Martin H. 'no comment |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5166 |
Please find attached version that uses a 7 stage ADSR for the main music for RP2040, and 10 stage for RP2350. This works well for sound on both Game*Mite platforms. Both platforms use the default Game*Mite CPUSPEED = 252000. picofrog_GM_6b3.zip Volhout Edited 2025-08-22 21:45 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1264 |
Volhout thank you,Game and Music timing works verry well, ![]() Game*Mite doesn't freeze ![]() good job ![]() Edited 2025-08-23 22:09 by Martin H. 'no comment |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |