Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • probably in the minority but i want the screeching and grumbling hard disk sounds
  • they're planned at some point. I need to write a utility or custom controller rig with a pico that can step the head on an MFM drive in patterns i can record, then model stepping to cylinder in the hard disk controller.
  • IBMulator has HDD sounds: https://www.ibmulator.org/
    by hggh
  • This comment is itself a meta comment but here we go I guess...How is it possible that half the comments in this thread are about the title itself? It’s not even a made-up title, it’s taken straight from the project’s README...I keep seeing people complaining almost aggressively that others are touting Rust as a useful tool (which, to me personally, it certainly is). Does someone have a financial stake in opposing Rust’s development, or what?
  • I suppose it makes a change from complaining that the post was written by an LLM.
  • When I started writing MartyPC over four years ago, writing an emulator in Rust was still somewhat novel. The development of the 'egui' immediate-mode graphics framework made it possible to make one with an advanced interactive debugger.

    By mentioning Rust people have been able to more easily find MartyPC as an example of how (or how not to) write an emulator in Rust.

    Perhaps the tag as outlived its usefulness, especially if people find it pompous or something. I'm not trying to be Rust cultist, I swear.

  • I assume it's called MartyPC because it Marty McFlies?
  • It is indeed a Marty McFly reference. The original demo I was trying to run was called 8088 MPH and is full of Back to the Future references.

    I was trying to Run Back To The Future, so I figured I'd call my emulator either Marty or McFly.

    Unfortunately I found out about the FM Towns later, so I renamed it from Marty to MartyPC so you could google "MartyPC Emulator" properly.

  • Mysteriously, backslash has been mapped to backspace for some reason.
  • What keyboard layout are you using? I can't reproduce on a US layout.
  • Old terminals had this shenanigans going on too. Backspace was not backspace and so on
  • I don't think Backspace as a key was standard internationally until 1994. Apple still doesn't use it, just Delete.
  • That's keyboard code [1] vs. Keyboard key [2].

    [1] Physical location of a key https://w3c.github.io/uievents/#keys-codevalues

    [2] Mapping of a key https://w3c.github.io/uievents/#keys-keyvalues

    The naming is terrible and I have to look it up every single time

  • Doesn't seem to support non-QWERTY keboards :(
  • But it's written in Rust! Who cares about non-qwerty!

    /s

  • How did DOS era software handle this anyways? I can't imagine it would be fun to be a dvorak typist in the DOS era.
  • I've built out a full keyboard-remapping system, to support any keyboard layout. I need help building these files.

    Are you using DVORAK? If you are willing to help, please open a Github issue with some info about your keyboard, and I'll build support for it.

  • Can it integrate with a mobile keyboard if I opened it up on a phone? I'm eager to explore the directory contents quickly on the XT. :-)
  • yes, swipe up to show a keyboard. this currently only supports the 5150/5160 completely as it is a Model F keyboard and the Tandy/Jr have some differences.
  • besides the fact that it was written in rust, rust happens to be a really nice language to write emulators, you don't have to think much about threading and not much abut memory management, rust makes that easy => you can concentrate on your pixels. Moreover LLM grasp it very well so that you can get a bit more spare time for your emulator-side-project.

    It was very long since I wrote any sort of C++ and using rust was pretty refreshing.

    Second "besides": marty's PC may not have a lot of breadth in terms of supported hardware, but it gets the accuracy totally right. It's a very special kind of achievement.

    (I'm not a rust fanboy :-) I just appreciate the language for writing my emulator)

  • Adlib support! At least someone else remembers it wasn't only Soundblaster.
  • But Soundblaster came with Adlib, so surely complete support for SB should mean Adlib support as well.. ?
  • All my friends had Soundblasters; I had a self soldered Covox. Fun times.
  • Ironically, and unfortunately, this doesn't actually emulate the FM Towns Marty (or even the regular FM Towns PC) like I assumed it would.
  • The name is a reference to the 8088 MPH scene demo, it was the first emulator to be able to run it.
  • Hi, thanks for checking out MartyPC. I'm the developer if there are any questions.
  • Many people are very angry that you used Rust. Did you expect this choice to cause such an uproar?
  • What's your favorite "What the FUCK were they smoking when they designed this?" moment?
  • One of the amazing things about this project is that the author built physical harnesses for real early CPUs so that he could build test suites against the real hardware and ensure the emulation is 100% correct, down to every timing and quirk of the original hardware.