In this course, you will learn about the 16-Bit Virtual Machine in JavaScript. You will learn about memory access and branching, stack and why we need it, implementing stack mechanics, memory mapped I/O, powering up with new instructions, assembly language and assembler, use of state machines in parsing, parsing nested expressions and and disambiguating the order of operations, a parser for every instruction, generating machine code, expanding beyond 62 KB of memory with bank switching, interrupts, assembler hack, inline data and constants, structures, building a fantasy game console emulator, system overview and graphics pipeline, system integration, and frogger in assembly.
Overview
Syllabus
16-Bit Virtual Machine in JavaScript 001.
Memory Access and Branching (16-Bit VM in JavaScript 002).
What is the Stack and why do we need it? (16-Bit VM in JavaScript 003).
Implementing Stack Mechanics (16-Bit VM in JavaScript 004).
What is Memory Mapped I/O? (16-Bit VM in JavaScript 005).
Powering Up With New Instructions (16-Bit VM in JavaScript 006).
Tour Through The Assembly Language and The Assembler (16-Bit VM in JavaScript 007).
How Are State Machines Used In Parsing? (16-Bit VM in JavaScript 008).
Parsing Nested Expressions and Disambiguating The Order Of Operations (16-Bit VM in JavaScript 009).
A parser for every instruction? (16-Bit VM in JavaScript 010).
Generating Machine Code (16-Bit VM in JavaScript 011).
Expanding Beyond 64kb of Memory with Bank Switching (16-Bit VM in JavaScript 012).
Interrupts (16-Bit VM in JavaScript 013).
Assembler Hacking: Inline Data And Constants (16-Bit VM in JavaScript 014).
Assembler Hacking: Structures (16-Bit VM in JavaScript 015).
Building A Fantasy Game Console Emulator: System Overview and Graphics Pipeline.
Fantasy Console Emulator: System Integration.
Frogger In Assembly: Fantasy Console Part 3.
Taught by
Low Level JavaScript