About This Page

This page contains a chart (below) which tracks the ROMs known to exist which will run in a TRS-80 emulator. NO ROM CAN BE DOWNLOADED FROM THIS SITE; LINKS ARE TO GENERAL MACHINE DESCRIPTIONS ONLY.

The ROM checksums which Radio Shack listed as valid are:

ROM A
ROM B
ROM C
AE5D v1.0
DA84 v1.0
4002 v1.0
AE60 v1.1, v1.2
DA45 v1.1, v1.2
3E3E v1.1
 
 
40BA v1.2
 
 
40E0

There is 1 ROM C after which we don’t have … checksum 40E0.

The CRC-32 and MD5 checksums are present so that you can match any ROMs you have with the chart.

Special Thanks to Matthew Reed who took the time to analyze the Radio Shack ROMs below and who then wrote up a wonderful explanation of the differences, and also to those who have found and dumped some previously missing ROMs including Kurt Baumgardner, Katz, and John Benson.


Model I-ish ROM’s


ROM v1.0

Name
Manufacturer
ROM
ROM A
Cksum
ROM B
Cksum
ROM C
Cksum
model1-v1.0
Radio Shack
v1.0
AE5D
DA84
4002
  • Notes: Good
  • CRC-32: D8E9DFA7
  • MD5:9752FBD2780B8E4CA483B198BFE0D17E


ROM v1.1

Name
Manufacturer
ROM
ROM A
Cksum
ROM B
Cksum
ROM C
Cksum
model1-v1.1
Radio Shack
v1.1
AE60
DA45
3E3E
  • CRC-32: 4BE1227E
  • MD5: 6575A2FFF1479A825B98095C40BACA24

Changes from ROM v1.0

Mem Loc
From
To
Purpose
0683H
20EFH
JR NZ,0674H
20F1HJR NZ,0676H
Correct an error where the system buzzed during the memory test using OUT (FFH),A at 0674H. This changes the jump to 0676H below the buzz routine.
1226H
EA3412H
JP PE,1234H
300BJR NC,1233H
This change fixes a bug in double precision. It is to jump if the value in Register 1 is double precision. Since this fix is 1 byte shorter, the ROM renumbers for a while.
124CH
N/A
B7H
OR A
Still in the double precision routine. This addition restores the memory locations back to what they were in v1.0 for the remainder of the ROM
226AH-226EH
3AH A9H 40H B7H C8H
LD A, (40A9H)
OR A
RET Z
00H 00H 00H 00H 00H
A bug in v1.0 caused the DATA pointer to RESTORE randomly (well, based on the memory contents of 40A9H [16553]). This removes the call to memory location causing the problem.
2FFBH
00H 00H
NOP
NOP
DEH 00H
SBC 00H
Seems to be random garbage.


ROM v1.2

Name
Manufacturer
ROM
ROM A
Cksum
ROM B
Cksum
ROM C
Cksum
model1-v1.2-1
Radio Shack
v1.2
AE60
DA45
40BA
  • Notes: Good
  • CRC-32: 0D8A132E
  • MD5: CA74822EBC2803C6635A55116ECD9539
model1-v1.2-2
Radio Shack
v1.2
AE60
DA45
40BA
  • Notes: Good (but has slack)
  • CRC-32: 0A97B531
  • MD5: 265919F6207316A0DFCF323CD7E3A547
model1-v1.2-3
Radio Shack
v1.2
AD8C
DA45
40BA
  • Notes: Patches out Delays and Memory Test
  • CRC-32: B1ABA28D
  • MD5: 6D4188C2624F8F0AB42D209A0DAF7F19
  • CRC-32: FDC1F12C
  • MD5: 222A7CE2DDC800A8AF4828D2263530D3
  • CRC-32: D6FD9041
  • MD5: D63BA75967F07827D1CA7BEC98C7ADFE

Changes from ROM v1.1

Mem Loc
From
To
Purpose
2FFBH
DEH 00H 00H 00H
SBC 00H
NOP
NOP
DE C3 C3 44 B2
SBC C3H
JP B244H
Seems to be random garbage.


ROM v1.3

Name
Manufacturer
ROM
ROM A
Cksum
ROM B
Cksum
ROM C
Cksum
model1-v1.3-1
Radio Shack
v1.3
B078
DA45
4006
  • Notes: Good
  • CRC-32: A8E60D9A
  • MD5: 6F0AC8179FA01CC44720DA319CE12A92
model1-v1.3-2
Radio Shack
v1.3
AED7
DA45
4006
  • Notes: Heavily Patched with Odd Changes including incorrect processing of JP/JR. If you have this ROM, you should not use it.
  • CRC-32: 39F02E2F
  • MD5: 54965C287F7E7894CBBB6D571D2173F2

Changes from ROM v1.2

Mem Loc
From
To
Purpose
0059H (89)
1AH (26)
00H (00)
Inhibit a CHR$(26) from being returned when SHIFT-DOWNARROW is pressed; allowing those to function as a control key, and passing a third key as a control equivalent.
00FD (253)
11H
LD HL,0111H
0E
LD HL,010EH
The memory location of the new Level II BASIC startup message.
0108H-021CH (264-540)
 
 
“ORY SIZE RADIO SHACK LEVEL II BASIC” to “SIZE R/S L2 BASIC”
0249H (585)
41H (65)
60H (96)
Lengthen the delay after the timing pulse is detected on a tape read from 65 to 96 before resetting the cassette input data latch.
0250H (592)
76H (118)
85H (133)
Lengthen the wait for the data pulse from 118 to 133.
03FBH-03FDH (1019-1021)
7AH 07H 07H
LD A,D
RLCA
C3H 1CH 01H
JP 011CH
Change the keyboard jump to the debounce patch routine which is now where “ACK LEVEL II BASIC” used to be. That routine pops back to 03FE.
124CH-124DH (4684-4685)
B7H D1H
OR A
POP DE
D1H B7H
POP DE
OR A
Swapped the 1 byte instructions. No idea why.
206DH-20F7H (8301-8439)
 
 
Permits an “@” in the PRINT anywhere instead of only first. This was a problem if you wanted to use multiple print@’s on a line.
213BH (8507)
3FH (63)
7FH (127)
This is how high a number you can TAB to. Previously you could only TAB to the 63rd position on the current line. Now you can tab to the 63rd position on the NEXT line.
2167H (8551)
A0H
JP 20A0H
81H
JP 2081H
Changes a ROM jump from 20A0H to 2081H.
2C1FH-2C42H (11295 – 11330)
 
 
This is the CLOAD routine. Probably a change for the reliability of CLOAD and CLOAD? Prior ROM addressed these in the following order: start the motor, find the sync byte, get the CLOAD command line parameters, and then execute a NEW. Now, they are addressed as follows: get the CLOAD command line parameters, execute a NEW, start the motor, and find the sync byte. Possibly to prevent losing data if determining the command line parameters took too long.
2FFCH-2FFFH (12284 – 12287)
00H 00H 00H 00H
NOP
C3H C3H 44H B2H
JP 44C3H
OR D
Seems to be random garbage.

HT-1080Z

HT-1080z-3
v2.2
C437
DA30
40BA
  • CRC-32: 48985A30
    MD5: BABB628C6557BFFA4120D83315456011

LNW-80

LNW-80 Rom 1
AB79
DA45
40BA
  • CRC-32: 97B888AD
    MD5: 58B9725112AF58FD8F9778495F10E7FC
LNW-80 Rom 2
AB79
DA56
40BA
  • CRC-32: CFD85C89
    MD5: EBF4239876575B6935C53468C02EA0FD

SYSTEM-80

System-80-ROM-1
Dick Smith System 80 – Black Label
A94F
DA67
40BA
  • CRC-32: 2BFEF8F7
    MD5: CAED9BF4AD65302484044CA211D46E12
System-80-ROM-2
Dick Smith System 80 – Black Label
A94F
DA67
40BA
  • CRC-32: CCBDD9B8
    MD5: 883CED6D037F8EBDA7DFDE288D6DB317
System-80-ROM-5
Dick Smith System 80 – Black Label
A74E
DA67
40BA
  • Notes: Patched with TRS-80 Print Routines
  • CRC-32: 3BC7421E
  • MD5: 598BB767B95D83B2FAB1B5494599FE01
System-80-ROM-3
Dick Smith System 80 – Blue Label
A94F
DA67
40BA
  • CRC-32: BFF36D2F
    MD5: 6C734A96365BAE81C729C2E4F0F7020E
System-80-ROM-4
Dick Smith System 80 – Blue Label
A74E
DA67
40BA
  • Notes: Patched with TRS-80 Print Routines
  • CRC-32: C0B8882F
  • MD5: D64FEC7D8FE026026C791F32FB212663

How to Dump Your Model I ROM

If you have a Model I and want to dump your ROM for analysis, you can use the following program. Note, it takes about 30 minutes to run on a Model I, which is why the counters/screen updates are present. If you do not wish to key all that in, and don’t mind staring at a blank screen for 30 minutes, just don’t type in the italicized lines. Remember to use a disk with at least 13K free (and to adjust line 10 to point to that drive) or you will run out of space and have to start all over.

10 OPEN "O",1,"NEWROM/ROM"
20 FOR X = 0 TO &H2FFF
30 PRINT #1,CHR$(PEEK(X));
40 IR=IR+1 : IF IR = 614 THEN IR = 0: PC=PC+5: PRINT PC"% ...";
50 NEXT X
60 PRINT "DONE!":PRINT70 CLOSE