Hardware
Package & Size
The form of the cartridge comes naturally as it is the same as a DIN socket. It is cylindrical with same diameter as the wrapper of the connector so that it replaces it, and the length is as small as possible.
Interfaces
DIN connector includes both serial interface with open drain NPN topology and power source. No USB interface is implemented to minimize BOM and size. The cartridge will be program using ISP port which is exposed with pads (no connector).
Components
Since there are lot of projects and ressources using Arduino UNO, the same microcontroller is used, namely the Atmega328p. Reciprocally, the games developped within this project will be usable with an Arduino UNO !
For the rest, the idea is to minimize the BOM giving the favour to low cost and small size but keeping stability regarding regulator, convertor and clock. No extra functionalities. For the regulation, prototype demonstrates that a linear regulator with 5v output is suitable. The current consumption is quite low so heat is not a problem.
Final design
I don't give detailed on the loops but the final results consist in the following schematics and PCB layout.
Assembly
It is time to order pcbs, components and casings to a manufacturer and make the assembly of the cartridge.
Here is a picture after SMD assembly. What a pleasure to switch from 3d view to reality !
If you wonder how the assembly process was done, here is a video of it.
Software
Environment
Using the Atmega328p makes Arduino IDE or PlateformIO first choice IDEs. There are open source and well documented. Behind them is the excellent avrdude program which is also super convenient for production.
The 1st Game : 2048
The cartridge is intended for small video games. The idea is to develop several games and to change the color of the cartridge for each game.
As a first game, I decided to remake the famous 2048 game from Gabriele Cirulli. I took the javascript code and ported it in C with the same structure so that the game is the exactly the same except random generator.
It was possible to make some animations on the videotex screen and add sound effect using the minitel buzzer. But this make the game slower and the sound can be awfull depending on the minitel model you use. So user can disable them in option menu.
We also take advantage of the atmega328p's emulated EEPROM to save games and scores which is really important to give some lifetime to the game.
The code of this game and the next ones are opensource and published in my Minitel-Play repository.
Of course the colour of the 2048 cartridge will be similar to the icon you may had on your smartphone back in 2014 !
Back to the Future
The first samples made will be available on Tindie and I will use the waitlist as an indicator for the volume of production.
In parallel, a "How To" play this games using an Arduino UNO will be published soon. So that people could also makes their own games and why not pick a color for a dedicated cartridge ?
Depending on the enthousiasm, I plan to make a Pong game with 1 and 2 players modes plus some game variations. And also a Sokoban-like game with the possibility to add your own puzzles. And ... well I have a lot of idea but let's stick with that for the moment !
Everyone's ideas are welcome down in comment. But please keep in mind the minitel is slow and has a very small 80x72 resolution.
EDIT:
Pong and Sokoban are almost ready and small production is planned for end of September 2024 !
The Minitel Gaming System revolutionized gaming with its compact design and versatile capabilities. With a wide array of games accessible at your fingertips, it quickly became a favorite among gamers. However, for Canadian players looking to enhance their gaming experience further, exploring the 7 Most Popular Methods for Deposits and Withdrawals in Canadian Casinos is essential. This link provides invaluable insights into optimizing financial transactions for seamless gameplay.