Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1769

I

Imran Nazar

Personal blog · imrannazar.com · on HN as Two9Aprogramminggames

Imran Nazar's personal blog at imrannazar.com covers programming and games. Since 2010, 41 different Hacker News readers have linked it 68 times, most often “GameBoy Emulation in JavaScript: The CPU”. It is still writing: the last post was on 2026-07-15, and you can follow it by feed.

Visit the blog
68mentions?
7recommend?
41HN people?
2010–2026first – last linked?
Links on Hacker News per year · peak 10 in 2011

Too few sampled comments (20) to say how often HN recommends it.?

Why HN links it

HN readers link Imran Nazar's JavaScript Game Boy emulator article series as a detailed guide to building an emulator, plus his posts on binary trees, Commodore hardware and fonts.

Recommended for · 7 comments
Detailed explanations of emulator design and structure; one commenter found it very helpful and enjoyed reading it; another called it a good start and an excell

Summarised by Claude from a sample of 20 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Articles on emulation and software development, with the occasional bit of sci-fi thrown in.

The author on HN?

Two9A · 759 karma · member since 2011

http://imrannazar.com/

From their public HN profile, which links to this site.

Most-linked posts?

  1. GameBoy Emulation in JavaScript: The CPU
    16 people · 16 mentions · first linked 2010-07-22
  2. Gameboy Emulation in Javascript and HTML5
    8 people · 8 mentions · first linked 2010-11-06
  3. Pong Wars on the Commodore 64
    3 people · 3 mentions · first linked 2026-07-15
  4. Why was the Commodore 64 disk drive so slow?
    2 people · 3 mentions · first linked 2026-01-08
  5. GameBoy Emulation in JS Part 8: Interrupts
    2 people · 2 mentions · first linked 2010-11-06
  6. Extended Text Mode on the C64
    2 people · 2 mentions · first linked 2018-08-01

What Hacker News says?

  1. Porting http://imrannazar.com/GameBoy-Emulation-in-JavaScript to Typescript as a way to learn about how to write an emulator, as well as taking advantage of newer JavaScript APIs (e.g. requestAnimationFrame, ArrayBuffer etc) that were not available when this series of articles was written in 2010. We had a gameboy as a kid, but the ZX Spectrum (also Z80 CPU-based) meant more to me so hope to take what I learn from t…

    Comment linking /GameBoy-Emulation-in-JavaScript

    on “Ask HN: What are you learning?”
  2. Submitted De-Googling TOTP Authenticator Codes as a story · 105 points

    HN discussion
  3. ngcc_hk · 2022-01-12Recommends
    How it compares with the 12 years old javascript (my most beloved) simulator with detail explanation I wonder : https://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-...

    Comment linking /GameBoy-Emulation-in-JavaScript:-The-CPU

    on “Writing a Game Boy Emulator in OCaml”
  4. Submitted Steganography with Brainfuck as a story · 75 points

    HN discussion
  5. There was a detailed writeup of a different Gameyboy Emulator in Javascript: http://imrannazar.com/GameBoy-Emulation-in-JavaScript

    Comment linking /GameBoy-Emulation-in-JavaScript

    on “JavaScript GameBoy Advance Emulator”
  6. Submitted Let's build a JPEG decoder: Huffman tables as a story · 69 points

    HN discussion
  7. simias · 2019-04-15Recommends
    If you're interested in making a GB emulator here are a few resources that helped me when I did just that a few years ago: - An intro to making a GB emulator in JS (it doesn't matter if you don't plan on using JS, it still explains the basic concepts pretty well): http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-C... - Opcode map (note that the GB CPU is not a stock Z80, it has different timings, different…

    Comment linking /GameBoy-Emulation-in-JavaScript:-The-CPU

    on “GameBoy CPU Manual (2013) [pdf]”
  8. Submitted Gameboy Emulation in Javascript and HTML5 as a story · 47 points

    HN discussion
  9. storing the tree as an MPTT/NestedSet would massively simplify this, without any subquery shenanigans. https://en.m.wikipedia.org/wiki/Nested_set_model https://imrannazar.com/articles/modified-preorder-tree-trave...

    Comment linking /articles/modified-preorder-tree-traversal

    on “SQLite: Outlandish Recursive Query Examples”
  10. Submitted Let's Build a JPEG Decoder, part one: Exploring the concepts of JPEG compression as a story · 21 points

    HN discussion
  11. mattdotc · 2015-04-02Recommends
    I believe you're thinking along the right lines. If you're really curious to learn more, check out this series which I have enjoyed reading: http://imrannazar.com/GameBoy-Emulation-in-JavaScript

    Comment linking /GameBoy-Emulation-in-JavaScript

    on “I made an NES emulator – What I learned about the original Nintendo”
  12. Submitted GameBoy Emulation in JavaScript: Graphics as a story · 15 points

    HN discussion
  13. Many years ago, I wrote up a post on doing this kind of thing in plain DOS .com files: https://imrannazar.com/articles/x86-printable-opcodes It's good to see the principle can be expanded to EXEs, I'll have to dig into this some more.

    Comment linking /articles/x86-printable-opcodes

    on “Research paper is also an executable x86 program [pdf]”
  14. Submitted Extended Text Mode on the C64 as a story · 12 points

    HN discussion
  15. drbawb · 2015-01-08Recommends
    Sure! This walkthrough[1] writing a Gameboy emulator in Javascript was very helpful in seeing how an emulator should be structured. -- Though the full source is available: the actual tutorial is more of a guideline that introduces you to the hardware and structure of the emulator. It often shows code-snippets instead of working code. The Gameboy CPU Manual[2] and OP code chart[3] have been invaluable tools. In my ex…

    Comment linking /GameBoy-Emulation-in-JavaScript

    on “An NES emulator written in Go”
  16. Submitted The Curious Case of Debian 12 and the SSH Failure as a story · 7 points

    HN discussion
  17. makmanalp · 2011-02-26Recommends
    If you want to read on about how to go about building one of these, check out my friend Imran Nazar's very detailed jsgb article series: http://imrannazar.com/GameBoy-Emulation-in-JavaScript Also, the source code: https://github.com/Two9A/jsGB

    Comment linking /GameBoy-Emulation-in-JavaScript

    on “Super Mario Brothers GameBoy (and all GameBoy games) ported to HTML5”
  18. Submitted Let's build a JPEG Decoder as a story · 5 points

    HN discussion
  19. I should write that down; -Z would've been really useful when my SSH server was falling over in a heap and I was left scrolling through strace to work out what happened. I wrote that experience up last week, for what it's worth: https://imrannazar.com/articles/linux-upgrade-fail

    Comment linking /articles/linux-upgrade-fail

    on “Why use strace in 2023? [video]”
  20. Submitted GameBoy Emulation in JavaScript: GPU Timings as a story · 5 points

    HN discussion
  21. Invariably been linked before, but http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-C... also addresses basics of emulator design.

    Comment linking /GameBoy-Emulation-in-JavaScript:-The-CPU

    on “How do emulators work and how are they written?”
  22. Submitted GameBoy Emulation in JavaScript: The CPU as a story · 5 points

    HN discussion
  23. http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-C...

    Comment linking /GameBoy-Emulation-in-JavaScript:-The-CPU

    on “GameBoy Programming Manual ”
  24. Submitted GameBoy Emulation in JavaScript (2010) as a story · 3 points

    HN discussion
  25. Let's give this a blast. SEEKING WORK - REMOTE I'm a PHP/JS developer, with a background in the embedded field. You might know me from the DSemu and jsGB projects, building games console emulators in C++ and JavaScript respectively. If you need PHP/MySQL/JS work done, I'm available on a remote-work basis. I'm also open to embedded C/assembly work, if you have any. Email address on my profile, articles and code sampl…

    Comment linking /

    on “Ask HN: Freelancer? Seeking freelancers? (April 2011)”
  26. Submitted GameBoy emulation in JavaScript (2011) as a story · 3 points

    HN discussion
  27. It's also worth checking out Imran Nazar's excellent writeup on creating a Gameboy emulator in javascript: http://imrannazar.com/GameBoy-Emulation-in-JavaScript Direct link to the first section, the CPU: http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-C...

    Comment linking /GameBoy-Emulation-in-JavaScript:-The-CPU

    on “Full Gameboy Color Emulator in Javascript”
  28. Submitted GameBoy Emulation in JavaScript: The CPU (2010) as a story · 3 points

    HN discussion
  29. There used to be a demo floating around where someone had hacked this together with the firefox nightlies' support for the orientation sensor that allowed to your drive the kart by tilting your device. It worked for macbook as well as smartphones. Unfortunately the page is now down :( http://dougt.org/random/orientationdemo/index.xhtml In lieu of that, I present to you something much more interesting: A complete ste…

    Comment linking /GameBoy-Emulation-in-JavaScript:-The-CPU

    on “JavaScript Super Mario Kart”
  30. Submitted GameBoy Emulation in JavaScript as a story · 3 points

    HN discussion

Search all of HN for imrannazar.com

Linked by the same people?