Page 1 of 1

gtmine [game]

Posted: 17 Mar 2023, 15:51
by Hans61
I dared to make a game again. I tried to make a Minesweeper clone for the Gigatron. I called it gtmine. There is a 32k and a >=64k version. The 32k version I stole two horizontal lines to get memory. That is the only difference.
gtmine.jpg
gtmine.jpg (60.52 KiB) Viewed 927 times
It is playable with keyboard and gamepad. It runs on ROMv5a and all compatible ones. Without the clock it should also be possible on ROMv4.
gtmine32.gt1
(8.72 KiB) Downloaded 61 times
gtmine64.gt1
(8.71 KiB) Downloaded 56 times
You can find the sources here:
https://github.com/hans61/gtmine

Re: gtmine [game]

Posted: 17 Mar 2023, 17:04
by Phibrizzo
Thanks for new game :)

Question: possible is add a select choose level by game pad? Maybe START button befor first step?

Re: gtmine [game]

Posted: 17 Mar 2023, 17:49
by Hans61
I will try. I still don't find the input optimal. I would also find an auto repeat when moving the cursor keys good. I have to see how I find time.

Re: gtmine [game]

Posted: 19 Mar 2023, 15:17
by Hans61
The level is now selectable with the Start button. And the cursor repeats when the button is pressed. I have also enlarged the cursor a bit.
gtmine32.gt1
(9.12 KiB) Downloaded 63 times
gtmine64.gt1
(9.12 KiB) Downloaded 56 times

Re: gtmine [game]

Posted: 20 Mar 2024, 05:53
by veekoo
Hi. Current gtmine64.gt1 doesn't work in real machine. Due to fault in old C compiler. Only recompiling with recent GLCC worked. I didn't try gtmine32.gt1 might be same problem. If I recall this was problem with loader.

Re: gtmine [game]

Posted: 20 Mar 2024, 14:39
by lb3361
1) There is a version of gtmine built into ROMv6 with source code and makefile at https://github.com/kervinck/gigatron-ro ... pps/GtMine

2) Some versions of the C compiler were eager to not only use but also statically initialize zero page memory locations (in range 0x36-0x41) that are described as usable by user programs but are also used by the loader while it is working. The problem was that loading such gt1 files would overwrite the loader variables while the loader is running, which is not a good idea. This has been fixed by simply avoiding these locations for all roms with the traditional loader.

You can see this by using gt1dump:

Code: Select all

% gt1dump ~/Downloads/gtmine32.gt1 
* file: /Users/leonb/Downloads/gtmine32.gt1

0036  20 3f 00 00 01 01 00 00  00                       | ?.......|.     <<<<<< these are the problem
* 9 bytes

0200  11 fc 09 2b 8e 1a 21 82  fc e6 40 35 50 1c 1a 01  |.|.+..!.|f@5P...|
0210  e6 01 82 ff e6 7f 35 50  1c 11 a0 55 cf 18 21 0e  |f...f.5P.. UO.!.|
0220  2b 1a 82 7f 35 3f 1c 21  1a f3 17 90 1c           |+...5?.!.s...|
* 45 bytes
Compare with the ROMv6 version

Code: Select all

% gt1dump Apps/GtMine/gtmine_v1.gt1
* file: Apps/GtMine/gtmine_v1.gt1

0042  ff 00 00 00 00 00 00 00  00 00 00 00 00 00        |..............|
0050  00 00 00 00 00                                    |.....|
* 19 bytes

0200  11 fc 09 2b 8e 1a 21 82  fc e6 48 35 50 1c 1a 01  |.|.+..!.|fH5P...|
0210  e6 01 82 ff e6 7f 35 50  1c 11 a0 42 cf 18 21 0e  |f...f.5P.. BO.!.|
0220  2b 1a 82 7f 35 3f 1c 21  1a f3 17 90 1c           |+...5?.!.s...|
* 45 bytes

Re: gtmine [game]

Posted: 20 Mar 2024, 17:28
by Hans61
gtmine was my first attempt at writing a game in glcc. After it was running, I didn't bother with the code anymore.
I just tested it on my Gigatron and it works. But I loaded it via spi of the 128k expansion. lb3361 explained it above.
thanks for the tip.
The latest version of the game should be found here:
https://github.com/lb3361/gtmine (I think)

Re: gtmine [game]

Posted: 21 Mar 2024, 07:04
by veekoo
Thanks for great game. Reason I tryed to gtmine64 was because I have machine of 64kb RAM, ROM v6 and Pluggy Reloaded. Apparently there is not much diffrence between 32 vs. 64 version. I recompiled both so now I can play with ROM version or SD card version of the game.

Re: gtmine [game]

Posted: 21 Mar 2024, 11:44
by Hans61
The 32 version does without two image lines at the top in order to have enough memory.
the game itself is no different. only slight visual differences.