Home | Not logged in


Dissecting a Kaypro II ROM from 1983


Written by Stephen
May 25, 2019

A few weeks ago, I stumbled upon an ad for a Kaypro II with dead floppy drives. For the cost of shipping, they were willing to give it away. As someone who loves luggables, I knew I had to have it. The Kaypro II has the following specs:

  • Z80 CPU @ 2.5MHz
  • 64KB of RAM
  • 2KB of ROM
  • Direct linear framebuffer access to VRAM

The seller was also nice enough to send a stack of 5.25" diskettes. I believe they have lost their magnetism, as (after fixing the Kaypro drives) the files on them were corrupted. So, I have to find another 5.25" drive that I can use to put images on the disks. In the meantime, why not hack the ROM?

Now, ROM hacking is new to me. I understand the concept, but do not have any of the required tools, such as an EEPROM reader. But I do have an Arduino, so I figured I could ...

0 comments

Gravitational Physics Engine


Written by Stephen
November 09, 2018

I have written my own gravitational engine! Although it started in python, I quickly ported it to C for a huge performance benefit.

The general idea is that it starts with a large array of 'stars'. Each is given some angular momentum. Then, the stars are gravitationally simulated over a period of time. This has led to some really cool effects!

Features:

  • Multithreading support
  • Customizable parameters through the command line
  • Autosaving and loading
  • Very low memory usage (Under 16MB for 100k stars)
  • High performance

Here is a simulation I did with n=1000 stars:

Here's another one with n=10k stars. This one turned out really well. The stars quickly form two galaxies, one much bigger than the other. Not only does the big one appear to be a spiral galaxy for a short period of time, but it also rips the small...

0 comments

IBM PS/2 - Steady Progress


Written by Stephen
October 16, 2018

First things first - I have sourced a CRT! It was delivered for free and works great. Since the PS/2 System 50 has a weird VGA port, which was common in this time period, I had to break a pin off the monitor cable.

Even though the plastic colours do not match, I prefer it greatly over the LCD I used before.

I also received a USB floppy drive in the mail. I tried both MS-DOS and an IBM initialization disk image I found, but it kept dropping me into BASIC. After more troubleshooting, it turns out the floppy drive in the unit is broken. It's a common problem, and should be fixable by replacing its capacitors. When trying to get the drive apart, however, I found out that a few of the screws were completely stuck, and made out of a very soft metal which couldn't handle my screwdriver. I will probably have to drill them out and find repl...

0 comments

IBM PS/2 - The Beginning


Written by Stephen
October 11, 2018

An IBM PS/2 model 50 computer showed up on Kijiji about a week ago and I knew I had to have it. For only 20 Canadian rupees, I got a 286-based machine with one megabyte of RAM. Its 40MB hard drive was blank, and I do not have a floppy drive, so I can't create a 16 bit boot disk.

Surprisingly, though, it still boots - there is a BASIC interpreter stored on ROM. I never learned BASIC, but the language was intuitive, and I only used a minimal amount of documentation. I manually retyped a mandelbrot generator I found on github, which worked perfectly! Unfortunately, the built in interpreter only supports 4 colours - which I configured wrong, resulting in a monochrome program output - and I only allowed it...

0 comments

Thoughts on Javascript


Written by Stephen
September 28, 2018

Personally, I don't believe that JS is a bad language. It does what it was originally designed to perfectly - allow non-coders to script basic tasks on a website. There was no reason for it to be efficient, and so it isn't. However, the ways it is being used today is an abomination, and has ultimately been detrimental to the computing world.

Web Applications Suck

Why are web applications a thing? I don't understand. You could write the exact same software in something other than Javascript, and it would be so much faster. Google Docs is one of the worst offenders, in my opinion. It's just such a bad use of the technology. If you want to process a large spreadsheet without lag, you need a much beefier computer than you would with actual decent spreadsheet software. In many cases, a 386 with a handful of MBs of RAM can handle a large document better than Google Sheets on a modern PC. Libreoffice Calc takes 60MB of memory to look at an empty spreadsheet. So why does Goo...

0 comments