Skip to content

KyomaHooin/pmd85console

Repository files navigation

CONSOLE

DESCRIPTION

Raspberry Pi 1A+ Tesla PMD-85 retro console powered by modified Petr Tůma simpmd (c) 2008.

SCHEMA

SCREEN

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

https://github.com/KyomaHooin/pmd85console

About

Raspberry Pi PMD-85 retro console.

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •