Minitel 5 somewhat reverse-engineered

Overview

Minitel 5

The Minitel was a french dumb terminal with an embedded modem which had its Golden Age before the rise of Internet. Typically cubic, with an included CRT screen and, more importantly, you could have one at home for cheap (the model 1 was "lent" for free), so, it was a huge success and a lot of people (including me) had their first experience "being online" playing with that thing. The Minitel 5 was a version really more rare to encounter. Flat, with an LCD screen and contained a rechargeable battery, this "laptop-style" terminal could be used in phone booths and cars.

I've got one, but it is very strangely crashing at the second key press. As there seems to be no documentation yet available for it, I made this git repository.

EPROM Dumps

There are two 27C256 EPROM on the Minitel 5 board.

The first is the main EPROM, in socket MN3, containing all the firmware as the 80C32 microcontroller is ROMless. Beware, as my Minitel 5 is crashing, this ROM may be corrupted. If somebody can dump their own device, it could be very interesting for me to compare.

Link to the first dump file

The second EPROM, in socket MN8, is connected to the character generation IC and contains solely the bitmap font. 485 '16-bytes' zones from 0x6000 to 0x7E5F, with only the first 10 bytes used in each block (the 6 extra are always 0x00), one byte for each line of each character, where each bit is a pixel. Everything before address 0x6000 and from 0x7E50 to the end is filled with 0xFF.

Minitel 5 character generator EPROM content

Link to the second dump file

Integrated circuits

  • MN1 MHS 80C32 (MCU)
  • MN2 MHS MBSR-2000F11-5 DECOPLAT-1
  • MN3 NEC D27C256AD-15 (main EPROM)
  • MN4 Sharp LH5164-10 (backup RAM)
  • MN5 ROM/RAM "dual-dual row" (empty socket)
  • MN6 OKI M6255 (dot matrix lcd controller)
  • MN7 MHS MBSM-2000F05-5 VIDEOPLAT-1)
  • MN8 NEC D27C256AD-15 (bitmap font EPROM)
  • MN9 Philips FCB61C65LL-70T (SRAM)
  • MN10 Philips FCB61C65LL-70T (SRAM)
  • MN11 Motorola HC245A (3–state octal latch)
  • MN12 Motorola HC245A (3–state octal latch)
  • MN13 Motorola HC00A (quad 2-input NAND gate)
  • MN14 Harris HC04 (hex inverter)
  • MN15 Motorola HC245A (3–state octal latch)
  • MN16 Motorola HC245A (3–state octal latch)
  • MN18 Motorola HC4075 (triple 3-input OR gate)
  • MN19 RCA(?) HC273 (octal D latch w/common clock and reset)
  • MN201 ST TSB7513CP (single chip asynchronous FSK modem)
  • MN202 Philips PC74HC4053T (triple 2-channel analog multiplexer/demultiplexer)
  • MN203 TI(?) 27M4C (quad low power CMOS op-amp)
  • MN204 ST EFG71891PD (DTMF generator w/serial input)
  • MN205 Harris HC4052 (dual 4-channel analog multiplexer/demultiplexer)
  • MA103 LM3578N (DIP-8 switching regulator)
  • MA104 ADC0831CCN (single differential input 8-bit ADC w/serial I/O)
  • MA105 LM385M (1.2V micropower voltage reference)
  • MA201, MA202, MA203 Harris H11AG2 (phototransistor optocouplers)

More to come!

I already have some schematics. But i'm already now fucking tired doing this! :x

Acknowledgements

People I wish to thank:

  • Ghyom for giving me that ancient device
  • Furrtek for his help for recognising Harris old IC logo and the 27M4C op-amp
  • Fréderic from CEM de Ronchin for his help in desoldering MN8
  • nikiroo for his spellchecks.
Owner
cLx
Hobbyist in electronics, and DIY from France. Sometimes may do some coding! Doing Mac Gyver things for a living.
cLx
Multiple GNOME terminals in one window

Terminator by Chris Jones [email protected] and others. Description Terminator was

GNOME Terminator 1.5k Jan 01, 2023
This Python library searches through a static directory and appends artist, title, track number, album title, duration, and genre to a .json object

This Python library searches through a static directory (needs to match your environment) and appends artist, title, track number, album title, duration, and genre to a .json object. This .json objec

Edan Ybarra 1 Jun 20, 2022
A Klipper plugin for accurate Z homing

Stable Z Homing for Klipper A Klipper plugin for accurate Z homing This plugin provides a new G-code command, STABLE_Z_HOME, which homes Z repeatedly

Matthew Lloyd 24 Dec 28, 2022
This is where I learn machine learning

This is where I learn machine learning🤷‍ This means that this repo covers no specific topic of machine learning or a project - I work in here when I want to learn/try something

Wilhelm Berghammer 47 Nov 16, 2022
A simple hash system.

PBH-Hash-System A simple hash system. Usage You could use it like this: from pbh import pbh print(pbh("Hey", True)) Output: 2feae2471698cfcdcbd6b98ca

Karim 3 Mar 24, 2022
Runtime Type Checking in Python 3

typo This package intends to provide run-time type checking for functions annotated with argument type hints (standard library typing module in Python

Ivan Smirnov 26 Dec 13, 2022
A random cat fact python module

A random cat fact python module

Fayas Noushad 4 Nov 28, 2021
Never see escaped bytes in output.

Uniout It makes Python print the object representation in readable chars instead of the escaped string. Example from pprint import pprint lang

Mosky Liu 156 Oct 21, 2022
Back-end API for the reternal framework

RE:TERNAL RE:TERNAL is a centralised purple team simulation platform. Reternal uses agents installed on a simulation network to execute various known

Joey Dreijer 7 Apr 15, 2022
A class to draw curves expressed as L-System production rules

A class to draw curves expressed as L-System production rules

Juna Salviati 6 Sep 09, 2022
How to create the game Rock, Paper, Scissors in Python

Rock, Paper, Scissors! If you want to learn how to do interactive games using Python, then this is great start for you. In this code, You will learn h

SplendidSpidey 1 Dec 18, 2021
Application launcher and environment management

Application launcher and environment management for 21st century games and digital post-production, built with bleeding-rez and Qt.py News Date Releas

10 Nov 03, 2022
A Classroom Engagement Platform

Project Introduction This is project introduction Setup Setting up Postgres This is the most tricky part when setting up the application. You will nee

Santosh Kumar Patro 1 Nov 18, 2021
A variant caller for the GBA gene using WGS data

Gauchian: WGS-based GBA variant caller Gauchian is a targeted variant caller for the GBA gene based on a whole-genome sequencing (WGS) BAM file. Gauch

Illumina 16 Oct 13, 2022
Wordle-solve - Attempting to solve wordle

Wordle Solver Run with python wordle_beater.py. This hardmode wordle solver take

Tom Lockwood 42 Oct 11, 2022
Wunderland desktop wallpaper and Microsoft Teams background.

Wunderland Professional Impress your colleagues, friends and family with this edition of the "Wunderland" wallpaper. With the nostalgic feel of the or

3 Dec 14, 2022
A numbers extract from string python package

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Numbers-Extract/blob/main/LICENS

Fayas Noushad 4 Nov 28, 2021
Tools for collecting social media data around focal events

Social Media Focal Events The focalevents codebase provides tools for organizing data collected around focal events on social media. It is often diffi

Ryan Gallagher 80 Nov 28, 2022
Adversarial Robustness with Non-uniform Perturbations

Adversarial Robustness with Non-uniform Perturbations This repository hosts the code to replicate experiments of the paper Adversarial Robustness with

5 May 20, 2022
msImpersonate - User account impersonation written in pure Python3

msImpersonate v1.0 msImpersonate is a Python-native user impersonation tool that is capable of impersonating local or network user accounts with valid

Joe Helle 90 Dec 16, 2022