PACMAN clone on a PIC18F46J50, with the GLCD mirrored via USB to PC
A maze like the arcade's (wall blocks, a ghost house with a door, a side tunnel, 119 dots and 4 power pills) drawn using GCBASICs Box / Line / PSet; one ghost on level 1, two on level 2, three from level 3; touch pads steer, the pot sets the speed; every screen copied live to GLCDMirror.exe
I start playing at https://youtu.be/KaiDgmZEM18?t=162 ... I am not very good but this does show the operations. Fast mode is amazingly quick!
👍
1
❤️
1
Last edit: Anobium 1 day ago
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The original 1980 Namco arcade game, its program was 16 KB of ROM (four 4 KB chips), from what I recall.
So, the GCBASIC in the video is bigger than the original but the original did not have USB and a host of other things.
If I build this Pac-Man with MIRROR_OFF, which removes the USB COM port and the PC mirror about 19,400 bytes
Even without USB this is still bigger than the arcade's 16 KB. A good part of the rest is support code the original did not have:
the GCBASIC logo shown at start-up;
the GLCD graphics library and its font;
the touch pads and their calibration;
the menu and restart handling;
the demo player
The 1980 game also ran on hand-written Z80 assembler, which is far more compact than compiled GCBASIC.
But, take out all the nice GCBASIC features and the result: Pac-Man with no logo, restart, demo, mirror or USB is 15,238 bytes (0xA000–0xDB85), under the arcade original's 16 KB.
Last edit: Anobium 1 day ago
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So cool!
What GLCD screen for stand alone? SPI?
Pity it wont fit the SSD1306 0.49". One has to go with one of those large screens, I guess. :)
What touchpads?
Sound would be nice. Is there any unused DMA?
No DAC in PIC18F46J50, but I guess 1-bit sound could be sufficient.
Can the code (without USB) be easily moved to other chips (like Q84)?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
PACMAN clone on a PIC18F46J50, with the GLCD mirrored via USB to PC
A maze like the arcade's (wall blocks, a ghost house with a door, a side tunnel, 119 dots and 4 power pills) drawn using GCBASICs Box / Line / PSet; one ghost on level 1, two on level 2, three from level 3; touch pads steer, the pot sets the speed; every screen copied live to GLCDMirror.exe
I start playing at https://youtu.be/KaiDgmZEM18?t=162 ... I am not very good but this does show the operations. Fast mode is amazingly quick!
Last edit: Anobium 1 day ago
I will be publishing many programs like this that I have had not previously released very soon.
Last edit: Anobium 1 day ago
The original 1980 Namco arcade game, its program was 16 KB of ROM (four 4 KB chips), from what I recall.
So, the GCBASIC in the video is bigger than the original but the original did not have USB and a host of other things.
If I build this Pac-Man with MIRROR_OFF, which removes the USB COM port and the PC mirror about 19,400 bytes
Even without USB this is still bigger than the arcade's 16 KB. A good part of the rest is support code the original did not have:
The 1980 game also ran on hand-written Z80 assembler, which is far more compact than compiled GCBASIC.
But, take out all the nice GCBASIC features and the result: Pac-Man with no logo, restart, demo, mirror or USB is 15,238 bytes (0xA000–0xDB85), under the arcade original's 16 KB.
Last edit: Anobium 1 day ago
So cool!
What GLCD screen for stand alone? SPI?
Pity it wont fit the SSD1306 0.49". One has to go with one of those large screens, I guess. :)
What touchpads?
Sound would be nice. Is there any unused DMA?
No DAC in PIC18F46J50, but I guess 1-bit sound could be sufficient.
Can the code (without USB) be easily moved to other chips (like Q84)?
So cool! YES
GLCD - SH1101A - 8 bit bus.
SSD1306 - should be portable. No sure about the performance.
I have it connected via USB so I play on my PC screen.
Pads - this are built into the board, but, a joystick could replace,
There is no DAC - but sound would be cool.
Code without USB should be relatively simple. Ping me for for the code.