reenigne

reenigne.org · Personal blog · on HN since 2011

Reenigne is a retro computing developer who writes about 8086/8088 hardware, microcode, CGA graphics tricks, and demoscene techniques.

What HN saysHN links it for detailed technical explanations, such as the 8086 microcode disassembly and the 8088 PC speaker MOD player.
20HN people shared it
12linked it in comments
11stories submitted
762story points
3 months agolast shared
2011people per year2026

Most-shared posts

  1. 1
    Basic2.gif
    1 people · first shared 2016
  2. 2
    Xtserver
    1 people · first shared 2022
  3. 3
    8086 Microcode Disassembled
    8 people · 242 points · first shared 2020 · 51 comments on HN
  4. 4
    8088 PC Speaker MOD player: How it’s done
    5 people · 120 points · first shared 2015 · 26 comments on HN
  5. 5
    1K colours on CGA: How it's done
    3 people · 227 points · first shared 2015 · 42 comments on HN
  6. 6
  7. 7
    More 8088 MPH how it's done
    1 people · 56 points · first shared 2015 · 4 comments on HN
  8. 8
    80386 Microcode Disassembled
    1 people · 41 points · first shared 2026 · 3 comments on HN
  9. 9
    ISA Bus sniffer
    1 people · 3 points · first shared 2016 · discussion on HN
  10. 10
    What are all those pins for? (2009)
    1 people · 1 points · first shared 2026 · discussion on HN
  11. 11
    How to get away with disabling DRAM refresh
    1 people · 1 points · first shared 2017 · discussion on HN
  12. 12
    Xtce trace.zip
    1 people · first shared 2025
  13. 13
    Gempaint.gif
    1 people · first shared 2016
  14. 14
    Cga 1k colours.png
    1 people · first shared 2015

What HN people wrote when they linked it

userbinator · 2019-02-07
The most amazing thing I've heard done with a PC speaker is in the last part of this equally amazing demo (starts at 6:37 --- the parts before have more "normal" beeper music): https://www.youtube.com/watch?v=yHXx3orN35Y Explanation here: https://www.reenigne.org/blog/8088-pc-speaker-mod-player-how-its-done/
kens · 2026-01-24
It had the micro-instructions for most of the machine instructions, but a few simple instructions were implemented directly in hardware. https://www.reenigne.org/blog/8086-microcode-disassembled/
ajenner · 2025-12-04
I wrote a program called xtce-trace (https://www.reenigne.org/software/xtce_trace.zip ) to do just this (albeit non-interactively - you just give it a program and it will generate a cycle-by-cycle trace of which lines of microcode are executed). GloriousCow aka Daniel Balsom recently fixed some of its bugs and turned it into an actual emulator (https://github.com/dbalsom/XTCE-Blue ), though it's not finished yet so there's no binary release at the moment.
rep_lodsb · 2022-07-21
It was done that way in the original 8086/88: https://www.reenigne.org/blog/8086-microcode-disassembled/ (its successor the 80186 already had a divider in hardware)
kiwidrew · 2022-05-11
And the award for most innovative use of the manufacturing test mode goes to reenigne (of 8088MPH fame), who used it to make a web service that runs user-submitted snippets of 8086 code on a genuine IBM XT: http://www.reenigne.org/xtserver/
guerrilla · 2021-11-08
The 8086's microcode has been disassembled (and is mostly documented) by the way [1] 1. https://www.reenigne.org/blog/8086-microcode-disassembled/
temac · 2020-12-12
CISC and RISC are mostly an ISA concept. Most chips are "microcoded", at least here and there. The term does not define a whole micro-architecture, esp in modern complex ones, but I'm not really sure how you would implement old school CISC chips without microcode concepts. The 8086 was microcoded: https://www.reenigne.org/blog/8086-microcode-disassembled/. It basically means that "you" program some low level internal details of a chip, e.g. the muxes connecting various buses to execution units. Most of the time the "you" is only the chip designers, and it is stored mostly in a ROM. Sometimes microcoding is accessible by actual software programmers, but it is quite rare. And modern u-ops are not necessarily like what was done at the time of old-school microcode.
mepian · 2020-12-07
x86 used microcode from the beginning: https://www.reenigne.org/blog/8086-microcode-disassembled/
em3rgent0rdr · 2018-04-28
The outro credits manage to play a MOD file just via PC speakers (which normally can just make bleeps)...quite an accomplishment! [1] [1] http://www.reenigne.org/blog/8088-pc-speaker-mod-player-how-its-done/
johansch · 2016-03-26
This wouldn't be complete without mentioning the enhanced CGA version a lot of Europeans experienced via Amstrad/Schneider PCs in the 80s (they tended to be the cheapest way to get a PC here, back then). "The Amstrad used an "enhanced" CGA graphic mode, which could display 640x200 pixels with 16 colors (or grayscale)." http://www.old-computers.com/museum/computer.asp?c=183&st=1 http://www.nostalgianerd.com/amstrad-pc1512 There were probably at least five pieces of software released which supported this mode. :) The PC1512 came bundled with the GEM windowing system from Digital Research, including a paint program: http://www.reenigne.org/computer/gempaint.gif as well as a fairly state of the art graphical BASIC: http://www.reenigne.org/computer/basic2.gif, https://www.youtube.com/watch?v=dDL8w_Mi49A (video in EGA though).
magicalhippo · 2022-08-22
> with the smaller CPUs you can lookup exactly how long each instruction will take and thus get the timing right Reminds me of the good old demo scene hack to get 18-bit color[1] back in the VGA days (and probably earlier) by changing the color palette per pixel through careful timing of the instructions. IIRC you ignore the pixel values entirely, writing effectively a single "color", ie palette index, and then just change that single palette entry per pixel, timed so it's ready just when the output DAC is clocked to the next pixel. edit: I forgot which demos I've seen this effect in, but searching for it led me down a marvelous rabbit hole where I stumbled over someone[2] managed[3] to get 1k colors over CGA[4], apparently discussed here[5] a couple of years ago. [1]: https://en.wikipedia.org/wiki/Video_Graphics_Array#Color_palette [2]: https://int10h.org/blog/2015/04/cga-in-1024-colors-new-mode-illustrate… [3]: https://www.reenigne.org/blog/1k-colours-on-cga-how-its-done/ [4]: https://en.wikipedia.org/wiki/Color_Graphics_Adapter [5]: https://news.ycombinator.com/item?id=21992870

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close