-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the minitel-protocole wiki!
The beginning:
I wanted to experiment with Bluetooth communications for a future project and looked around me what I had under the hand to start with. - An Arduino Mega (no "free" Uno at the moment) and/or a couple of brand new 5V ProMini - A cheap Bluetooth (unknown at the starting) module (3v) - An home made Tellymate board prototype - just finished and about to satisfy me, plus a small LCD PAL screen - A 4x3 matrix keyboard already hooked to the Arduino Mega - Some spare 4 ways 5v/3v FET converters
=⇒ All what was needed was there, I choosed the Mega for ease as a beginning but the target could/would be another ProMini 5v as I should not need all the horse power of the Mega.
=⇒ After a second review, it apeared that it was the exact logical hardware structure of a French Minitel: - One screen (the TellyMate) - One keyboard (small matrix, but it’s a keyboard, later upgraded to a real PS2 kbd) - One modem (the BT module) - One serial port (the USB port/Serial monitor)
To smartly manage all those devices, the Minitel implements a mostly unknown software level known as "protocole". It’s responsability is to manage flux between devices and inform them about overall status of the terminal. As far as I know, no one managed to emulate and experiment that much with this essential part of the Minitel, usually focussing over Videotext emulation display.
So, I’ve retrieved my references books (STUM1b and STUM2 - I’ve no STUM1 and no STUM10, so, some codes are missing) and translated into C code the French text describing technically Minitel’s operation. Only the protocol part is implemented (commands, status, and acknowledgements); most actions aren’t coded and not planned to be.
What is not coded/implemented as those are device based - Videotext/Mixed/Teleinfo decode and display, hardcopy - PCE (error correction procedure) - "Minitel network" (synchronisation between serial devices) [at least, management of the special PT line should be implemented in a future release] - Changing of serial speed - Changing of modem speed [OPPO and OPPORE should be implemented anyway (TBC) while RET1 and RET2 should not] - Modem connect/disconnect (To handle "Connect" code, I would need some BT master module, so, for a future release. The lost carrier detection logic is implemented/working but the disconnect does not work electrically (issue with the reset logic of the BT module; no other solution to exit from data mode to command mode once the slave BT module is connected)) - Telephony module (future device TBD as M2 device
That’s all for the moment - Code and documentation (STUM1b, fritzing schematics, pictures of prototype to be added)