Pictures of Apple Lisa 2 Boards
TI-99/4A BASIC as a Scripting Language
It is a good time for statically recompiled versions of BASIC from old computers. First there was Apple I BASIC. Then came Commodore BASIC. Now, due to overwhelming demand, we’re proud to release TI-99/4A BASIC. For those unfamiliar the TI-99/4A was a home computer by Texas Instruments released in 1981. Unusually for the time it had a 16-bit CPU: the TMS9900.
Amiga intern (PDF)
(German) Die Qualität dieses Scans ist furchtbar, aber wenigstens ist die PDF durchsuchbar.
Dangerous Xbox 360 Update Killing Homebrew
On Tuesday, Microsoft has released an Xbox 360 software update that overwrites the first stage bootloader of the system. Although there have been numerous software updates for Microsoft’s gaming console in the past, this is the first one to overwrite the vital boot block. Any failure while updating this will break the Xbox 360 beyond repair. Statistics from other systems have shown that about one in a thousand bootloader updates goes wrong, and unless Microsoft has a novel solution to this problem, this puts tens of thousands of Xboxes at risk.
Minimizing the Assembly needed for Machine Initialization
In many operating systems, I have seen overly complicated startup code. Too much is done in assembly, and printf() and framebuffer access is only available very late. In the next three blog posts, I will show how this can be avoided.
Aggressive Tail Call Optimization
In some i386/x86_64 assembly code my coworker was working on, there was a macro like this:
LOAD"$",8
Commodore computers up to BASIC 2.0 (like the Commodore 64, the VIC-20 and the PET 2001) only had a very basic understanding of mass storage: There were physical device numbers that were mapped to the different busses, and the “KERNAL” library had “open”, “read”, “write” and “close” functions that worked on these devices. There were also higher-level “load” and “save” functions that could load and save arbitrary regions of memory: The first two bytes of the file would be the (little endian) start address of the memory block.
The Infinite Loop Mystery
Today’s puzzle is about some code behaving horribly wrong.
This is Copyright 1983 Microsoft – NOT!
If you look at a hexdump of any version of the Logitech mouse driver for MS-DOS, you will see the following:
The Giant Pile of Money in My Office
Corporate security thought it wasn’t the best idea:
Apple Copland Reference Documentation
The Copland project was Apple’s ill-fated attempt in the mid 1990s to replace the aging classic Mac OS with a more modern operating system that had a microkernel, virtual memory and preemptive multitasking. Information on Copland is scarce, therefore I have compiled 20 hard to find Copland reference documents, as well as the 359 page book “Mac OS 8 Revealed”.
Readable and Maintainable Bitfields in C
Bitfields are very common in low level C programming. You can use them for efficient storage of a data structure with lots of flags, or to pass a set of flags between functions. Let us look at the different ways of doing this.
A Lot of Security
Stamp Vending Machine DoS
It makes sense for a stamp vending machine to have some limits and not print any amount of stamps or stamps of any value. The vending machines from the Deutsche Post are a little weird though:
Feed in Rogue Signal Here
Sometimes it makes sense to label a surveillance camera.
Apple Lisa Operating System Reference Manual (PDF, 1983)
The Apple Lisa from 1983 was the first consumer-class computer with a graphical user interface and significantly more advanced than the 1984 Macintosh, which had a similar UI, but a comparatively primitive underlying OS. Here, I present a searchable PDF of the rare “Operating System Reference Manual for the Lisa” (1983), as well as a quick overview of the OS and how it compares to UNIX.
Tripos, the Roots of AmigaDOS
The core of the Amiga Operating systems consists of the three major components Exec (scheduling, memory management, IPC), Intuition (GUI library) and AmigaDOS (process and file management). AmigaDOS is based on the Tripos operating system which Commodore bought because development of their own DOS subsystem failed to meet deadlines. In this article, I am presenting searchable PDFs of the very rare Tripos manuals (638 pages) as well as the AmigaDOS manual (304 pages). Comparing the two documents will share some insight in the relationship between Tripos and Amiga OS.
Reverse-Engineering DOS 1.0 – Part 2: IBMBIO.COM
Update: The source is available at github.com/mist64/msdos1
Reverse-Engineering DOS 1.0 – Part 1: The Boot Sector
Update: The source is available at github.com/mist64/msdos1
The 6502 in "The Terminator"
In the first Terminator movie, the audience sees the world from the T-800’s view several times. It is well-known that in two instances, there is 6502 assembly code on the T-800’s HUD, and many sites have analyzed the contents: It’s Apple-II code taken from Nibble Magazine. Here are HD versions of the shots, thanks to Dominik Wagner: