Ira Goldklang's TRS-80 Revived Site

TRS-80 Revived Site by Ira Goldklang's is an archive of everything related to the Tandy Radio Shack TRS-80 microcomputer lines. Site contains emulators, programs, manuals, books, patches, games, hints, discussions, questions, forums, and tons more.

September 24, 2010 – New ROM Hunt

by @ 11:29 am on September 24, 2010. Filed under Site Updates


September 24, 2010 – New ROM Hunt

In sorting thru the lastest software shipment I came across a little program which claims to identify whether your Model I ROM was v1.0, 1.1, 1.2, 1.3, or other. The ROMs out in the wild are either v1.0, v1.2, or v1.3. Does anyone have a Model I system with v1.1?? The program is as follows:

10 REM     PROGRAM TO FIND VERSION OF MODEL I ROM
20 CLS
30 FOR I=11264 TO 12287:V=PEEK(I):S=S+V:NEXT I: X=S/16
40 A=(X-FIX(X))*16:Y=FIX(X)/16:B=(Y-FIX(Y))*256
50 V=(A+B)
60 IF V=176 PRINT"ROM 1.0": GOTO 100
70 IF V=142 PRINT"ROM 1.1": GOTO 100
80 IF V=10 PRINT"ROM 1.2": GOTO 100
90 IF V=162 PRINT"ROM 1.3" ELSE PRINT"VERSION OF ROM UNKNOWN"
100 END
						

The URI to TrackBack this entry is: http://www.trs-80.com/wordpress/site-updates/20100924-rom/trackback/

3 Responses to “September 24, 2010 – New ROM Hunt”

  1. David Sutherland says:

    Ira, it’s interesting that it looks like some ROM versions may be lost. I don’t have v1.0 or v1.1 on my emulators… I’ll have to see what my real Model 1 has.

    But I don’t know what to make of the fact that I have multiple different ROMs that computer as “ROM 1.2″ but they don’t match at the MSDOS ‘FC’ file compare level. Here’s what I have which all ran in TRS32. I made the versions that would run on TRS32 from the MESS rom archives by using the MS-DOS COPY command using the /B switch and appending multiple files together.

    ROM 1.2 (CRC32:0D8A132E)(SHA1:5E318BF5D37DB5795061326FB88AAC29123D4B7D)(COMMENT:”MEMORY SIZE?, RADIO SHACK LEVEL II BASIC”)(FILE:level2.ROM)
    ROM 1.2 (CRC32:D6FD9041)(SHA1:6E2983CF6A4DB7306F8A2CA1FA5A6EB4F63D7C5A)(COMMENT:”MEMORY SIZE?, RADIO SHACK LEVEL II BASIC”)(FILE:trs80l2_z33_z34_z2.rom from MESS archive)
    rom 1.2 (CRC32:48985A30)(SHA1:E84CF3121F9E0BB9E1B01B095F7A9581DCFAAAE4)(COMMENT:”MEMORY SIZE?, BASIC 2.20″)(FILE:ht1080z3.rom)
    ROM 1.2 (CRC32:CFD85C89)(SHA1:45A388FAA812E789E56CE95E41FB0B9D0E893E29)(COMMENT:”MEMORY SIZE?, L N W – 8 0″)(FILE:lnw_a_a1_b_b1_c_c1.rom)
    ROM 1.3 (CRC32:A8E60D9A)(SHA1:B778082BB3EA46FA5922993447B8976CC12BA625)(COMMENT:”MEM SIZE?, R/S L2 BASIC”)(FILE:trs80l2_z33_z34_z2_alt.rom from MESS archive)(FILE:RS L2 BASIC.rom)


    (BTW, I am using a cool little Windows app called “HASHTAB” http://beeblebrox.org to get the CRC32/SHA1 values. After installing just right click properties to get values.)

  2. Kurt Baumgardner says:

    Hey guys,

    Any luck on finding the old ROMs? By the way, there’s 2 different v1.3s. I have one of each. The differences are at these addresses:

    Delay routine:
    5F,60,61,62,63,64

    Read a byte from tape:
    236,237,238,239,23A,23B,23C,23D,23E,23F

    LPRINT driver routine
    58D,58E,58F,590

    I have not determined what the differences do – both ROMs appear to work ok with tape reading. I’ll try the HASHTAB program and let you know which is which.

    Ok, I tried it. I have the one above, plus this one:
    CRC32: 39F02E2F
    MD5: 54965C287F7E7894CBBB6D571D2173F2
    SHA-1: 7FFA9FC8CEC632DCE05BA77B0B94F2D04BBCC65C

    @David: Is there any chance I can get a copy of both of the 1.2 ROMs so I can compare the differences? I intend to identify and disassemble the differences, because I would like to understand the changes that affect things, like the cassette routines. I’ve recently added an XRX switch to a couple of my TRS-80′s, so I can play with writing a high-speed cassette system, just for fun, and it would be nice to know the history of the cassette routines, among other things.

    I don’t know the legality of the ROMS or whatnot. I’m not trying to upset anyone. It seems to me, though, that, owning multiple TRS-80′s probably goes a long way towards it being ok to have all the ROMS. What say you?

    Furthermore, I have not run the test on all my TRS-80s – still trying to get all of them to work, but, if there’s an old ROM anywhere, I’ll bet I have one of them. (One of the TRS-80 serial numbers is 005808!!)

    I am interested in collecting all ROM versions, for these reasons:
    1. So I can write a better ROM identifier program.
    2. I want to understand and document the changes.
    3. Eventually I’m going to try to burn custom ROMs. I’m even considering software-controlled ROM bank switching to get DOS and new functionality into ROM! But, that’s just a dream at this point!

    If it’s deemed ok, I can share this funky 1.3 ROM as well.

    Take care,

    Kurt

  3. Kurt Baumgardner says:

    Update:

    Ooh, I have a 1.0 and a 1.1 ROM! They’re both in TRS-80s with the old keyboard style
    (Version D motherboards??). They have keyboard bounce problems like crazy! Also, there’s a weird bug:

    At the MEMORY SIZE? prompt, type in some text, and press and you’ll be in line edit mode, editing line 65280! After having done this, BASIC memory is corrupt, and, if you type LIST , there will be a bunch of garbage listed. And, one of lines will contain “MEMORY SIZE”!

    Now I haven’t extracted the ROMs yet – I’m still in the process of working on the TRS-80s. Once I get things together, I’ll probably write a program to dump the ROM contents to tape, and get them over to the PC that way.

    This means that my collection will be complete (I think), except for the different flavors of 1.2. Wanna trade?

    Also, a question: Who came up with the numbering scheme (1.0, 1.1, etc)? Are those official version numbers, or did someone just make up that sequence?

Leave a Reply

[Ira Goldklang's TRS-80 Revived Site is proudly powered by WordPress.]