GBForth: Using Forth to understand the Game Boy
by Tijn Kersjes and David Vázquez Púa
At: FOSDEM 2019
https://video.fosdem.org/2019/K.4.601/retro_gbforth.webm
During this talk we'll get a good understanding of Game Boy programming by reverse-engineering a ROM using Forth. We go beyond just decompiling the ROM to assembly and show how we created a cross-compiler that allows writing Game Boy games in Forth as well. You'll get to see how Forth interacts with the Game Boy hardware, and how the language can be extended to easily render sprites or play sounds for example. We show you how to use Forth to incrementally refactor Game Boy bytecode into higher levels of abstraction. No black boxes. No magic. This way you can understand and appreciate every layer of the hardware and CPU instructions one by one. A similar approach can help you understand other systems (NES comes to mind) and create a language that is more comfortable than ASM or C to work with.
The talk is accessible to developers without former Game Boy, Forth or compiler experience.
Topics covered:
- Go through the basics of Game Boy hardware
- Explain how rendering graphics works on a Game Boy
- Outline the challenges of working with the Game Boy memory
- Show how to reverse-engineer a binary using Forth
- Describe the process of writing the cross-compiler
- Talk about using GBForth to write Game Boy games
Room: K.4.601
Scheduled start: 2019-02-02 12:25:00+01
Видео GBForth: Using Forth to understand the Game Boy канала FOSDEM
At: FOSDEM 2019
https://video.fosdem.org/2019/K.4.601/retro_gbforth.webm
During this talk we'll get a good understanding of Game Boy programming by reverse-engineering a ROM using Forth. We go beyond just decompiling the ROM to assembly and show how we created a cross-compiler that allows writing Game Boy games in Forth as well. You'll get to see how Forth interacts with the Game Boy hardware, and how the language can be extended to easily render sprites or play sounds for example. We show you how to use Forth to incrementally refactor Game Boy bytecode into higher levels of abstraction. No black boxes. No magic. This way you can understand and appreciate every layer of the hardware and CPU instructions one by one. A similar approach can help you understand other systems (NES comes to mind) and create a language that is more comfortable than ASM or C to work with.
The talk is accessible to developers without former Game Boy, Forth or compiler experience.
Topics covered:
- Go through the basics of Game Boy hardware
- Explain how rendering graphics works on a Game Boy
- Outline the challenges of working with the Game Boy memory
- Show how to reverse-engineer a binary using Forth
- Describe the process of writing the cross-compiler
- Talk about using GBForth to write Game Boy games
Room: K.4.601
Scheduled start: 2019-02-02 12:25:00+01
Видео GBForth: Using Forth to understand the Game Boy канала FOSDEM
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![A Little Bit of Forth (Jack)](https://i.ytimg.com/vi/Q6FflPMHZP4/default.jpg)
![Bjarne Stroustrup: The 5 Programming Languages You Need to Know | Big Think](https://i.ytimg.com/vi/NvWTnIoQZj4/default.jpg)
![Forth Programming Language: Detecting User Input](https://i.ytimg.com/vi/l_fCW5g2oLw/default.jpg)
![You can learn Arduino in 15 minutes.](https://i.ytimg.com/vi/nL34zDTPkcs/default.jpg)
![The mind behind Linux | Linus Torvalds](https://i.ytimg.com/vi/o8NPllzkFhE/default.jpg)
![Make a real GameBoy game easy & user friendly [Tutorial, Gamedev]](https://i.ytimg.com/vi/0xO5jCqs3As/default.jpg)
![Meet the Nintendo Game Boy Family!](https://i.ytimg.com/vi/ng0avV3ivAo/default.jpg)
![FORTH?](https://i.ytimg.com/vi/nFsBX_w2fRI/default.jpg)
![Self Compiling Compilers - Computerphile](https://i.ytimg.com/vi/lJf2i87jgFA/default.jpg)
![forth forthright forthcoming](https://i.ytimg.com/vi/aolDVL71_Rs/default.jpg)
![Brent Stone - Reverse Engineering 17+ Cars in Less than 10 Minutes - DEF CON 27 Conference](https://i.ytimg.com/vi/KkgxFplsTnM/default.jpg)
![Guitar Lesson: How To Play Setting Forth By Eddie Vedder](https://i.ytimg.com/vi/aZkyqdJHdfQ/default.jpg)
![2021-11-20 - Compiling Forth with LLVM --- Xuyang Chen](https://i.ytimg.com/vi/a6UKYeMiFyQ/default.jpg)
![Reversing Statically-Linked Binaries with Function Signatures - bin 0x2D](https://i.ytimg.com/vi/CgGha_zLqlo/default.jpg)
![Arduino Tutorial 1: Setting Up and Programming the Arduino for Absolute Beginners](https://i.ytimg.com/vi/fJWR7dBuc18/default.jpg)
![Uplift your Linux systems programming skills with systemd and D-Bus Practical examples and best pra…](https://i.ytimg.com/vi/-bEzHG2u8XA/default.jpg)
![Let Vim Do the Typing](https://i.ytimg.com/vi/3TX3kV3TICU/default.jpg)
![Forth Programming Language: Introduction](https://i.ytimg.com/vi/Z0tTsvYQqNU/default.jpg)
![Why Forth? (programming language)](https://i.ytimg.com/vi/7PHPQcO0O2Y/default.jpg)
![Top 5 Homebrew Games for the Original Game Boy](https://i.ytimg.com/vi/zWwOErOI0dM/default.jpg)