Browse by Tags

Tagged Content List
  • Blog Post: 96 Line F# Emulator + 960 bytes of HP-35 Microcode

    [Part 3 of the HP Calc series ] In this post, we’ll create a 96-line F# emulator for the HP-35 calculator with which we’ll run the 960 byte (!) ROM image. As you may well know, I am a calculator freak. The 40-year-old HP-35 is an especially wonderful device; being the world’s...
  • Blog Post: Meta-Circular Chicken and Egg

    [The tenth in a series of posts on the evolution of TransForth ] This post may not quite be deserving of a wizard’s cape and 2001 Space Odyssey background music as when Sussman writes out Lisp in Lisp (at 34:34 - my absolute favorite SICP lecture by the way), but still… we are about to...
  • Blog Post: Spanning Two Worlds

    [The ninth in a series of posts on the evolution of TransForth ] The dictionary we have at the moment is split across two worlds. The definitions are in Forth-world; packed into plain memory. But we still have the F#-world mapping of WordRecord s to those memory locations. let mutable dict = [] ...
  • Blog Post: Heart Transplant

    [The eighth in a series of posts on the evolution of TransForth ] They say that the inner interpreter is the heart of Forth and outer interpreter is the soul. It’s time to give TransForth a heart transplant! To really understand what we’re doing here, I’d suggest watching my...
  • Blog Post: Tearing Away the Scaffolding

    [The seventh in a series of posts on the evolution of TransForth ] At this point we have a reasonably complete Forth that’s pretty fun to play with. Like I said in the first post though, we don’t just want to build a Forth in F#. Stopping here wouldn’t be in keeping with “Forth...
  • Blog Post: : LOOPTY DO I . LOOP ;

    [The sixth in a series of posts on the evolution of TransForth ] There’s beginning to be more Forth than F# in these posts! The last major piece we’re missing in the language, aside from some compile-time trickery we’ll get into later, is the standard Forth looping constructs. We’re...
  • Blog Post: IF … ELSE … THEN

    [The fifth in a series of posts on the evolution of TransForth ] Sadly (or happily), we’ve come to a point at which we need to begin thinking like an assembly programmer in order to appreciate the mechanics of Forth’s control flow words. We’ll start by implementing IF …...
  • Blog Post: VARIABLE X

    [The fourth in a series of posts on the evolution of TransForth ] We’re getting very close to the point at which we’ll need to start moving closer to the machine with things like direct memory access. Implementing IF / ELSE / THEN , which we’ll do in the next post, will practically...
  • Blog Post: : REFACTOR TRIM BUILD ;

    [The third in a series of posts on the evolution of TransForth ] Now that we have Forth hobbling along, we can start to peel away the scaffolding. Some of the things we’ve defined in F# can now be redefined in Forth instead. As we go along, I think you’ll be amazed by just how little it...
  • Blog Post: : HELLO FORTH WORLD ;

    [The second in a series of posts on the evolution of TransForth ] In the last post we completed the tokenizer/parser and the REPL along with some baked in primitives. We now want to be able to add to the dictionary of known words from within Forth itself; to build secondary new words that are essentially...
  • Blog Post: FORTH LOVE? IF HONK THEN

    [The first in a series of posts on the evolution of TransForth ] I’ve been enthralled by retro computing recently and have been filling my bookshelf [yes, actual bound paper books] with (nearly) extinct programming language topics: Lisp, Fortran, Smalltalk, APL, Forth, … About this time...
  • Blog Post: Fixing Decades-old Bugs in the HP-35

    [Part 2 of the HP Calc series ] Making the JavaScript-based HP-35 microcode emulator has been a fun little project. Last time we disassembled the original bits from the ROM. I say “disassemble” but really our microcode instructions were an array of JavaScript functions. This time, I’m...
  • Blog Post: Microcode-level HP-35 Emulator (in JavaScript!)

    [Part 1 of the HP Calc series ] I recently started a super-geeky side hobby of collecting vintage calculators and got my hands on a pair of HP calcs. The more I learned about the internals of the devices, the more intrigued I was. Jacques Laporte has an absolutely wonderful site going into crazy...
  • Blog Post: TinyRPN Calculator

    It’s fun dorking around with the HP 41CX emulator on the iPhone. It’s a near-perfect rendition. I forgot how much I loved RPN calculators. The 48GX looks even more interesting with Reverse Polish Lisp but I haven’t figured out how to use it yet. The 41CX, on the other hand, is an old friend. :-) ...
Page 1 of 1 (14 items)