nand2mario Profile
nand2mario

@nand2mario

Followers
3K
Following
153
Media
171
Statuses
736

FPGA and retro gaming dev. Author of NESTang and SNESTang.

Joined August 2022
Don't wanna be here? Send us removal request.
@nand2mario
nand2mario
3 months
486Tang v0.1 is out! 🕹️🚀 A 486SX-class PC on the @SipeedIO Tang Console 138K by porting the excellent ao486 core. VGA graphics (upscaled to HDMI), SB16+OPL3, IDE. Runs early-90s classic DOS games. Grab the release: https://t.co/p0Ac4GWrPw
6
27
105
@nand2mario
nand2mario
5 days
Introducing z8086🎉, a new 8086/8088 soft core that runs on the original Intel microcode. ~1200 ALMs on Cyclone V, ~2500 LUTs on GW5A, vendor-neutral SystemVerilog. https://t.co/uM52d96xQN
1
26
190
@nand2mario
nand2mario
5 days
Another #z8086 demo of x86 assembly driving LCD, running on @SipeedIO Tang Console 60K FPGA.
2
19
133
@nand2mario
nand2mario
5 days
A longer introduction to z8086 - the 8086 soft core that runs the original microcode - and some interesting discoveries building it: ☕⚡ 1. two important formulas in patent are wrong, 2. microcode greatly saves resource, 3. the 8086 interrupt bug. https://t.co/7MMlWn52cp
nand2mario.github.io
After 486Tang, I wanted to go back to where x86 started. The result is z8086: a clean‑room 8086/8088 core that runs the original Intel microcode. Instead of hand‑coding hundreds of instructions, the...
1
16
85
@nand2mario
nand2mario
5 days
This is a 0.1 version. It passes all my 16K single-instruction tests and runs small demos fine. But more tests are needed for real application. Feedback and bug report are welcome.
0
0
2
@nand2mario
nand2mario
8 days
A slightly more sophisticated demo of the 8086 core — driving SPI display 😀
8
32
376
@nand2mario
nand2mario
10 days
Boot process of "blinky": The key signal is FC (1st cycle) and SC (2nd cycle), as called in Intel doc. FC marks the first byte of each instruction on "q_bus". The first instruction here is 0xEA (long jump to F000:0000). 2nd instruction is 0xFA (CLI). "uaddr" is microcode address.
0
2
26
@nand2mario
nand2mario
10 days
A satisfying blinky demo, powered by my 8086 core executing the original 8086 microcode.
16
86
915
@nand2mario
nand2mario
10 days
Great progress 🎉 — the 8086 core now passes all 16,150 single-instruction tests and all 17 short-program tests. Even in its current unoptimized state, it fits in roughly 3,000 LUTs on the GW5A and already runs at 50+ MHz.
3
18
231
@nand2mario
nand2mario
15 days
Fun tidbits about 8086 μcode, 1. Reg IDs change meaning: e.g. 10100 is SIGMA as src, and tmpaL as destination 2. N and R are the same register 3. IP (or PC) does not point to the next instruction 4. Almost all arithmetic instructions share the same 4 lines of microcode (008-00B)
@nand2mario
nand2mario
15 days
🔬🔥 Just posted: 8086 Microcode Browser - a fully interactive viewer for your retro enjoyment. Explore all 512 micro-instructions and see exactly what the CPU does across the ~130 cycles of a MUL instruction (or any other instruction). https://t.co/kCggJhm37Z
0
3
19
@nand2mario
nand2mario
15 days
✨ Features: • 21-bit micro-instructions broken into readable fields • Hover tooltips that decode every field • Click to jump between routines • Browse by x86 instruction • Short jump visualization • Dark/light themes
0
0
7
@nand2mario
nand2mario
15 days
🔬🔥 Just posted: 8086 Microcode Browser - a fully interactive viewer for your retro enjoyment. Explore all 512 micro-instructions and see exactly what the CPU does across the ~130 cycles of a MUL instruction (or any other instruction). https://t.co/kCggJhm37Z
3
18
92
@nand2mario
nand2mario
18 days
Weekend of hacking: I’m up to 90.6% test coverage, with only the tough parts left — String instructions Interrupts Multiplication and division Here’s the latest block diagram of the core.
@nand2mario
nand2mario
21 days
8,531 / 16,150 test cases now pass on the 8086 CPU — over half of the instruction set implemented. The design is shaping up nicely, and it’s still only about 1,200 lines of Verilog so far. 😄
3
6
88
@nand2mario
nand2mario
21 days
8,531 / 16,150 test cases now pass on the 8086 CPU — over half of the instruction set implemented. The design is shaping up nicely, and it’s still only about 1,200 lines of Verilog so far. 😄
4
11
239
@MattDIYgraphics
pongsagon vichit
1 month
Last minute update #TinyTapeout. TinyGPU v2.0 now support Texture mapping. Tex res 256x256, 4-bit. Texture mapped models run 33% slower than the flat shading version. The project uses 66% of 4x4 tiles, around 240k transistors. git: https://t.co/ClhiKS89st
6
19
175
@nand2mario
nand2mario
1 month
Building an open-source FPGA core for the iconic Intel 8086/8088, based on Andrew Jenner's disassembled microcode! Should I focus on education/clarity, cycle accuracy, size, or performance? Let me know.🙋 Some instructions are already working. Let me know your thoughts. 👇
4
9
64
@nand2mario
nand2mario
2 months
I also made a version with function block and pin names, following Ken Shirriff's 8086 articles. https://t.co/IVDcG0DgOo
0
1
14
@nand2mario
nand2mario
2 months
Here's the 1984 Intel 8086-S die shot📷. 8086-S is a revision/die shrink of the original 8086 with the 3 µm HMOS II (a type of NMOS). The full (12780x12554, 62MB) is at https://t.co/cGOU82kAUI. This time I improved my stitching scripts, so the whole process took only a few hours.
3
1
21
@nand2mario
nand2mario
2 months
Decapped this ~40 year old ceramic packaged Intel 8086. This is easily opened with a small chisel in a minute. Turns out to be a “8086 S” die with 3um HMOS-II process.
0
1
18
@nand2mario
nand2mario
2 months
The microscope was ancient and bought cheap. The stitching software is Hugin. I had to write custom Python scripts as Hugin alignment takes too long for this many images. The whole process took several tries over two weeks and it's a fun learning process. 😄
0
0
10
@nand2mario
nand2mario
2 months
Worked with many FPGA cores and got curious about actual chips. So here's the first die shot that I took 🔬🎉: Motorola 68HC05L10 from 1993, a 6800-compatible 8-bit MCU. It is stitched from ~450 photos taken with an Olympus BH2-UMA microscope and the Canon M6 camera.
3
3
28