Cromemco System 3 computer

The Cromemco System Three is a Z-80 based computer. Which is nice, because I always wanted to learn Z-80 (this is my second Z-80 computer, the other one is a MSX2).

But What I like about the Cromemco is how well-built it is. I love it.

The computer is that not big, but it is a very heavy computer.

At the moment I don’t have the needed cables to test it. If I can’t find them, I might be able to build them myself (or not). If manage to get the cables, and provided that the computer works, I promise to write a game or something for it 🙂

Photos:

Cromemco System Three

Continue reading “Cromemco System 3 computer”

Advertisements

Performance of the 8088 on PC, PCjr and Tandy 1000

It’s well-known that you should measure the performance of your code, and not rely only on the opcode’s “cycle counts”.

But how fast is an IBM PC 5150 compared to a PCjr ? or to a Tandy 1000? or how fast is the Tandy 1000 HX in fast mode (7.16Mhz) compared to the slow mode (4.77Mhz) ? Or how fast is a nop compared to a cwd ?

I created a test (perf.asm) that measures the performance of different opcodes and run it on different Intel 8088 machines. I run the test multiple times just to make sure the results were stable enough. All interrupts were disabled, except the Timer (of course). And on the PCjr the NMI is disabled as well.

Without further ado, here are the results:

Continue reading “Performance of the 8088 on PC, PCjr and Tandy 1000”

IBM PCjr: Zero-day Data-destroy vulnerability

An IBM PCjr with two joysticks. That’s all you need to destroy your data

IBM PCjr zero-day data-destroy vulnerability (AKA: Joykill).

Description:

This vulnerability allows local and remote attackers to destroy the contents of the floppy diskette. User interaction is required to exploit this vulnerability. The issue results from the lack of proper validation when starting the manufacturing system test.

Exploit (local):

Continue reading “IBM PCjr: Zero-day Data-destroy vulnerability”

IBM PCjr BIOS dump

IBM PCjr BIOS dump

The IBM PCjr BIOS is very well documented in the IBM PCjr Technical Reference manual (a must read for every PCjr developer).

The only problem is that navigating that code is not easy. It has all the problems from scanned books:

  • the fonts don’t look good
  • no hyper-links
  • and difficult to search

So I dumped the BIOS and started analyzing it with IDA Pro – Free version. I added some of the original comments from the Technical Reference manual, and added some comments of my own.

If can browse it using either:

Or just clone the project from github: https://github.com/ricardoquesada/bios-8088/tree/master/ibm_pcjr

This is still Work-in-Progress. I add comments in “let’s see how this portion of the BIOS work“-basis.

 

BTW, the Tandy 1000HX BIOS dump is here: https://github.com/ricardoquesada/bios-8088/tree/master/tandy_1000hx

Update: Updated links

Tandy 64, and intro for the Tandy 1000 and more

With PVM with released an intro for the Tandy 1000 HX.

The Tandy 1000 HX uses the Intel 8088-2 CPU. Which is a suuuuper slow CPU (slower than the 8086). With all its wait states and its limitations on the video card (no hardware sprites, no charset redefinition) it makes it comparable with a Commodore 64. In fact, for certain things a Commodore 64 if way faster.

Without further ado, this is the Tandy intro:

Source code here: https://github.com/c64scene-ar/tandy64

And we’ve just released another chipdisk, this time with Brazilian music:

Source code: https://github.com/c64scene-ar/chipdisk-brazil_bits

 

Commodore 64 Assembly Tutorial – Part II

A few months ago we (Pungas de Villa Martelli) released the 4Kindness, a 4K intro for Silesia Party 8. And recently we released its source and a tutorial detailing how we built it.

Without further ado, here it is:

If you have doubts/questions about it, let us know!