{"guid":"0b06619e-dfcb-5410-ada9-716b629e995f","title":"A journey into reverse engineering arcade PCBs for video game preservation via FPGA emulation","subtitle":null,"slug":"why2025-59-a-journey-into-reverse-engineering-arcade-pcbs-for-video-game-preservation-via-fpga-emulation","link":"https://program.why2025.org/why2025/talk/3AKXN7/","description":"Sometimes ago, I embarked on a journey into the world of electronics and FPGA technology with no \nprior knowledge. What began as passion for retro gaming evolved into a quest for preservation via reverse engineering and FPGA-based emulation. This presentation will share my journey, highlighting the challenges of learning Verilog, the tools, the  resources, and the lessons I learned along the way. By sharing my experiences I hope to inspire others to contribute to preservation of video games.\n\n**Abstract:**\n\nIn an era where classic arcade games risk becoming obsolete, preserving them is  crucial. This presentation chronicles a journey from curiosity to creation, demonstrating how FPGAs can be used to create accurate emulator.\n\n**Introduction to FPGAs:**  \n\nFPGAs are versatile integrated circuits that offer unparalleled flexibility for hardware design. \nUnlike fixed CPUs or GPUs, FPGAs allow for reconfiguration, making them ideal for creating custom \nsolutions like game emulators. This section will explore the advantages of FPGA-based emulation over \ntraditional software emulators, and the existing plateform like the MiSTeR FPGA.\n\n**Verilog Programming:**  \n\nVerilog is a hardware description language used for defining digital circuits in FPGAs. This \npart introduces Verilog's role in designing these circuits, and how it differ to traditional \nprogramming languages. \n\n**Reverse Engineering PCBs:**  \n\nThis segment breaks down the process of reverse engineering an arcade PCB. From \nidentifying components and they're connections, to reverse custom IC and schematics creation.\n\n**Creating an arcade games core**  \n\nA case study on the creation of an arcade game FPGA core. Challenges faced during development, and specifities of arcade games emulation. \n\n**Conclusion :** \n\nThe presentation concludes by encouraging attendees to embark on their own journey, offering practical advice and resources tofacilitate their exploration into FPGA-based gaming preservation. The goal is to inspire and equip newcomers with the knowledge and tools to preserve classic arcade games through FPGA emulation.\n\nLicensed to the public under https://creativecommons.org/licenses/by/4.0/","original_language":"eng","persons":["Solal Jacob"],"tags":["59","2025","why2025","Hacking","Cassiopeia","why2025-eng","Day 5"],"view_count":227,"promoted":false,"date":"2025-08-11T23:00:00.000+02:00","release_date":"2025-08-12T00:00:00.000+02:00","updated_at":"2026-04-06T01:00:05.869+02:00","length":2890,"duration":2890,"thumb_url":"https://static.media.ccc.de/media/events/why2025/59-0b06619e-dfcb-5410-ada9-716b629e995f.jpg","poster_url":"https://static.media.ccc.de/media/events/why2025/59-0b06619e-dfcb-5410-ada9-716b629e995f_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/why2025/59-0b06619e-dfcb-5410-ada9-716b629e995f.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/why2025/59-0b06619e-dfcb-5410-ada9-716b629e995f.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/why2025-59-a-journey-into-reverse-engineering-arcade-pcbs-for-video-game-preservation-via-fpga-emulation","url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_title":"What Hackers Yearn 2025","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025","related":[],"recordings":[{"size":279,"length":2890,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-08-12T17:59:15.643+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/av1-hd/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_av1-hd.webm","url":"https://api.media.ccc.de/public/recordings/89990","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"},{"size":30,"length":2890,"mime_type":"audio/opus","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2025-08-12T13:58:08.225+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/opus/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_opus.opus","url":"https://api.media.ccc.de/public/recordings/89763","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"},{"size":44,"length":2890,"mime_type":"audio/mpeg","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2025-08-12T13:58:04.189+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/mp3/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/89762","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"},{"size":310,"length":2890,"mime_type":"video/webm","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-08-12T20:08:23.509+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/webm-hd/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/90066","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"},{"size":106,"length":2890,"mime_type":"video/webm","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-08-12T19:18:03.198+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/webm-sd/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/90047","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"},{"size":98,"length":2890,"mime_type":"video/mp4","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-08-12T14:56:16.593+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/h264-sd/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_sd.mp4","url":"https://api.media.ccc.de/public/recordings/89843","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"},{"size":359,"length":2890,"mime_type":"video/mp4","language":"eng","filename":"why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-08-12T12:26:35.034+02:00","recording_url":"https://cdn.media.ccc.de/events/why2025/h264-hd/why2025-59-eng-A_journey_into_reverse_engineering_arcade_PCBs_for_video_game_preservation_via_FPGA_emulation_hd.mp4","url":"https://api.media.ccc.de/public/recordings/89635","event_url":"https://api.media.ccc.de/public/events/0b06619e-dfcb-5410-ada9-716b629e995f","conference_url":"https://api.media.ccc.de/public/conferences/WHY2025"}]}