ROSE-8: Console Mode

A few weeks ago I got sucked into designing a toy 8-bit CPU, ROSE-8, and got as far as writing an emulator for the machine that you could manually feed instructions to. At the end, I listed some future projects, the first of which was

  • An assembler/interpreter, i.e. running from a text file (and outputting to a binary file, I guess). Writing arrays of instructions by hand (as shown above) isn’t so bad except for manually computing addresses and offsets, so I still want to get to this at some point.

Setting up gitweb on Shared Hosting

In my last post I talked about how I was disappointed I wouldn’t be able to post my toy projects on GitHub, since GitHub supports ICE. I did get a few recommendations for other places to host Git repositories, but—at least partly inspired by Tom Ryder’s “Why Not GitHub?”—I decided to take the plunge and set up my own hosting. After all, these aren’t big collaborative projects; they’re “just” projects whose revision history I’m willing to share. In all cases so far, I’m the only author, even.

ROSE-8

or, “How I put too much time into making an 8-bit ISA and accompanying virtual machine”

It all started with my colleague Cassie having fun designing a toy 8-bit ISA (“instruction set architecture”). I love encoding tables (I helped out a little with the one for Swift’s String struct representation), and I did assignments in college involving simplified CPUs. So I started thinking about what it would be like to write a program in Cassie’s ISA…and decided its four registers were too limited for me. How could I get up to 8 registers while still keeping most of the instructions in a single byte?

Older Posts

  1. 2019-12-24 quasiquarantine
  2. 2019-11-01 Leaving Apple
  3. 2019-08-01 > go east
  4. 2018-04-29 Misleading Metrics and UX Tradeoffs
  5. 2018-04-03 "FIXME" Doesn't Always Mean "Fix Me"
  6. 2018-03-22 My Little (String) Optimization, Part 2
  7. 2018-03-15 My Little Optimization: The Compiler Is Magic
  8. 2018-02-26 Many-to-Many Protocols
  9. 2018-01-29 Color Palette #8
  10. 2017-09-07 The New Kingdom of Nouns
  11. 2017-09-05 Over-abstraction
  12. 2016-08-21 Macromancy, Part 2
  13. 2016-08-07 Macromancy
  14. 2016-06-19 Pronoun Buttons
  15. 2016-05-29 Webmailer's Update Bar
  16. 2016-05-23 So You Want to Be a (Compiler) Wizard
  17. 2015-12-29 Re: Contempt Culture
  18. 2015-11-18 Recommendations
  19. 2015-05-09 Nibblesort: Adventures in Optimization
  20. 2015-02-22 AlterConf SF/Oakland
  21. 2015-01-24 “Skip the FFI”
  22. 2012-12-08 How to Write a Checker in 24 Hours
  23. 2012-10-02 Git Tricks
  24. 2012-05-16 Big News
  25. 2012-04-26 Keyboard Adventures
  26. 2012-04-10 Mail Aliases
  27. 2011-08-14 Header Anchors: A Safari Extension
  28. 2011-08-10 "Little Big Details"
  29. 2011-07-29 Weak Linking
  30. 2011-07-25 Using Clang from SVN in Xcode
  31. 2011-07-22 rm vs. Time Machine
  32. 2011-07-14 Priorities
  33. 2011-06-30 Quick Look in TextMate
  34. 2011-06-27 git add
  35. 2011-06-20 Automatic Reference Counting
  36. 2011-06-16 Dealing with "Sandwich Code"
  37. 2011-06-05 gdba
  38. 2011-06-03 Chrome vs. Safari
  39. 2011-05-31 User-Side Troubleshooting
  40. 2011-05-30 Auspicious Continuation
  41. 2009-07-21 Scripting Bridge
  42. 2009-07-08 What Happened to Dockyard?
  43. 2009-06-26 Garbage Collectors and Stack Drawers
  44. 2009-06-21 Z shell
  45. 2009-05-22 “Several New Features”
  46. 2009-05-05 C++ Templates are Turing-Complete
  47. 2009-04-21 [Meme] How Many HTML Elements Can You Name in 5 Minutes?
  48. 2009-04-16 Safer Plugin Categories
  49. 2009-04-02 Hacking Safari 4...for Great Convenience
  50. 2009-03-27 Const Correctness
  51. 2009-03-19 Categories and +load
  52. 2009-03-15 Subversion Checksum Problems
  53. 2009-03-06 JavaScript Tetris
  54. 2008-09-04 Objective-J and Objective-C
  55. 2008-08-28 HTTPS and Name-based Virtual Hosting
  56. 2008-03-08 Alerts Without Apps (or nibs)
  57. 2008-01-14 NSNumber, CFNumber, and CFBoolean
  58. 2007-12-13 GenericToolbar and IB3
  59. 2007-10-27 Performance Optimization: Why We Can't Use valueForKeyPath:
  60. 2007-09-01 Short Xcode Tip: Plugins
  61. 2007-07-15 Port 25 Blocked?
  62. 2007-06-27 GenericToolbar Icon
  63. 2007-04-13 The Symbolism of Pretty URLS
  64. 2007-03-07 Flexible PHP
  65. 2007-01-12 Inauspicious Beginnings