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

Top all-time · #5110

A

ajxs.me

Personal blog · ajxs.me/blog · on HN as ajxshardwareprogramming

ajxs.me is a personal blog at ajxs.me about hardware and programming. Since 2021, 15 different Hacker News readers have linked it 32 times, most often “Yamaha DX7 Technical Analysis”. It is still writing: the last post was on 2025-12-31, and you can follow it by feed.

Visit the blog
32mentions?
15HN people?
2021–2026first – last linked?
Links on Hacker News per year · peak 9 in 2025

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

Why HN links it

HN readers link this blog for technical write-ups on reverse-engineering vintage synth hardware and firmware, especially the Yamaha DX7 and FM synthesis, plus a post on C++ floating point types.

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

ajxs personal site

The author on HN?

ajxs · 3,052 karma · member since 2018

meet.hn/city/-33.8698439,151.2082848/Sydney Blog: https://ajxs.me

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

Most-linked posts?

  1. Yamaha DX7 Technical Analysis
    3 people · 3 mentions · first linked 2021-10-21
  2. Introduction to reverse-engineering vintage synth firmware
    2 people · 4 mentions · first linked 2024-04-22
  3. Hacking the Yamaha DX9 to Turn It into a DX7 (2023)
    2 people · 2 mentions · first linked 2023-10-25
  4. How the Yamaha FM synth cassette interface works
    2 people · 2 mentions · first linked 2022-11-15
  5. How does Ada's memory safety compare against Rust?
    2 people · 2 mentions · first linked 2025-02-10
  6. Giving Ada a Chance
    2 people · 2 mentions · first linked 2021-03-01
  7. μCOM-87: The Strangest Architecture You've Never Worked With
    2 people · 2 mentions · first linked 2026-08-20

What Hacker News says?

  1. https://ajxs.me I use this site to write about my various technical interests, and hobby projects. Lately this has been reverse engineering vintage synthesisers. I've really been enjoying technical writing, and improving my writing skills since starting the blog.

    Comment linking /

    on “Ask HN: Share your personal site”
  2. Submitted Yamaha DX7 Technical Analysis as a story · 287 points

    HN discussion
  3. I've been doing a lot of reverse-engineering of synthesiser ROMs lately. The Yamaha DX9 ROM has some fragments of the firmware's symbol table embedded in the empty space left in the binary[0], along with a big block of 6303 code that was probably from whatever development system they used. It's a really amazing feeling when you stumble upon things like this! I'm such a nerd about these things that I feel like some k…

    Comment linking /blog/Hacking_the_Yamaha_DX9_To_Turn_It_Into_a_DX7.html

    on “The Space Quest II Master Disk Blunder”
  4. Submitted Introduction to reverse-engineering vintage synth firmware as a story · 196 points

    HN discussion
  5. It would be really great for me if any of these CSS preprocessors offered a standalone command line version that didn't need npm to install. My developer blog ( https://ajxs.me ) is built by a homegrown static-site-generator built in Python, which reads data from a simple SQLite database. I've been looking for a suitable CSS preprocessor for a while, however the ones I can find are all totally overcooked for my need…

    Comment linking /

    on “Parcel CSS: A new CSS parser, compiler, and minifier”
  6. Submitted Giving Ada a Chance as a story · 177 points

    HN discussion
  7. A while ago I created a simple website using an XML file as a storage technology and XSLT to render it to HTML. The data stored would be updated infrequently and suited a consistent format, making XML suitable for the job. Originally the site index file pointed to the XML file and the XSLT was rendered by the browser. This worked perfectly for a long time. Even though there was some technology to learn, it was a zer…

    Comment linking /

    on “Ask HN: What novel tools are you using to write web sites/apps?”
  8. Submitted How does Ada's memory safety compare against Rust? as a story · 166 points

    HN discussion
  9. If people are interested in the DX7's technical details, I've done some work reverse-engineering it, and some of Yamaha's other FM synths: https://ajxs.me/blog/tag/DX7.html Ken Shirriff has also done some amazing work analysing the DX7's sound chips: https://www.righto.com/2021/11/reverse-engineering-yamaha-dx... A really awesome documentary on the DX7 by MadFame: https://www.youtube.com/watch?v=sXt_NXjc7oY There ar…

    Comment linking /blog/tag/DX7.html

    on “They don't make them like that any more: the Yamaha DX7 keyboard”
  10. Submitted Hacking the Yamaha DX9 to Turn It into a DX7 (2023) as a story · 100 points

    HN discussion
  11. > In mathematical terms, FM synthesis is achieved by using the instantaneous amplitude of a sound wave (the modulator) to adjust the rate of change in the phase angle of another wave (the carrier). > As convoluted as this sounds, it makes more sense when visualised: [1] ...but does it?? [1] https://ajxs.me/static/img/articles/dx7_technical_analysis/f...

    Comment linking /static/img/articles/dx7_technical_analysis/frequency_modulation.jpg

    on “Yamaha DX7 Technical Analysis”
  12. Submitted How the Yamaha FM synth cassette interface works as a story · 54 points

    HN discussion
  13. I was writing an article on reverse-engineering vintage synthesisers[0], and I ended up getting majorly sidetracked trying to find out exactly what year the Hitachi HD44780 LCD controller was first manufactured, or try and find any background information on it. The earliest reference to it I can find online is a 'preliminary' user's manual[1], dated March 1981. I know it's a bit of a weird rabbit hole to go down, bu…

    Comment linking /blog/Introduction_to_Reverse-Engineering_Vintage_Synth_Firmware.html

    on “Ask HN: What rabbit hole(s) did you dive into recently?”
  14. Submitted Giving Ada a Chance (2021) as a story · 5 points

    HN discussion
  15. I've spent a lot of time reverse-engineering vintage synthesizer firmware (which is a bit simpler than modern games). I did complete end-to-end annotations of these two vintage synth ROMs: - https://github.com/ajxs/yamaha_dx7_rom_disassembly - https://github.com/ajxs/yamaha_dx9_rom_disassembly It started because I was just curious about how these devices actually worked. In the end I learned a lot of really invaluab…

    Comment linking /blog/Introduction_to_Reverse-Engineering_Vintage_Synth_Firmware.html

    on “Duke Nukem: Zero Hour N64 ROM Reverse-Engineering Project Hits 100%”
  16. Submitted Giving Ada a Chance as a story · 3 points

    HN discussion
  17. > The goal of ANY software engineer worth their salt should be minimizing errors and defects in their end product. > > ...to the extent possible within their project budget. Sure, but when other engineers discover that shit caused us many defects (e.g., asbestos as a fire insulator), they don't turn around and say, "Well, asbestos sure did cause a lot of cancer, but Cellulose Fibre doesn't shield us from neutron rad…

    Comment linking /blog/How_Does_Adas_Memory_Safety_Compare_Against_Rust.htm

    on “I'm too dumb for Zig's new IO interface”
  18. Submitted How Far Back in Time Can I Take My Website's Design? as a story · 2 points

    HN discussion
  19. Did you read the section about what made the DX7 hardware a good target for this project? https://ajxs.me/blog/Introduction_to_Reverse-Engineering_Vin... The ARQ96 is an incredibly niche product all things considered, but especially compared to the DX7. It's also ~10 years old rather than ~40 years old. It's a completely different beast. Zoom released few firmware updates, but v1.x to v2.x was a very significant cha…

    Comment linking /blog/Introduction_to_Reverse-Engineering_Vintage_Synth_Firmware.html

    on “Introduction to reverse-engineering vintage synth firmware”
  20. Submitted μCOM-87: The Strangest Architecture You've Never Worked With as a story · 1 points

    HN discussion
  21. I wrote the article mentioned by Ken: https://ajxs.me/blog/Yamaha_DX7_Technical_Analysis.html I've unwittingly become a bit of a Yamaha FM Synth historian! Here are some other contributions to reverse-engineering the DX7: A fully documented disassembly of the DX7 ROM: https://github.com/ajxs/yamaha_dx7_rom_disassembly A new firmware ROM that makes the DX9 function more like a DX7: https://github.com/ajxs/yamaha_dx97

    Comment linking /blog/Yamaha_DX7_Technical_Analysis.html

    on “Reverse-engineering the Yamaha DX7 synthesizer's sound chip from die photos (2021)”
  22. > Regardless of the language, you cannot write some special program that guarantees an input will be valid if it comes from an external source or a human. It is simply impossible to prove this at compile time. > ...but from my perspective it looks worse in Ada... This isn't really true. SPARK obviously can't prove that the input will be valid, but it can formally prove that the validity of the user input is verified…

    Comment linking /blog/How_Does_Adas_Memory_Safety_Compare_Against_Rust.html

    on “Should I choose Ada, SPARK, or Rust over C/C++? (2024)”
  23. Trove is fantastic. It came in handy very recently for the same project I used the Library of Congress for[1]. The Museums of History New South Wales has a great online archive as well[2]. [1]: https://ajxs.me/blog/The_Identity_of_The_Sanctimonious_Kid.h... [2]: https://mhnsw.au/collections/state-archives-collection/

    Comment linking /blog/The_Identity_of_The_Sanctimonious_Kid.html

    on “MyHeritage debuts OldNews.com, offering access to myriad historical newspapers”
  24. I'd never seen [1] before. Thanks for the link! That's a great and even-handed discussion of the topic. I've written a lot of hobby Ada code. I really like the language. Recently I did some research into how memory safety in Ada/SPARK compares with Rust[0]. My conclusion was that Rust is better at outright preventing common memory-related errors, but Ada has a lot of great features which let you avoid them in the fi…

    Comment linking /blog/How_Does_Adas_Memory_Safety_Compare_Against_Rust.html

    on “Ada crate of the year 2024 announced”
  25. Author here: Thank you so much for posting the article! I'm happy to answer any questions about the project. If you find this interesting, I wrote an overview of how I approach these projects: https://ajxs.me/blog/Introduction_to_Reverse-Engineering_Vin... I'm currently messing around inside the Casio CZ101, another cool 80s digital synth.

    Comment linking /blog/Introduction_to_Reverse-Engineering_Vintage_Synth_Firmware.html

    on “Hacking the Yamaha DX9 to Turn It into a DX7 (2023)”
  26. For "any size" I was kind of expecting arbitrary sized mantissa/exponent, can be useful for emulating weird DACs, for example, 12-bit mantissa and 3-bit exponent[1]. [1] https://ajxs.me/blog/Yamaha_DX7_Technical_Analysis.html

    Comment linking /blog/Yamaha_DX7_Technical_Analysis.html

    on “Show HN: Floating point arithmetic types in C++ for any size and any base”
  27. Location: Sydney, Australia Remote: Yes Willing to relocate: Potentially Technologies: Node.js/Typescript, PostgreSQL, MongoDB, AWS, .NET, React(Next.js, Redux), C, Rust, Ada, and more... Email: ajxs@panoptic.online https://github.com/ajxs https://ajxs.me

    Comment linking /

    on “Ask HN: Who wants to be hired? (February 2026)”
  28. https://ajxs.me/

    Comment linking /

    on “Ask HN: Could you share your personal website here?”
  29. It's a really good question why Casio didn't continue making synths after the 80s. It's possible that the entire CZ-line was intended to be a one-off response to Yamaha's breakaway success with the DX7. After the CZ-line, it looks like Casio tried to keep up with Yamaha for a few years, but exited the market after Yamaha launched the SY-line. From what I understand, the CZ-series were great sellers then, but even wi…

    Comment linking /blog/uCOM-87_The_Strangest_Architecture_Youve_Never_Worked_With.html

    on “New Casio F-B100W – Upgrade to the iconic F-91W after 40 years”
  30. I'm super impressed that someone has emulated the CZ-101's sound generation LSI! Lots of people use MAME as an emulator to help reverse-engineering vintage synthesisers. I only recently discovered this too. Since most 80s synths were built mostly out of 'off the shelf' components, it's not too difficult to build a MAME driver which is capable of running the synth's firmware. The actual sound generation is another st…

    Comment linking /blog/Hacking_the_Yamaha_DX9_To_Turn_It_Into_a_DX7.html

    on “MAME 0.260”

Search all of HN for ajxs.me

Linked by the same people?