Mr Me!

This file is part of Byte Power February 1987 . Download the collection to get this file.
Developer(s): Eric Boisvert
Date: 1987
Type: Program
Platform(s): TS 2068
Tags: Game

This program is a loader stub for a machine code game called “Mr Me,” written by E. Boisvert and published by Byte Power in 1987. The BASIC portion sets the border, ink, and paper to black, then clears memory to address 29999 before loading a CODE block into address 42623. After loading, it checks PEEK 23681 (the system variable LAST K, used here as a flag to detect whether the machine code loaded successfully) before either running the game or falling back to a LIST and STOP. Line 9999 provides the complementary save routine, storing both the BASIC loader (with autostart at line 9000) and the 22,800-byte machine code block at 42623. The machine code occupies the upper RAM area above the BASIC, a common placement strategy to avoid conflicts with the BASIC system area.


Program Structure

The program consists of four functional lines:

  1. 1 — REM block acting as a title/credits banner, naming the game “Mr Me” and crediting E. Boisvert / Byte Power 1987.
  2. 10 — Immediately jumps into machine code via RANDOMIZE USR 42623; this line is only ever reached if the machine code is already resident (e.g. during development).
  3. 9000 — The main autostart loader: blanks the display, loads the CODE block, then validates and runs.
  4. 9010RUN re-enters from line 1, eventually hitting line 10 to jump into machine code.
  5. 9999 — Master save routine for both the BASIC and the CODE block.

Machine Code Usage

The machine code block is 22,800 bytes long and loads at address 42623. This places it in the upper portion of the 48 KB RAM map, well above the BASIC system area and UDG table. Entry is via RANDOMIZE USR 42623, which calls the first byte of the loaded code as a Z80 subroutine. CLEAR 29999 sets RAMTOP below the machine code region to prevent the BASIC system from encroaching on it.

Notable Techniques and Observations

  • Setting BORDER 0: INK 0: PAPER 0 before loading produces a completely black screen during the tape load, hiding the loading border stripes — a common commercial presentation trick.
  • Line 10 with RANDOMIZE USR 42623 is separated from the loader so the program can be re-entered cleanly via RUN (line 9010) after the code is already in RAM.

Content

Appears On

Tape-based magazine.

Related Products

Related Articles

This game is just like the ever popular “PAC-MAN” Control Mr. Me! with the joystick or the keyboard: Q-UP, A-DOWN,...

Related Content

Image Gallery

Mr Me!

Source Code

1 REM                                       M R    M E                 written by E Boisvert              ©1987 BYTE POWER                                    
   10 RANDOMIZE USR 42623
 9000 BORDER 0: INK 0: PAPER 0: CLEAR 29999: LOAD ""CODE : INK 7: IF PEEK 23681=0 THEN CLS : LIST 9999: STOP 
 9010 RUN 
 9999 SAVE "Mr Me" LINE 9000: SAVE "Mr Me"CODE 42623,22800: VERIFY "": VERIFY ""CODE

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top