Skip to content
View hyenasky's full-sized avatar
  • SLC

Organizations

@xrarch

Block or report hyenasky

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
hyenasky/README.md

Hello! This is my portfolio.

I'm Will Stach (aka hyenasky), a computer science student from Salt Lake City who is fascinated by computer architecture and system software design. This is some of the technical work I've done.

The XR/station Project

XR/station is a fully handmade computer platform, 100% designed and implemented by myself. It began in 2018 after I was inspired by the aesthetics of old computers like the SGI Indy, SPARCstation, and NeXTstation, and has been carried forward by my fascination with computers and a deep desire to learn everything about them. There's a demo emulator on the web here.

This project has a large scope of subprojects. These subprojects are roughly divided into an "old" and "new" world, since the software half of the platform design is currently being completely rewritten.

I already got a full toolchain and operating system done, but the largest parts were created with a very, very bad programming language that I created when I was 15 years old. Around March 2023, I decided to do a new self-hosted toolchain and rewrite everything using that. Here's the progress:

Projects:

  • xremu is the emulator, written using C and the SDL library. It has support for simulating multiple CPUs in an SMP configuration. It is capable of being compiled with Emscripten to run in a web browser.
  • newsdk is a fully self-hosted development toolchain.
    • Jackal is a self-hosted programming language for systems implementation. Self-hosted means all newsdk tools (including the Jackal compiler itself) are implemented in the Jackal language.
    • xrbt is a custom build system, supporting multithreaded builds.
    • xrasm is a retargetable assembler.
    • xrlink is a retargetable linker, with support for static and dynamic linking of a custom object file format.
  • a4x is the firmware, written in Jackal. It supports hot-switching to the old a3x firmware to boot "old world" operating systems.
  • MINTIA2 is the rewritten, improved operating system. It will support SMP preemptive multitasking, demand paging, dynamic linking, memory-mapped files, and other features.

XR/station Writings:

a4x Boot PickerDragonfruit MINTIAAisix

Booting the April 1991 Windows NT Build

In November 2023, ex-Microsoft engineer Jeff Parsons (@jeffpar) randomly uploaded some disk images to GitHub which contained a very old Windows NT build, from April 1991, near the dawn of its development. Investigation revealed that this NT build was built for the MIPS R3000 processor, making it the only known build of Windows to run on a 32-bit-only MIPS chip.

I was recruited by the BetaWiki community and in the span of about 5 days, I was able to jerry-rig a machine in MAME for the "R3000 Jazz" internal development board that this NT build ran on, port the ARC firmware to the R3000 chip and get it to run, and successfully boot the earliest Windows NT build currently known.

I did this work almost single-handedly except for some last minute contributions by @substanc3-dev, who created a script to work around a mismatch between VirtualBox and MAME's serial emulation that was preventing the NT kernel debugger from operating.

First successful initialization of the R3000 ARC portR3000 NT starts to boot over debugger console on OS/2Ancient NT running :)

Pinned Loading

  1. xrarch/mintia xrarch/mintia Public

    Paging operating system for a custom computer architecture

    Assembly 88 2

  2. xrarch/xremu xrarch/xremu Public

    XR/station emulator written in C with SDL.

    C 31 2

  3. xrarch/sdk xrarch/sdk Public

    Obsolete cross-toolchain for XR/station programming

    Lua 6 1

  4. xrarch/xrarch.github.io xrarch/xrarch.github.io Public

    JavaScript 3 1