Uploaded October 2021 | Updated September 2026, 2 weeks ago
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: youtube.com/watch?v=ER7h4ZTe19A&list=PLP29wDx6QmW4sXTvFYgbHrLygqH8_oNEH
💌 Updates to your inbox: tinyletter.com/lowleveljavascript
🗣 Discord: discord.gg/FPWaVgk
⭐️ Patreon: patreon.com/lowleveljavascript
💻 Github Repo (emulator): github.com/LowLevelJavaScript/RISC-V-Emulator
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: youtube.com/watch?v=ER7h4ZTe19A&list=PLP29wDx6QmW4sXTvFYgbHrLygqH8_oNEH
💌 Updates to your inbox: tinyletter.com/lowleveljavascript
🗣 Discord: discord.gg/FPWaVgk
⭐️ Patreon: patreon.com/lowleveljavascript
💻 Github Repo (emulator): github.com/LowLevelJavaScript/RISC-V-Emulator
![What is the Stack and why do we need it? (16-Bit VM in JavaScript 003)
In this episode we understand what a stack is, how it can be implemented on the lowest level, and how it can then be harnessed to allow the Virtual Machine to run subroutines without losing state.
=[ ℹ About ℹ ]=
This series is all about building a powerful virtual machine in JavaScript with the following features:
- A flexible, extensible, register-based virtual machine
- Support for signed, unsigned and floating point operations
- A call stack
- Interrupt capabilities
- Ability to do memory mapping for IO
- An assembly language with macro and module support
- A higher level, C like language. Well use and expand the library from the parser combinators from scratch series
- And finally, to be able to take the whole thing into the browser and exend it to create a sort of fantasy console - an emulator for a machine that never existed
=[ 🔗 Links 🔗 ]=
- ⭐️ Patreon: https://www.patreon.com/lowleveljavascript
- 💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
- Series Playlist: https://www.youtube.com/playlist?list=PLP29wDx6QmW5DdwpdwHCRJsEubS5NrQ9b&playnext=1&index=1
- Github Repo: https://github.com/LowLevelJavaScript/16-Bit-Virtual-Machine
- Stack Data Structure: https://en.wikipedia.org/wiki/Stack_(abstract_data_type)
- Subroutine: https://en.wikipedia.org/wiki/Subroutine What is the Stack and why do we need it? (16-Bit VM in JavaScript 003)](https://i.ytimg.com/vi/mamop8aqFNk/mqdefault.jpg)
![Understanding Assembly Generated From C :: Bare Metal Programming Series 4.1
In this (micro) episode of the bare metal programming series, were looking at different ways of expressing the same idea in C, and reading the resulting assembly code in order to make sense of any differences.
Being able to read assembly (if not write it) is a valuable skill - and can help tremendously in both debugging and making sensible performance optimisations.
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo: https://github.com/lowbyteproductions/bare-metal-series Understanding Assembly Generated From C :: Bare Metal Programming Series 4.1](https://i.ytimg.com/vi/nnnEy0w-l_A/mqdefault.jpg)
![Contextual Parsing With The Chain Method [Parser Combinators From Scratch] Episode 4
In this episode we will write the method `Parser.chain(fn)` which utilises functional programming concepts to empower our system with contextual abilities!
What that really means is that we can look at what weve previously parsed, and choose the next parser accordingly.
=[ ℹ About ℹ ]=
During this series we will develop an understanding of the concept of parsing, and build our own parser combinator system from scratch. The system we build will be capable of parsing both binary and text data. Well make use of both object-oriented and function programming principles to develop an effective and intuitive library.
=[ 🔗 Links 🔗 ]=
- ⭐️ Patreon: https://www.patreon.com/lowleveljavascript
- 💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
- Playlist: https://www.youtube.com/watch?v=6oQLRhw5Ah0&list=PLP29wDx6QmW5yfO1LAgO8kU3aQEj8SIrU
- Code: https://github.com/LowLevelJavaScript/Parser-Combinators-From-Scratch
- Tom Hardings amazing resources about Fantasy Land: http://www.tomharding.me/fantasy-land/
- Fantasy Land Specification: https://github.com/fantasyland/fantasy-land
- LLJS Subreddit: https://reddit.com/r/lowleveljavascript Contextual Parsing With The Chain Method [Parser Combinators From Scratch] Episode 4](https://i.ytimg.com/vi/nqNzWgSRCeg/mqdefault.jpg)
![Exceptional Trap Handling: RISC-V ep.10
In this episode of the RISC-V quest, were implementing the mechanics of trap handling, taking one particularly easy to spot exception as the focus point: Load Address Misaligned.
The design involves building a new module, as well as a new super-state of the CPU, which controls when the processor is executing the pipeline, and when it is handling the mechanics of traps.
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: https://www.youtube.com/watch?v=ER7h4ZTe19A&list=PLP29wDx6QmW4sXTvFYgbHrLygqH8_oNEH
💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo (emulator): https://github.com/LowLevelJavaScript/RISC-V-Emulator Exceptional Trap Handling: RISC-V ep.10](https://i.ytimg.com/vi/nwj9PgLEbSo/mqdefault.jpg)
![Bits! [The Bits And Bytes Of Binary ep.1]
This mini series is all about binary. Over the course of the series, well be building a library that gives us precise control of every bit and operation.
Youll learn how the logical and arithmetic operations work, how different kinds of numbers are encoded, how to set, clear and toggle bits, and how we can create representations of structured binary data.
1. Bits
2. Operations
3. Unsigned Numbers
4. Addition
5. Zero Extension
6. Twos complement
7. Overflow Addition and Sign Extension
8. Shifting
9. Setting, Clearing, and Toggling Bits
10. Endianness
11. Structures
=[ 🔗 Links 🔗 ]=
💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
🎥 Playlist: https://www.youtube.com/playlist?list=PLP29wDx6QmW47oPsNBFNEi_SYTOLDJXqQ
💻 Github Repo: https://github.com/LowLevelJavaScript/The-Bits-And-Bytes-Of-Binary
=[ 🎶 Music 🎶 ]=
Game Plan - Bad Snacks Bits! [The Bits And Bytes Of Binary ep.1]](https://i.ytimg.com/vi/pOM86M1pGb4/mqdefault.jpg)
![RISC-V Processor In TS: ALU (part 2)
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: https://www.youtube.com/watch?v=ER7h4ZTe19A&list=PLP29wDx6QmW4sXTvFYgbHrLygqH8_oNEH
💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo (emulator): https://github.com/LowLevelJavaScript/RISC-V-Emulator RISC-V Processor In TS: ALU (part 2)](https://i.ytimg.com/vi/ppRzESGUspI/mqdefault.jpg)
![UART Driver From Scratch :: Bare Metal Programming Series 5
In this episode of the bare metal programming series, were building a UART driver - an API to the peripheral which will facilitate the fundamental communications well need for firmware updates in the bootloader!
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo: https://github.com/lowbyteproductions/bare-metal-series UART Driver From Scratch :: Bare Metal Programming Series 5](https://i.ytimg.com/vi/qSUbe_a54gY/mqdefault.jpg)
![Testing the Packet Protocol :: Bare Metal Programming Series 7.3
In this installment of the bare metal programming series, were testing the packet protocol implementation we wrote in the bootloader, using a PC side application which will eventually become the firmware updater!
Turns out there were a few bugs - but being able to step though both programs at the same time, seeing how the data flows, allows us to iron those out.
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo: https://github.com/lowbyteproductions/bare-metal-series Testing the Packet Protocol :: Bare Metal Programming Series 7.3](https://i.ytimg.com/vi/rG1Faau2QuM/mqdefault.jpg)
![Dumping GameBoy Cartridges The INTERESTING Way
In this video were dumping GameBoy cartridges using a non-conventional method; One that uses the GameBoy itself to exfiltrate the data out from under it!
Its going to involve building custom software that runs on the console, cartridge swapping, and the fabled link cable.
00:00:00 – Intro
00:02:12 – GameBoy Coding Adventure Book
00:03:18 – The plan
00:09:52 – Writing the ROM dumper code
01:14:28 – The GameBoy link port and cable
01:17:52 – Wiring up to the logic analyzer
01:21:18 – Logic SPI setup
01:25:45 – Dumping the ROM
01:31:40 – Processing the dump into a raw binary file
01:40:12 – Testing in an emulator
=[ 🔗 Links 🔗 ]=
📖 GameBoy Coding Adventure: https://mdagois.gumroad.com/l/CODQn (Use code LBP for discount)
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo: https://github.com/francisrstokes/tega Dumping GameBoy Cartridges The INTERESTING Way](https://i.ytimg.com/vi/rORPp6vYMsw/mqdefault.jpg)
![JavaScript Is Weird (EXTREME EDITION)
To offset some of the banana-based JavaScript weirdness thats making the rounds, Im bring you a 40 line JSFuck compiler that turns innocent looking JS into a mess of obfuscated symbols.
=[ 🔗 Links 🔗 ]=
- ⭐️ Patreon: https://www.patreon.com/lowleveljavascript
- 💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
- Martin Kleppes Original JSFuck: http://www.jsfuck.com/
- Martin on Twitter: https://twitter.com/aemkei
- Parser Combinators From Scratch Series: https://www.youtube.com/watch?v=6oQLRhw5Ah0&list=PLP29wDx6QmW5yfO1LAgO8kU3aQEj8SIrU
- Github repo: https://github.com/LowLevelJavaScript/JavaScript-Is-Weird JavaScript Is Weird (EXTREME EDITION)](https://i.ytimg.com/vi/sRWE5tnaxlI/mqdefault.jpg)
![Hiding Data In Sound
In this video, were learning about steganography: the art of hiding data inside other data.
=[ 🔗 Links 🔗 ]=
💌 Updates to your inbox: https://tinyletter.com/lowleveljavascript
🗣 Discord: https://discord.gg/FPWaVgk
⭐️ Patreon: https://www.patreon.com/lowleveljavascript
💻 Github Repo: https://github.com/lowbyteproductions/Hiding-Data-In-Sound Hiding Data In Sound](https://i.ytimg.com/vi/sn9mKSpOcFM/mqdefault.jpg)