DESCRIPTION
Raspberry Pi 1A+ Tesla PMD-85 retro console powered by modified Petr Tůma simpmd (c) 2008.
SCREEN
TODO
- Remove hardcoded paths.
- Menu scroll game preview.
- Fix sound.
- Fix window/renderer duplication.
BUG
snd flood alsa lib pcm.c:(snd_pcm_recover) underrun occured
mesa loader: failed to retrieve device information
HARDWARE
1x Raspberry (1A+) 1x Power adapter (5V 1.2A) 1x USB Wifi dongle (RTL8188CUS/50-75mA) 1x HDMI cable (0.5m) 1x Micro USB cable (1m) 1x USB FTDI TTL/UART (3.3V 6-pin) 1x MicroSD (2GB) 1x Keyboard (Chicony KU-0108s/100mA) 1x Green LED (3mm 10mA 2.2V) 1x Red LED (3mm 10mA 2V) 1x Resistor 120R 1x Resistor 150R 1x BLS 02 2x BLS 01 4x BLS contact 1x Copper Wire (0.14mm 1m) 4x Screw (M2.2x6mm)
RPI
wget --no-check-certificate https://downloads.raspberrypi.org/raspbian_lite_latest # umount & write SD card / SD reader[!] umount /dev/sdX[12] 2>/dev/null unzip -p 2018-11-13-raspbian-stretch-lite.zip | dd of=/dev/sdX bs=4M touch /boot/ssh cat << EOF >> /boot/wpa_supplicant.conf country=CZ ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Wireless LAN" scan_ssid=1 psk="cleartext" key_mgmt=WPA-PSK } EOF raspi-config > Advanced > GL Driver > Enable Fake KMS apt-get update apt-get install libgl1-mesa-dri raspi-config > Advanced > GPU mem > 128 raspi-config > Advanced > Overclocking > Medium dphys-swapfile swapoff dphys-swapfile uninstall systemctl disable avahi-daemon bluetooth paxctld rsync triggerhappy triggerhappy.socket nfs-client.target \ systemd-timesyncd apt-daily apt-daily.timer apt-daily-upgrade apt-daily-upgrade.timer \ dphys-swapfile networking dhcpcd ssh getty@tty1 rc-local wifi-country keyboard-setup \ alsa-restore systemd-rfkill cp raspberry/pmd85.service /etc/systemd/system/ systemctl enable pmd85.service apt-get install vim mc ntpdate /etc/fstab: tmpfs /tmp tmpfs defaults,noatime,nosuid,size=5m 0 0 tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=5m 0 0 /etc/dhcpcd.conf: interface wlan0 static ip_address=192.168.0.85/24 static routers=192.168.0.1 static domain_name_servers=xx.xx.xx.xx xx.xx.xx.xx
UART
3.3V UART => | x | x | GND | TX | RX | .. | x | x | x | x | x | .. minicom -D /dev/ttyUSB0 -b 115200 [Ctrl] > [A] > [Z] > [O] > Serial port setup > [F]low control > Off
LED
.. | x | x | x | x | x | x | x | x | GND | 16 | x | x | .. | 3v3 | x | x | x | GND | x | x | x | x | x | x | x | [RED] [GREEN] | | | | 150R -- | 120R -- | [BGB] -- 3.3V[17] [BRB] -- GPIO16[36] | | GND[25] GND[34] /boot/config.txt: # PWR LED(disable onboard) dtparam=pwr_led_trigger=none dtparam=pwr_led_activelow=off # ACT LED GPIO16[36] dtparam=act_led_gpio=16 dtparam=act_led_trigger=cpu
PLYMOUTH
apt-get install plymouth plymouth-themes -> 0.9.4-1.1(Buster) cp -r theme-pmd85 /usr/share/plymouth/themes/ plymouth-set-default-theme -R theme-pmd85 /usr/share/plymouth/plymouthd.defaults: DeviceTimout=10 systemctl disable plymouth-start -> Shutdown/reboot only. /boot/cmdline.txt: logo.nologo quiet splash plymouth.ignore-serial-consoles vt.global_cursor_default=0 /boot/config.txt: boot_delay=0
SDL2
wget --no-check-certificate https://www.libsdl.org/release/SDL2-2.0.9.tar.gz apt-get install libgles2-mesa-dev libgbm-dev libudev-dev libasound2-dev liblzma-dev autogen.sh ./configure --enable-video-kmsdrm --disable-video-opengl --disable-video-x11 --disable-video-rpi make make install wget --no-check-certificate https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz autogen.sh ./configure make make install
SIMPMD
make clean make
FILE
buster/ - Raspbian "Buster" install instructions by Jozef Říha - jose1711. openscad/ - 3D printable retro case. raspberry/ - Raspbery support scripts. simpmd/ - Modified SDL2 PMD-85 emulator source code by Petr Tůma (c) 2008. theme-pmd85/ - Splash Plymouth theme. pmd85console.png - Retro console final. pmd85console_schema.png - Retro console schematics. atari-classic.ttf - TTF font by Mark Simonson (c) 2016.
SOURCE