Tangerine Microtan 65
Using the Emulator

 


Home
Up
About the emulator
Using the Emulator
Writing Programs
Game Pack 1
Game Pack 2
Download

System Requirements

  • A P120 running Windows 95/98/NT4/2000. 
  • DirectX 3+ for sound emulation (5+ is preferred, this is really only a problem for NT4).

It will run on slower machines, but the screen refresh and emulator speed may be reduced.

If DirectX is not present, the emulator will still run, but with no sound, other than for Space Invasion.

The emulator has been tested on quite a few machines from a P120 to a PIII500 and Win 95/98/NT4/2000, so it should be OK. If you have any problems, please contact me.

Known issues

  • The hunchback game, "Hells Bells" seems to corrupt itself occasionally.
  • Sound emulation on versions of DirectX less than 5 doesn't work properly.
  • The 6522 input ports are not fully emulated.


Quick Start Guide

  • Extract all the files to a directory on your hard drive. It's essential that the two .ROM files are in the same directory as the Microtan.exe file, but you can put the games anywhere.
  • Run the program. You get a window full of random characters with "TANBUG" at the bottom. The hatched square underneath it is the cursor. If you get a "Could not load ... file", you haven't put the .ROM files in the same directory as the .EXE!
  • To play a game, click on the "load" tool or the "file/load" menu. Select the game and it automatically starts. The Microtan automatically gets reset when you load a game, so there shouldn't be any problems loading a game when one is already running. Most games use the cursor keys to move and the left Ctrl and Shift keys to fire - see the notes with the game.


Menu Options 

Most menu options are also available from the toolbar.


File/ Load

Load a file from disk. The emulator then resets the CPU.

File/ Save

Saves the lower 8k to disk as a .M65 file using the original file name.

File/ Save As

Prompts the user for a file name then saves the lower 8k to disk as a .M65 file.

Emulator/ 0.75MHz Processor

Sets the emulator to a 0.75MHz processor - this is the original Microtan speed.

Emulator/ 1.5MHz Processor

Sets the emulator to a 1.5MHz processor - this is twice the original Microtan speed.

Emulator/ 3MHz Processor

Sets the emulator to a 3MHz processor - this is the four times the original Microtan speed.

Emulator/ Full ASCII Keyboard

Sets the keyboard to a full ASCII keyboard with joystick (on the cursor keys).

Emulator/ Hex Keypad

Sets the emulator to a hex keypad. This maps the cursor keys to some of the hex keypad keys.

Emulator/ Reset Processor

Resets the Microtan

Emulator/ Memory Access Breakpoint

Allows you to set a breakpoint when a particular memory location is read and/or written to. When the breakpoint occurs, it can either emulate a BRK instruction or display a trace of the last 2k instructions (or both).

Emulator/ Show Trace

Pauses the processor and displays a trace of the last 2k instructions. The trace may be copied to the clipboard in whole or part.

Emulator/ View Memory Access

Pauses the processor and displays a table of memory accesses, showing whether the memory was read, written or both since the last reset or the time the table was cleared.

Display / White Monitor

Changes the characters to white.

Display / Green Monitor

Changes the characters to green.

Display / Amber Monitor

Changes the characters to amber.

Display / Choose Monitor Colour

Displays a colour picker for the character colour.

Help/ About Microtan Emulator

Display the program version information.

The Microtan documentation is available for reference.

 

Supported file formats

.M65

Memory, device and processor dumps. The programs auto run when loaded.  For compatibility, if the file size is 8263 bytes, these files are loaded as .DMP files (see below).  Otherwise...

  • 2 bytes: File version
  • 2 bytes: RAM size
  • RAM (0000 to RAM Size)
  • 16 bytes: 1st 6522 (0xbfc0 to 0xbfcf)
  • 16 bytes: 2ns 6522 (0xbfe0 to 0xbfef)
  • 16 bytes: Microtan IO (0xbff0 to 0xbfff)
  • 1 byte: Invaders sound (0xbc04)
  • 1 byte: Chunky graphics state (0=off, 1=on)
  • 16 bytes: 1st AY8910 registers
  • 16 bytes: 2nd AY8910 registers
  • 64 bytes: Chunky graphics bits (first byte bit is for character at 0200, bit 1=0201, etc)
  • 7 bytes:  CPU registers (PCL, PCH, PSW, A, IX, IY, SP)

.DMP

Used by Fabrice Frances' emulator and are memory and processor dumps. The programs auto run when loaded.

  • Lower 8k of RAM (0000 to 1fff)
  • 64 bytes of chunky graphics bits (first byte bit is for character at 0200, bit 1=0201, etc)
  • 7 bytes of CPU registers (PCL, PCH, PSW, A, IX, IY, SP)

.TAP

Direct dumps of Microtan tapes. They can be loaded anywhere in RAM, but do not auto run when loaded. After loading one of these, you are shown the original file name and the address range into which it was loaded.

  • 8 bytes file name
  • 2 bytes end address (HIGH BYTE FIRST)
  • 2 bytes start address (HIGH BYTE FIRST)
  • n bytes program data

 

.HEX

There are two possible formats for .HEX files - Intel Hex and Zillion Hex.  If the file does not appear to be an Intel Hex file, the emulator will ask if it is a Zillion Hex file.  If you click "Yes", it will attempt to load the file as Zillion Hex.

Standard Intel Hex files as output from a two-pass assembler. They can be loaded anywhere in RAM and do not auto run. After loading one of these, you are shown the address range into which it was loaded. Unlike .M65 and .TAP files, these are in ASCII text.

  • A start colon
  • 1 count byte
  • 2 address bytes
  • 1 null byte
  • n data bytes
  • 1 checksum byte.  To calculate the checksum, sum of all bytes, modulo 256. Checksum is the value to make the byte sum=00. 

The file terminates with an end record, either :0000000000 or :00000001FF

Zillion hex files comprise header text (which is displayed after loading) followed by any number of code blocks, enclosed in braces "{" and "}".  Between the braces, the beginning of a line is a four digit address followed by a space and any number of two digit hex bytes separated by spaces.  If there is a TAB character, anything after is considered a comment.  Text between braces are also treated as comments.

 

Copyright (C) 1999-2002 by Geoff Macdonald

Last updated 03/09/2002