Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Exatron Stringy Floppy ROM

58 views
Skip to first unread message

dcsutherland on google groups

unread,
Nov 27, 2004, 2:10:44 AM11/27/04
to
Anyone have an Exatron Stringy Floppy drive out there?

Wanna dump the ROM to a disk file and email it to Ira?

Any takers? Anyone know the memory range to dump? (I know it would
include 12345)

Any thoughts? (How many ROM versions are there? How about a one line
BASIC Stringy Floppy Checksum routine???) Has anyone ever seen one of
these on a non-trs-80 platform? Think the hardware was much
different?

Richard VanHouten

unread,
Nov 27, 2004, 4:02:02 AM11/27/04
to

If I recall correctly, it took up the 2k memory hole between the top of
Level II BASIC and the keyboard/video memory map, so that would be 3000h
to 3800h (12345 decimal is near the bottom of that range.)

da...@lowrez.tv

unread,
Nov 27, 2004, 3:09:31 PM11/27/04
to
would this work to dump (from TRSDOS or NEWDOS BASIC):

10 OPEN "O",1,"XTRNSF01/ROM"
20 FOR X=12288 TO 14336
30 PRINT #1, PEEK(X);
40 NEXT X
50 CLOSE

???? Not sure this works past 256 characters or if this is placing
binary or alphanumeric data.... is there any easier way to create a
simple file for transfer?

Richard VanHouten

unread,
Nov 27, 2004, 3:37:11 PM11/27/04
to
More like this:

10 OPEN "O",1,"XTRNSSF01/ROM"
20 FOR X=&H3000 TO &H37FF: REM 12288 TO 14335
30 PRINT #1, CHR$(PEEK(X));


40 NEXT X
50 CLOSE

This gives you a binary ROM image, not a load format file. Your program
would have a long stream of decimal numbers seperated by spaces, and
also went 1 byte too far (14336 is 3800 hex, the start of the keyboard
memory space.) More massaging would be needed to turn this into either
a load format file or a hex file.

Dave

unread,
Nov 27, 2004, 5:11:05 PM11/27/04
to
On 26 Nov 2004 23:10:44 -0800, in comp.sys.tandy, da...@lowrez.tv

(dcsutherland on google groups) wrote:

> Has anyone ever seen one of
>these on a non-trs-80 platform?

There was one for the Video Genie (TRS-80 clone) as well as the CBM PET.

There was also the Sinclair MicroDrive which was the same technology.
You can find the schematics and service manual for the microdrive here.
http://www.worldofspectrum.org/documentation.html

Another similar device was a duel drive expansion box with serial/parallel
ports sold as the Rotronics WaferDrive for the Sinclair Spectrum. My
sister might still have one. I vaguely remember re-writing the code move
routine used for shifting System tape programs for TRS-DOS to do the same
job on her Spectrum computer with the wafer drives installed (same problem
as the various TRS-80 DOSs - used the "normal" low memory are for the OS
extensions)

Ah ha. Here it is :-)
http://www.worldofspectrum.org/hardware/feat1.html

> Think the hardware was much
>different?

Dave

--
xtals...@yahoo.com is a valid reply-to address but I don't check it every day.

NSM

unread,
Nov 27, 2004, 6:39:06 PM11/27/04
to

"Dave" <xtals...@yahoo.com> wrote in message
news:eethq0psn2jdbilvu...@4ax.com...

| There was one for the Video Genie (TRS-80 clone) as well as the CBM PET.
|
| There was also the Sinclair MicroDrive which was the same technology.
| You can find the schematics and service manual for the microdrive here.
| http://www.worldofspectrum.org/documentation.html
|
| Another similar device was a duel drive expansion box with serial/parallel
| ports sold as the Rotronics WaferDrive for the Sinclair Spectrum. My
| sister might still have one. I vaguely remember re-writing the code move
| routine used for shifting System tape programs for TRS-DOS to do the same
| job on her Spectrum computer with the wafer drives installed (same problem
| as the various TRS-80 DOSs - used the "normal" low memory are for the OS
| extensions)
|
| Ah ha. Here it is :-)
| http://www.worldofspectrum.org/hardware/feat1.html

Just as general information, I believe these were originally for a dictation
machine.

N


J.B.

unread,
Nov 30, 2004, 6:43:46 AM11/30/04
to
dcsutherland on google groups wrote:
> Anyone have an Exatron Stringy Floppy drive out there?
> Wanna dump the ROM to a disk file and email it to Ira?
<snip>
try "http://home.att.net/~comp_guru/"
Its my page with the ESF manual and the ESF advanced programmer guide
(It's got a commented assembler listing of the ESF-ROM)

Robert L. Doerr

unread,
Nov 30, 2004, 4:11:51 PM11/30/04
to
da...@lowrez.tv (dcsutherland on google groups) wrote in message news:<f98996b1.04112...@posting.google.com>...

There is a wafer drive used in the old Gemini robot:

http://www.robotgallery.com/robotgallery/arctec/index.html

The wafer is similar to the Exatron stringy floppy but is slightly
different. I don't know if it matches the sinclair version or not.
I have yet to find any spare/blank wafer tapes around that I could
use for it.....

Robert

da...@lowrez.tv

unread,
Dec 9, 2004, 6:26:10 AM12/9/04
to
Aha! -

J.B. wrote:
...


> (It's got a commented assembler listing of the ESF-ROM)

[ http://home.att.net/~comp_guru/ ]

Funny how the original question & answer can get buried with a bunch of
related answers.

So I suppose this 20 page assembler listing in the ESF Advanced
Programmer's Guide can be recompiled into a small ROM file!!!

If anyone has *experience* using an OCR program to read dot matrix
columnar print outs I am very interested in getting a recommendation
for which software to use. Better yet, I'd love a recommendation and
if you have time, try OCR'ing pages 17-27 of the ESF Advanced
Programmer's Guide on J.B.'s page - PLEASE TRY OCR'ing THIS INFO!

And again, if anyone out there has their Model 1 or 3 and a stringy
floppy drive connected, please dump the ROM to disk using the BASIC
program that someone listed in this thread. I did notice that Exatron
has a version number on the response string when running /12345 and
there appear to be different versions so even if we can recreate a ROM
from the printout it would be good to have the real released ROM dump.
Viva TRS-80 ESF.

da...@lowrez.tv

unread,
Dec 9, 2004, 6:44:41 AM12/9/04
to
FYI - reading .djvu files can also be done using the excellent
Irfanview utility if you download also the added plugins. Both are
free to use.

(More info. on the .djvu format can be found at
http://www.djvuzone.org/ and the http://www.lizardtech.com/ site.)

Ifranview can also extract multiple pages and save them as .bmp files
which can be then either made into a multipage TIFF (also w/ Irfanview)
or left as many .bmp files to be OCR'd.

http://www.irfanview.com/ for the download (and remember to d/l also
the extra plugins.)

NSM

unread,
Dec 9, 2004, 8:50:19 AM12/9/04
to

<da...@lowrez.tv> wrote in message
news:1102591570....@c13g2000cwb.googlegroups.com...
| Aha! -
...

| If anyone has *experience* using an OCR program to read dot matrix
| columnar print outs I am very interested in getting a recommendation
| for which software to use. Better yet, I'd love a recommendation and
| if you have time, try OCR'ing pages 17-27 of the ESF Advanced
| Programmer's Guide on J.B.'s page - PLEASE TRY OCR'ing THIS INFO!
...

OmniPage Pro 14 will do far worse stuff than this. Try 20 year old dot
matrix listings on thermal paper from a PC-3 pocket computer printer. It
does need training however.

N


j.b.

unread,
Dec 10, 2004, 9:46:18 AM12/10/04
to

<da...@lowrez.tv> wrote in message
news:1102591570....@c13g2000cwb.googlegroups.com...
> Aha! -
>
> J.B. wrote:
> ...
>> (It's got a commented assembler listing of the ESF-ROM)
>
> [ http://home.att.net/~comp_guru/ ]
>
> Funny how the original question & answer can get buried with a bunch of
> related answers.
>
> So I suppose this 20 page assembler listing in the ESF Advanced
> Programmer's Guide can be recompiled into a small ROM file!!!
>snip<

My ESF vanished about 10 years ago so I an not able to dump the ROM but the
info
is on the web (possibly my site is the only source left) as it was given to
me by EXATRON in dot matrix printer qualty
(If requested I can post the pages at 300 dpi tiff but the files are very
large
converting them to DJVU format shrank them without munging up the scans)

I'l see if i can't tack the 2K on the end of the level II rom image so an
emulator can dump then into a CMD file


NSM

unread,
Dec 10, 2004, 1:41:21 PM12/10/04
to

"j.b." <comp...@att.net> wrote in message
news:_Eiud.101732$ye4....@twister.rdc-kc.rr.com...

| My ESF vanished about 10 years ago so I an not able to dump the ROM but
the
| info
| is on the web (possibly my site is the only source left) as it was given
to
| me by EXATRON in dot matrix printer qualty
| (If requested I can post the pages at 300 dpi tiff but the files are very

They can be resized to letter size at 300 dpi so as is they are OK to OCR.
You can't improve on the originals anyway.

NM


da...@lowrez.tv

unread,
Dec 10, 2004, 8:40:10 PM12/10/04
to
Okay here's the dump I can get from the Advanced programmers manual.

Exatron Stringy Floppy ROM
as extracted by OCR from the
Advanced Programmers Manual
version 1 (unverified)
-
C34232C3DA32C35C33C36D33C38233C37
F34C387342AE640C31E1DC36534C32A33
C36E33C35F32C36433C39A34C3D230C37
930003C3C3C3C3C3C321A402182302204
402AB14036192B36972B36C32B36F02B2
2B14021A234CD7935113200CD831E3A1A
40ED44280E215C37221640C6064FFE05C
25531C32B1ACDF81A2AA4402B1896E37D
FE5B20037CFE1DE3C2781DD7F5E6DFFE4
02802F1C9F1F1D72305FE232016D72863
CD1C2BF5FE08302FCD8734C24A1EF17EC
A1E1D111530D5FEAD2845FEA7CA5231FE
BB281D22E6402AB1402323E9D70E00280
9CD1C2BFE64D24A1E4F22E64079B7C9CD
D23021C534CD793561CD5F32F5E6B7200
9CDAF0F21CE34CD7935F1C3FE31CDD230
281C2BD7281BCF2CCD4731D5CF2CCD473
1D51115302319CF2CCD47312812C39719
CDF81A23ED5BA440ED52D5E511000021D
634CD793579C1E1CD8233C3FB31C5CD02
2B2BD7C122E640C9CDD23021DF34CD793
52AA44011640019ED5BA040ED52E52AA2
40237CB5280B2AA440ED5BF94037ED52E
3FDE1210000E5612EFF79B720016FCD34
37CD493620687AB723F7FA8D3194A520F
0CD0B372058C0C062E5DDE1E5E100CD0B
37204A627AB5283CE5FDE1E5E1CD0B372
03B5DE1193848D5D5E1CDA536202ED1FD
E5E17DB420102AA240237CB5211132280
E21793013093A8038B72803211C32E3AF
130A00FDE3DD2AA44018C0E1CD2537213
735CA7935CD3C351E2AC3A2193E20B718
EADD22F9402AA440E5C3E81A213135CD7
935DDE5E1AFED52D5CDAF0F3E2CCD2A03
E1CDAF0F3E2CCD2A03FDE5E1CDAF0F18C
5C5D5CD3437CD4B373A4038E6040F2007
ED78E60428F2AFCD2537D1C1C9C5D5CD3
337E601206C7CFE023018CD423220623E
35321A40ED79CD4B372EFFCD863520511
809CD4936204A7A8420F7061010FE2E80
CD9235C2D4321E5A26FF54CD1936CA9C3
20601CD19361DC2A5320601ED41CD4936
201D7ABD20F721FFFF23ED73E604200DC
DCD36C2D232F5F1143E0828ECE6FBCD25
37D1C1C9DDE5D5E5DDE1E5FDE5C5792F4
F732F47C5FDE1CD3437CD493620257AB7
3E042C1FDD7E00CD0B37201762EBFD19E
B381BD800E5E1CDA5362007D1FD19FD23
FDE5CD2537C1FDE1E1D1DDE1C93E20B71
3F0DDE5E5DDE1E5D5C5CD333720172E00
CD92352010E1E5DD7E00CD3B36200600E
1E5CDC735CD2537E1D1E5CC4D37C1E1DD
E1C9D5163DCD2A33D1C9F578B1C45C33F
118013DC5D5E52FF6806FCD3337CC3635
CD2537E1D1C1C9DDE5FDE5E5D5C5E5DDE
1E56FE5D5FDE1C5CD33372024CD493620
1F7A8520F7061010FECD92352012ED5AD
DE5E1CD3B362008ED5AFDE5E1CD3B3620
6FED5AED5AE1CD3B362066E5E100CDC73
5205EE1DDE17D2F6FCD863520557D2F6F
3E01ED79CD493620497ABD20F7C0E5E1C
D0B37203DC0007DDDE5E1BD20657ABC20
61CD0B37202BC0007DFDE5E1BD20537AB
C204FCD0B372019C0C0E5E17DE1E5BD20
407ABC203CCDCD362006C0130EE1E1E1C
D2537C1D1E1FDE1DDE1C9DD7E00BA2020
DD232B7CB5C22534CDCD3620E2060610F
ECDCD3620D93A1A40B728023E0A18CF3E
4013CBC5D5F5CD3437CD49362005F1F53
220F6CD2537D1D1CC4D37C1C9D5163DCD
6534D1C9C5F6F04FED78E60879C1C0E52
AB1402377E1C9E5F5CD3C35F1E1C94558
4154524F4E20535452494E475920464C4
F5D50592056455253494F4E20342E313D
45524153494E472EAE2042595445532EA
E57524954494E472CAE52454144494E47
2EAE5645524946D95041524954D943434
5434B5355CD4F5554204F46204D454D4F
52D95441504520544F4F2053484F52D45
7524954452D50524F5445435445448045
4FC6204552524F528D425245414B8D444
F4E458DCB472117352030CB4F21313520
2FCB572109352022CB5F21EE34201BCB6
721F4342014CB6F21FC34200DCB7721E8
342006212735CB7FC8CD7935212A357E2
3F5E67FCD2A03F11730F4C9CD9235C0C0
060410FEC33B363E85321A40ED79CD4B3
7C0CD1436C0001300CD1936C0C0060410
FE3A1A40E67FED79000006051616CDEC3
5C055580604C3EA350000DD5600CDEE35
C0DD232B7CB520F0C00601979357CDEC3
5C0C0000604CDEC35C0C00605000010FE
3A1A40ED797A335F060823CD14362BC0C
0060210FE3A1A40F680321A40E67FED79
AFC9DD7E00ED78E605C0C53A1A40CB0A3
016EE80ED79EE800000BF060610FE321A
40ED79C110DBC900C3253655CDEE35C00
00000540604C3EC35CD5E36C07AD616C2
49363CCD1937CDCD36321A40C90614CD1
C37ED73F26036CD1C37ED78FA6336ED73
FA5E36ED73F275363E063E06CD1937ED7
8F25E36ED78FA8636C38E363E05CD1937
10DB04ED78F27536ED58FA9B363E00C3D
F36CDCD36C0C0DD7200DD232B00E5E17C
B5C2A536CDCD36C03E02CD1937CDCD36C
03A1A40B7C33E10C9ED78FAD6363E06B7
C9ED58FAD6363A1A4082321A400608060
8003E03CD19377B2FED53FAFB36ED58F2
F336C30337ED58FAFB36C30337AB07CB1
AAF10DCC9CDCD36C06A003E02CD1937C3
CD363D20FD3A4038E604C90FD1C9F5AFE
D793A1240FEFB2301FBF1C9F6AFE52AB1
40234EE12805ED78E601C03CED79F3160
71802161FAFB72004ED73E60410F71520
F4B7C921364001013816000A5FAE73A32
007142CCB01F313F25FC50607CD6000C1
0AA3C3C3FB03

da...@lowrez.tv

unread,
Dec 10, 2004, 8:47:05 PM12/10/04
to
Ah,
hope the "version 1" isn't confusing - I just meant it wasn't checked
yet. The version of this Exatron ROM is unknown at the moment.

Try http://www.techedge.com.au/utils/bincvt.htm to convert this into a
binary file. Then maybe appended to the level ii/rom to see if it
loads.

You'll probably have to copy the hex into word and remove all the line
breaks, first, etc.

jim

unread,
Dec 10, 2004, 9:37:29 PM12/10/04
to
I'm guessing you guys are talking about the ESF for the Model I?
I only had (still have) the Model III dual-drive ESF. This version of the
ESF was loaded into high mem of the M3 from the Exatron bootwafer. That info
was easily available, so I assume you want a dump of the Model I ESF ROM.
All this to say that when speaking of the Exatron Stringy Floppy, please
specify which one you mean!
There WERE more than one ESF.
--jim
--

da...@lowrez.tv

unread,
Dec 10, 2004, 10:57:09 PM12/10/04
to
Would others who have different versions of the Exatron transfer that
ROM or boot images - in this case from the *Model III* bootwafer - over
to floppy and email the file?

jim

unread,
Dec 10, 2004, 11:35:45 PM12/10/04
to
<da...@lowrez.tv> wrote:
Would others who have different versions of the Exatron transfer that
ROM or boot images - in this case from the *Model III* bootwafer - over
to floppy and email the file?
<<<<

Jim replies, somewhat obfuscatingly:
Sure I would. That is if I can get the ol' ESF III working, and then if I
can figure out how to do what you are asking! Other than those (minor
problems!!!) I'm all Go & A-OK.
--jim

da...@lowrez.tv

unread,
Dec 11, 2004, 6:42:07 PM12/11/04
to
:) well, if you can get the m3 and exatron plugged at powered up then
try running the program at the top of this thread (the 2nd one that was
posted.) if that works you'll have the image on a diskette.

Richard VanHouten

unread,
Dec 12, 2004, 12:55:43 AM12/12/04
to
No he won't, as the Model III doesn't have the ROM hole that the ESF for
the Model I exploited. He'll just have an image of the top 2k of the
Model III ROM.

j.b.

unread,
Dec 12, 2004, 1:50:36 AM12/12/04
to

"Richard VanHouten" <ric...@citlink.net> wrote in message
news:z3Rud.7564$sv3....@news01.roc.ny...


That"s why the assembler source is useful just re-originate it and its
relocated with all references fixed.
The ESF users guide clames it's the same program relocated to the top 2K of
the memory space ( thats why it requires a 48K Model 3 )
I'm going to post the ESF rom immage on my sight (it's still full of OCR
type errors but it's close)


j.b.

unread,
Dec 15, 2004, 9:26:26 AM12/15/04
to

"j.b." <comp...@att.net> wrote in message
news:0TRud.133546$T02....@twister.rdc-

PS:
I have retyped the listings so that they can be re-assembled. So far pages
1,2,13-15,and 21 are done.
Will post on http://home.att.net/~comp_guru as soon as I finish


da...@lowrez.tv

unread,
Dec 17, 2004, 4:55:37 PM12/17/04
to
What is the load address mentioned in the Model III Exatron manual?

da...@lowrez.tv

unread,
Dec 17, 2004, 4:55:30 PM12/17/04
to
What is the load address mentioned in the Model III Exatron manual?

Richard VanHouten

unread,
Dec 17, 2004, 6:02:08 PM12/17/04
to
da...@lowrez.tv wrote:
> What is the load address mentioned in the Model III Exatron manual?
>
I don't have the manual (or even an ESF), but if it's the same code as
the Model I code ORGed to load at the top of memory, it ought to load
starting at F800h and have an execution address of F839h.

da...@lowrez.tv

unread,
Dec 18, 2004, 7:31:29 PM12/18/04
to
j.b. did a great job on the conversion to the Exatron ESF Version 4.1
ROM file. I see it currently available on his
http://home.att.net/~comp_guru site.

To create an Intel or Motorola Hex file for burning to a PROM, simple
conversion tools can be found at http://www.batlabs.com/fileutil.html .


To convert, open the bin2hex zip file and place the program and the ROM
file in a temporary directory. From there I used the command line:
C:\tempx> bin2hex /o12288 ESF.ROM ESF_v41.HEX
or...
C:\tempx> bin2mot /o12288 ESF.ROM ESF_v41.MOT
to create an Intel Hex or Motorla file, respectively.

I am not sure these file formats are necessary to burn EPROM/PROM's but
I get the impression this file format is more popular with EPROM/PROM
burning software.

j.b, I am curious if you used the ASCII HEX that was posted or if you
OCR'd the assembly code and re-assembled. If the latter can you post
it? It would be good to re-org it and assemble a version for Model 3.
Also if you converted from the ASCII HEX posted, how did you do the
conversion to the ROM file? I am curious...

da...@lowrez.tv

unread,
Dec 18, 2004, 8:06:36 PM12/18/04
to
Okay - right after posting this I am now aware of two problems with
what I just posted:

1) ignore the /o offset option: looking at the file created it just
pads the beginning of the ROM until the offset value with nulls. I
misunderstood how this was supposed to be used. To correctly create an
Intel Hex file for burning instead use this:
C:> bin2hex ESFv41.ROM
The output file will be ESFv41.HEX

2) There is a small problem with the posted ESF.ROM file. The hosted
rom file ESF.ROM should be 1,920 (x077Fh) bytes in length but is 1,922
bytes because it is padded at the end with a CR+LF. Looking at the
source this can be verified as the last opcode should be at address
x077Eh, so one plus that number should be the number of bytes since the
first op code is at 0000 (loads at this plus offset x3000h address.)

The only thing I don't understand is the EDTASM command 'END' - does it
actually fill the code with a null word? If so the length is correct
but the last two bytes should be 0000 instead of 0A0D. If the 'END'
command doesn't fill the code then the last two chr's should be
removed.

Hopefully j.b. can fix/hack off those last two bytes and repost the
file as something like ESFv41.ROM to avoid confusion, then the
ESFv41.ROM would be of correct length and content.

That's it!

j.b.

unread,
Dec 19, 2004, 6:38:28 PM12/19/04
to

<da...@lowrez.tv> wrote in message
news:1103416288....@f14g2000cwb.googlegroups.com...
I used the posted hex listing
first I copied the hex out of the posting
pasted it in a blank text doc (z.asc)
removed the <CR> and <LF> using a program names SLED (Its on the web)
then ran it through this GWBASIC program:

10 OPEN"r",1,"z.asc",2
11 OPEN"O",2,"ESF.ROM"
20 FIELD 1,1 AS A$,1 AS B$
30 GET 1
33 A=ASC(A$)-48:IF A>9 THEN A=A-7
34 B=ASC(B$)-48:IF B>9 THEN B=B-7
35 FOR X=0 TO 10000:NEXT X
40 IF EOF(1) THEN END
50 PRINT CHR$(A*16+B);
51 PRINT #2,CHR$(A*16+B);
60 GOTO 30

Its an ugly programming style but it works
the final <CR><LF> is an artifact from my http file upload program


j.b.

unread,
Dec 20, 2004, 9:35:41 AM12/20/04
to
<snip>

> 2) There is a small problem with the posted ESF.ROM file. The hosted
> rom file ESF.ROM should be 1,920 (x077Fh) bytes in length but is 1,922
> bytes because it is padded at the end with a CR+LF. Looking at the
> source this can be verified as the last opcode should be at address
> x077Eh, so one plus that number should be the number of bytes since the
> first op code is at 0000 (loads at this plus offset x3000h address.)
>
> The only thing I don't understand is the EDTASM command 'END' - does it
> actually fill the code with a null word? If so the length is correct
> but the last two bytes should be 0000 instead of 0A0D. If the 'END'
> command doesn't fill the code then the last two chr's should be
> removed.
>
> Hopefully j.b. can fix/hack off those last two bytes and repost the
> file as something like ESFv41.ROM to avoid confusion, then the
> ESFv41.ROM would be of correct length and content.
<snip>

The EDSAM command dose two things
first it tells the assembler to stop reading the file ie:

; program wipe
org 4000h
wipe ld sp,4000h
ld hl,0000h
loop push hl
jp loop
end wipe
;the file ends
;this stuff is never to be assembled ever
;its all just junk as far as EDSAM knows

the second use of end is to give a "start address to the file"
EDSAM (cassette ver.) has 3 types of data blocks that are output

leader
data
eof/start address

data blocks do not need to be in sequence and can overlap each other
each data block has a block type,byte count,load address,data,and checksum


Bruce Tomlin

unread,
Dec 26, 2004, 3:21:30 PM12/26/04
to
In article <1103416288....@f14g2000cwb.googlegroups.com>,
da...@lowrez.tv wrote:

> j.b, I am curious if you used the ASCII HEX that was posted or if you
> OCR'd the assembly code and re-assembled. If the latter can you post
> it? It would be good to re-org it and assemble a version for Model 3.
> Also if you converted from the ASCII HEX posted, how did you do the
> conversion to the ROM file? I am curious...

I'm trying to disassemble it into something that can be reassembled, and
I think it's possible that there may be a missing byte somewhere before
3537H (offset 0537H in the file) due to jumps to misaligned
instructions, and in one case a call to the carriage return of a text
message.

It also looks like 34F5 is a 43 ('C') when it should be a 48 ('H').
It's the second byte of the word "CHECKSUM", so I'm pretty confident
about this one.

Since I've never heard of a "dejavu" file before, and I doubt that
anything on a Mac can read them, I have no way of checking the original
scans or doing any sort of proofreading. (The "P" in "PDF" stands for
"portable", by the way.)

Anyone who wants to fix this up, feel free to do so.


ORG 3000H

L3000 JP L3242

L3003 JP L32DA

L3006 JP L335C

L3009 JP L336D

L300C JP L3382

L300F JP L347F

L3012 JP L3487

L3015 LD HL,(40E6H)
L3018 JP 1D1EH

L301B JP L3465

L301E JP L332A

L3021 JP L336E

L3024 JP L325F

L3027 JP L3364

L302A JP L349A

L302D JP L30D2

L3030 JP L3079

L3033 NOP
INC A
INC A
INC A
INC A
INC A
INC A
LD (401AH),A
LD HL,L3082
LD (4004H),HL
LD HL,(40B1H)
LD (HL),19H
DEC HL
LD (HL),97H
DEC HL
LD (HL),0C3H
DEC HL
LD (HL),0F0H
DEC HL
LD (40B1H),HL
LD HL,D34A2
CALL L3579
LD DE,0032H
CALL 1E83H
LD A,(401AH)
NEG
JR Z,L3076
LD HL,L375C
LD (4016H),HL
ADD A,06H
LD C,A
CP 05H
JP NZ,L3155
L3076 JP 1A2BH

L3079 CALL 1AF8H
LD HL,(40A4H)
DEC HL
JR L3018

L3082 EX (SP),HL
LD A,L
CP 5BH
JR NZ,L308B
LD A,H
CP 1DH
L308B EX (SP),HL
JP NZ,1D78H
RST 10H
PUSH AF
AND 0DFH
CP 40H
JR Z,L3099
POP AF
RET

L3099 POP AF
POP AF
RST 10H
INC HL
DEC B
CP 23H
JR NZ,L30B8
RST 10H
JR Z,L3108
CALL 2B1CH
PUSH AF
CP 08H
JR NC,L30DC
CALL L3487
JP NZ,1E4AH
POP AF
LD A,(HL)
JP Z,1D1EH
L30B8 LD DE,L3015
PUSH DE
CP 0ADH
JR Z,L3105
CP 0A7H
JP Z,L3152
CP 0BBH
JR Z,L30E6
LD (40E6H),HL
LD HL,(40B1H)
INC HL
INC HL
JP (HL)

L30D2 RST 10H
LD C,00H
JR Z,L30E0
CALL 2B1CH
CP 64H
L30DC JP NC,1E4AH
LD C,A
L30E0 LD (40E6H),HL
LD A,C
OR A
RET

L30E6 CALL L30D2
LD HL,D34C5
CALL L3579
LD H,C
CALL L325F
PUSH AF
AND 0B7H
JR NZ,L3101
CALL 0FAFH
LD HL,D34CE
CALL L3579
L3101 POP AF
JP L31FE

L3105 CALL L30D2
L3108 JR Z,L3126
DEC HL
RST 10H
JR Z,L3129
RST 08H
INC H
CALL L3147
PUSH DE
RST 08H
INC H
CALL L3147
PUSH DE
LD DE,L3015
INC HL
ADD HL,DE
RST 08H
INC H
CALL L3147
JR Z,L3138
L3126 JP 1997H

L3129 CALL 1AF8H
INC HL
LD DE,(40A4H)
SBC HL,DE
PUSH DE
PUSH HL
LD DE,0000H
L3138 LD HL,D34D6
CALL L3579
LD A,C
POP BC
POP HL
CALL L3382
JP L31FB

L3147 PUSH BC
CALL 2B02H
DEC HL
RST 10H
POP BC
LD (40E6H),HL
RET

L3152 CALL L30D2
L3155 LD HL,D34DF
CALL L3579
LD HL,(40A4H)
LD DE,0064H
ADD HL,DE
LD DE,(40A0H)
SBC HL,DE
PUSH HL
LD HL,(40A2H)
INC HL
LD A,H
OR L
JR Z,L317C
LD HL,(40A4H)
LD DE,(40F9H)
SCF
SBC HL,DE
EX (SP),HL
L317C POP IY
LD HL,0000H
PUSH HL
LD H,C
LD L,0FFH
LD A,C
OR A
JR NZ,L318A
LD L,A
L318A CALL L3734
L318D CALL L3649
JR NZ,L31FA
LD A,D
OR A
INC HL
RST 30H
JP M,L318D
SUB H
AND L
JR NZ,L318D
CALL L370B
JR NZ,L31FA
RET NZ
RET NZ
LD H,D
PUSH HL
POP IX
PUSH HL
POP HL
NOP
CALL L370B
JR NZ,L31FA
LD H,D
LD A,D
OR L
JR Z,L31F1
PUSH HL
POP IY
PUSH HL
POP HL
L31BA CALL L370B
JR NZ,L31FA
LD E,L
POP HL
ADD HL,DE
JR C,L320C
PUSH DE
PUSH DE
POP HL
CALL L36A5
JR NZ,L31FA
POP DE
PUSH IY
POP HL
LD A,L
OR H
JR NZ,L31E4
LD HL,(40A2H)
INC HL
LD A,H
OR L
LD HL,L3211
JR Z,L31ED
LD HL,L3079
INC DE
ADD HL,BC
L31E4 LD A,(3880H)
OR A
JR Z,L31ED
LD HL,L321C
L31ED EX (SP),HL
XOR A
INC DE
LD A,(BC)
L31F1 NOP
EX (SP),IY
LD IX,(40A4H)
JR L31BA

L31FA POP HL
L31FB CALL L3725
L31FE LD HL,D3537
JP Z,L3579
CALL L353C
L3207 LD E,2AH
JP 19A2H

L320C LD A,20H
OR A
JR L31FB

L3211 LD (40F9H),IX
LD HL,(40A4H)
PUSH HL
JP 1AE8H

L321C LD HL,D3531
CALL L3579
PUSH IX
POP HL
XOR A
SBC HL,DE
PUSH DE
CALL 0FAFH
LD A,2CH
CALL 032AH
POP HL
CALL 0FAFH
LD A,2CH
CALL 032AH
PUSH IY
POP HL
CALL 0FAFH
JR L3207

L3242 PUSH BC
PUSH DE
CALL L3734
CALL L374B
L324A LD A,(3840H)
AND 04H
RRCA
JR NZ,L3259
IN A,(C)
AND 04H
JR Z,L324A
XOR A
L3259 CALL L3725
POP DE
POP BC
RET

L325F PUSH BC
PUSH DE
CALL L3733
AND 01H
JR NZ,L32D4
LD A,H
CP 02H
JR NC,L3285
CALL L3242
JR NZ,L32D4
LD A,35H
LD (401AH),A
OUT (C),A
CALL L374B
LD L,0FFH
CALL L3586
JR NZ,L32D4
JR L328E

L3285 CALL L3649
JR NZ,L32D4
LD A,D
ADD A,H
JR NZ,L3285
L328E LD B,10H
L3290 DJNZ L3290
LD L,80H
CALL L3592
JP NZ,L32D4
LD E,5AH
L329C LD H,0FFH
LD D,H
CALL L3619
JP Z,L329C
L32A5 LD B,01H
CALL L3619
DEC E
JP NZ,L32A5
LD B,01H
OUT (C),B
L32B2 CALL L3649
JR NZ,L32D4
LD A,D
CP L
JR NZ,L32B2
LD HL,0FFFFH
L32BE INC HL
LD (04E6H),SP
JR NZ,L32D2
CALL L36CD
JP NZ,L32D2
PUSH AF
POP AF
INC D
LD A,08H
JR Z,L32BE
L32D2 AND 0FBH
L32D4 CALL L3725
POP DE
POP BC
RET

L32DA PUSH IX
PUSH DE
PUSH HL
POP IX
PUSH HL
PUSH IY
PUSH BC
LD A,C
CPL
LD C,A
LD (HL),E
CPL
LD B,A
PUSH BC
POP IY
CALL L3734
CALL L3649
JR NZ,L331A
LD A,D
OR A
LD A,04H
INC H
RRA
LD A,(IX+00H)
CALL L370B
JR NZ,L331A
LD H,D
EX DE,HL
ADD IY,DE
EX DE,HL
JR C,L3325
RET C
NOP
PUSH HL
POP HL
CALL L36A5
JR NZ,L331A
POP DE
ADD IY,DE
INC IY
PUSH IY
L331A CALL L3725
POP BC
POP IY
POP HL
POP DE
POP IX
RET

L3325 LD A,20H
OR A
INC DE
RET P
L332A PUSH IX
PUSH HL
POP IX
PUSH HL
PUSH DE
PUSH BC
CALL L3733
JR NZ,L334E
LD L,00H
CALL L3592
JR NZ,L334E
POP HL
PUSH HL
LD A,(IX+00H)
CALL L363B
JR NZ,L334E
NOP
POP HL
PUSH HL
CALL L35C7
L334E CALL L3725
POP HL
POP DE
PUSH HL
CALL Z,L374D
POP BC
POP HL
POP IX
RET

L335C PUSH DE
LD D,3DH
CALL L332A
POP DE
RET

L3364 PUSH AF
LD A,B
OR C
CALL NZ,L335C
POP AF
JR L336E

L336D DEC A
L336E PUSH BC
PUSH DE
PUSH HL
CPL
OR 80H
LD L,A
CALL L3733
CALL Z,L3536
CALL L3725
POP HL
POP DE
POP BC
RET

L3382 PUSH IX
PUSH IY
PUSH HL
PUSH DE
PUSH BC
PUSH HL
POP IX
PUSH HL
LD L,A
PUSH HL
PUSH DE
POP IY
PUSH BC
CALL L3733
JR NZ,L33BC
L3398 CALL L3649
JR NZ,L33BC
LD A,D
ADD A,L
JR NZ,L3398
LD B,10H
L33A3 DJNZ L33A3
CALL L3592
JR NZ,L33BC
ADC HL,DE
PUSH IX
POP HL
CALL L363B
JR NZ,L33BC
ADC HL,DE
PUSH IY
POP HL
CALL L363B
L33BC JR NZ,L342D
ADC HL,DE
ADC HL,DE
POP HL
CALL L363B
JR NZ,L342E
PUSH HL
POP HL
NOP
CALL L35C7
JR NZ,L342E
POP HL
POP IX
LD A,L
CPL
LD L,A
CALL L3586
JR NZ,L3430
LD A,L
CPL
LD L,A
LD A,01H
OUT (C),A
L33E2 CALL L3649
JR NZ,L3430
LD A,D
CP L
JR NZ,L33E2
RET NZ
PUSH HL
POP HL
CALL L370B
JR NZ,L3430
RET NZ
NOP
LD A,L
PUSH IX
POP HL
CP L
JR NZ,L3461
LD A,D
CP H
JR NZ,L3461
CALL L370B
JR NZ,L3430
RET NZ
NOP
LD A,L
PUSH IY
POP HL
CP L
JR NZ,L3461
LD A,D
CP H
JR NZ,L3461
CALL L370B
JR NZ,L3430
RET NZ
RET NZ
PUSH HL
POP HL
LD A,L
POP HL
PUSH HL
CP L
JR NZ,L3461
LD A,D
CP H
JR NZ,L3461
L3425 CALL L36CD
JR NZ,L3430
RET NZ
INC DE
DB 0EH ; LD C,n
L342D POP HL
L342E POP HL
POP HL
L3430 CALL L3725
POP BC
POP DE
POP HL
POP IY
POP IX
RET

L343B LD A,(IX+00H)
CP D
JR NZ,L3461
INC IX
DEC HL
LD A,H
OR L
JP NZ,L3425
CALL L36CD
JR NZ,L3430
LD B,06H
L3450 DJNZ L3450
CALL L36CD
JR NZ,L3430
LD A,(401AH)
OR A
JR Z,L345F
LD A,0AH
L345F JR L3430

L3461 LD A,40H
INC DE
DB 0CBH ; CBC5 = SET 0,L
L3465 PUSH BC
PUSH DE
PUSH AF
CALL L3734
CALL L3649
JR NZ,L3475
POP AF
PUSH AF
LD (0F620H),A
L3475 CALL L3725
POP DE
POP DE
CALL Z,L374D
POP BC
RET

L347F PUSH DE
LD D,3DH
CALL L3465
POP DE
RET

L3487 PUSH BC
OR 0F0H
LD C,A
IN A,(C)
AND 08H
LD A,C
POP BC
RET NZ
PUSH HL
LD HL,(40B1H)
INC HL
LD (HL),A
POP HL
RET

L349A PUSH HL
PUSH AF
CALL L353C
POP AF
POP HL
RET

D34A2 DB 'EXATRON STRINGY FLOPPY VERSION 4.1'
DB 80H+0DH

D34C5 DB 'ERASING.'
DB 80H+'.'

D34CE DB ' BYTES.'
DB 80H+'.'

D34D6 DB 'WRITING,'
DB 80H+'.'

D34DF DB 'READING.'
DB 80H+'.'

D34E8 DB 'VERIF'
DB 80H+'Y'

D34EE DB 'PARIT'
DB 80H+'Y'

D34F4 DB 'CCECKSU'
DB 80H+'M'

D34FC DB 'OUT OF MEMOR'
DB 80H+'Y'

D3509 DB 'TAPE TOO SHOR'
DB 80H+'T'

D3517 DB 'WRITE-PROTECTED'
DB 80H

D3527 DB 'EO'
DB 80H+'F'

D352A DB ' ERROR'
DB 80H+0DH

D3531 DB 'BREAK'
L3536 DB 80H+0DH ; ADC A,L

D3537 LD B,H
LD C,A
LD C,(HL)
LD B,L
ADC A,L
L353C BIT 0,A
LD HL,D3517
JR NZ,L3573
BIT 1,A
LD HL,D3531
JR NZ,L3579
BIT 2,A
LD HL,D3509
JR NZ,L3573
BIT 3,A
LD HL,D34EE
JR NZ,L3573
BIT 4,A
LD HL,D34F4
JR NZ,L3573
BIT 5,A
LD HL,D34FC
JR NZ,L3573
BIT 6,A
LD HL,D34E8
JR NZ,L3573
LD HL,D3527
BIT 7,A
RET Z
L3573 CALL L3579
LD HL,D352A
L3579 LD A,(HL)
INC HL
PUSH AF
AND 7FH
CALL 032AH
POP AF
RLA
JR NC,L3579
RET

L3586 CALL L3592
RET NZ
RET NZ
LD B,04H
L358D DJNZ L358D
JP L363B

L3592 LD A,85H
LD (401AH),A
OUT (C),A
CALL L374B
RET NZ
CALL L3614
RET NZ
NOP
INC DE
NOP
CALL L3619
RET NZ
RET NZ
LD B,04H
L35AB DJNZ L35AB
LD A,(401AH)
AND 7FH
OUT (C),A
NOP
NOP
LD B,05H
LD D,16H
CALL L35EC
RET NZ
LD D,L
LD E,B
LD B,04H
JP L35EA

L35C5 NOP
NOP
L35C7 LD D,(IX+00H)
CALL L35EE
RET NZ
INC IX
DEC HL
LD A,H
OR L
JR NZ,L35C5
RET NZ
LD B,01H
SUB A
SUB E
LD D,A
CALL L35EC
RET NZ
RET NZ
NOP
LD B,04H
CALL L35EC
RET NZ
RET NZ
LD B,05H
L35EA NOP
NOP
L35EC DJNZ L35EC
L35EE LD A,(401AH)
OUT (C),A
LD A,D
INC SP
LD E,A
LD B,08H
INC HL
CALL L3614
DEC HL
RET NZ
RET NZ
LD B,02H
L3601 DJNZ L3601
LD A,(401AH)
OR 80H
LD (401AH),A
AND 7FH
OUT (C),A
XOR A
RET

L3611 LD A,(IX+00H)
L3614 IN A,(C)
AND 05H
RET NZ
L3619 PUSH BC
LD A,(401AH)
RRC D
JR NC,L3637
XOR 80H
OUT (C),A
L3625 XOR 80H
NOP
NOP
CP A
LD B,06H
L362C DJNZ L362C
LD (401AH),A
OUT (C),A
POP BC
DJNZ L3611
RET

L3637 NOP
JP L3625

L363B LD D,L
CALL L35EE
RET NZ
NOP
NOP
NOP
LD D,H
LD B,04H
JP L35EC

L3649 CALL L365E
RET NZ
LD A,D
SUB A,16H
JP NZ,L3649
INC A
CALL L3719
CALL L36CD
LD (401AH),A
RET

L365E LD B,14H
CALL L371C
L3663 LD (60F2H),SP
LD (HL),0CDH
INC E
SCF
IN A,(C)
JP M,L3663
L3670 LD (5EFAH),SP
L3675 EQU $+1 ; LD (75F2H),SP
LD (HL),0EDH
LD (HL),E
JP P,L3675
LD A,06H
LD A,06H
CALL L3719
IN A,(C)
JP P,L365E
L3686 IN A,(C)
JP M,L3686
JP L368E

L368E LD A,05H
CALL L3719
DJNZ L3670
INC B
IN A,(C)
JP P,L3675
L369B IN E,(C)
JP M,L369B
LD A,00H
JP L36DF

L36A5 CALL L36CD
RET NZ
RET NZ
LD (IX+00H),D
INC IX
DEC HL
NOP
PUSH HL
POP HL
LD A,H
OR L
JP NZ,L36A5
CALL L36CD
RET NZ
LD A,02H
CALL L3719
CALL L36CD
RET NZ
LD A,(401AH)
OR A
JP 103EH

RET

L36CD IN A,(C)
JP M,L36D6
LD A,06H
OR A
RET

L36D6 IN E,(C)
JP M,L36D6
LD A,(401AH)
ADD A,D
L36DF LD (401AH),A
LD B,08H
LD B,08H
L36E6 NOP
LD A,03H
CALL L3719
LD A,E
CPL
LD (0FBFAH),DE
L36F3 EQU $+1 ; IN E,(C)
LD (HL),0EDH
LD E,B
JP P,L36F3
JP L3703

L36FB IN E,(C)
JP M,L36FB
JP L3703

L3703 XOR E
RLCA
RR D
XOR A
DJNZ L36E6
RET

L370B CALL L36CD
RET NZ
LD L,D
NOP
LD A,02H
CALL L3719
JP L36CD

L3719 DEC A
JR NZ,L3719
L371C LD A,(3840H)
AND 04H
RET

L3722 RRCA
POP DE
RET

L3725 PUSH AF
XOR A
OUT (C),A
LD A,(4012H)
CP 0FBH
INC HL
LD BC,0F1FBH
RET

L3733 DB 0F6H ; OR n
L3734 XOR A
PUSH HL
LD HL,(40B1H)
INC HL
LD C,(HL)
POP HL
JR Z,L3743
IN A,(C)
AND 01H
RET NZ
L3743 INC A
OUT (C),A
DI
LD D,07H
JR L374D

L374B LD D,1FH
L374D XOR A
L374E OR A
JR NZ,L3755
LD (04E6H),SP
L3755 DJNZ L374E
DEC D
JR NZ,L374E
OR A
RET

L375C LD HL,4036H
LD BC,3801H
LD D,00H
LD A,(BC)
LD E,A
XOR (HL)
LD (HL),E
AND E
JR NZ,L3772
INC D
INC H
RLC C
DI
INC DE
L3772 EQU $+1 ; LD E,A / PUSH BC
JP P,0C55FH
LD B,07H
CALL 0060H
POP BC
LD A,(BC)
AND E
JP 0FBC3H

DB 03H

D3780 END

NSM

unread,
Dec 26, 2004, 3:53:36 PM12/26/04
to

"Bruce Tomlin" <bruce#fanbo...@127.0.0.1> wrote in message
news:bruce%23fanboy.net-08D3...@alpha.newsreader.com...

| Since I've never heard of a "dejavu" file before, and I doubt that
| anything on a Mac can read them, I have no way of checking the original
| scans or doing any sort of proofreading. (The "P" in "PDF" stands for
| "portable", by the way.)

DejaVu is an alternative to PDF. It's an plug-in for various browsers.

http://www.djvuzone.org/

http://www.lizardtech.com/download/dl_options.php?page=doc

offers a Mac version, (also Windows and UNIX)

N


da...@lowrez.tv

unread,
Dec 27, 2004, 2:37:30 AM12/27/04
to
DejaVu has some features that make it very worthy competition to .pdf.
It's worth looking into.

!!! -
d.j. and others: note that the ESF ROM posted contained some errors!
Matt Reed was oh-so-cool enough to look through it very carefully and
found over 30 OCR errors. Oops! He has corrected the OCR errors and
emailed me back a new version.

Below is the "new", corrected version, of the ESF41 ROM - i.e.
ESF41_CORRECTED.ROM:

D.J. - Please un-uuencode and repost on your site. Thanks! (and
please email me so I can get your email address to possibly email you
directly: david at lowrez dot tv)

------=_NextPart_000_48c5_c5a_58d9
Content-Type: application/octet-stream; name="ESF41_CORRECTED.ROM"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ESF41_CORRECTED.ROM"

w0Iyw9oyw1wzw20zw4Izw380w4c0KuZAwx4dw2U0wyozw24zw18yw2Qzw5o0
w9Iww3kwADw8PDw8PDIaQCGCMCIEQCqxQDYZKzaXKzbDKzbwKyKxQCGiNM15
NREyAM2DHjoaQO1EKA4hXDciFkDGBk/+BcJVMcMrGs34GiqkQCsYluN9/lsg
A3z+HePCeB3X9ebf/kAoAvHJ8fHXKAX+IyAW1yhjzRwr9f4IMC/NhzTCSh7x
fsoeHREVMNX+rShF/qfKUjH+uygdIuZAKrFAIyPp1w4AKAnNHCv+ZNJKHk8i
5kB5t8nN0jAhxTTNeTVhzV8y9ea3IAnNrw8hzjTNeTXxw/4xzdIwKBwr1ygb
zyzNRzHVzyzNRzHVERUwKBnPLM1HMSgSw5cZzfgaI+1bpEDtUtXlEQAAIdY0
zXk1ecHhzYIzw/sxxc0CKyvXwSLmQMnN0jAh3zTNeTUqpEARZAAZ7VugQO1S
5SqiQCN8tSgLKqRA7Vv5QDftUuP94SEAAOVhLv95tyABb800N81JNiBoerco
9/qNMZSlIPDNCzcgWMDAYuXd4eXhAM0LNyBKYnq1KDzl/eHl4c0LNyA7XeEZ
OEjV1eHNpTYgLtH95eF9tCAQKqJAI3y1IREyKA4heTAYCTqAOLcoAyEcMuOv
GAoA/ePdKqRAGMDhzSU3ITc1ynk1zTw1HirDohk+ILcY6t0i+UAqpEDlw+ga
ITE1zXk13eXhr+1S1c2vDz4szSoD4c2vDz4szSoD/eXhza8PGMXF1c00N81L
NzpAOOYEDyAH7XjmBCjyr80lN9HBycXVzTM35gEgbHz+AjAYzUIyIGI+hTIa
QO15zUs3Lv/NhjUgURgJzUk2IEp6hCD3BhAQ/i6AzZI1wtQyHlom/1TNGTbK
nDIGAc0ZNh3CpTIGAe1BzUk2IB16vSD3If//I+145gQgDc3NNsLSMvXxFD4I
KOzm+80lN9HByd3l1eXd4eX95cV5L094L0fF/eHNNDfNSTYgJXq3PgQgH91+
AM0LNyAXYuv9Ges4G9gA5eHNpTYgB9H9Gf0j/eXNJTfB/eHh0d3hyT4gtxjw
3eXl3eHl1cXNMzcgFy4AzZI1IBDh5d1+AM07NiAGAOHlzcc1zSU34dHlzE03
weHd4cnVFj3NKjPRyfV4scRcM/EYAT3F1eUv9oBvzTM3zIY1zSU34dHByd3l
/eXl1cXl3eHlb+XV/eHFzTM3ICTNSTYgH3qFIPcGEBD+zZI1IBLtWt3l4c07
NiAI7Vr95eHNOzYgb+1a7VrhzTs2IGbl4QDNxzUgXuHd4X0vb82GNSBVfS9v
PgHtec1JNiBJer0g98Dl4c0LNyA9wAB93eXhvSBlerwgYc0LNyArwAB9/eXh
vSBTerwgT80LNyAZwMDl4X3h5b0gQHq8IDzNzTYgBsAYDuHh4c0lN8HR4f3h
3eHJ3X4AuiAg3SMrfLXCJTTNzTYg4gYGEP7NzTYg2ToaQLcoAj4KGM8+QBjL
xdX1zTQ3zUk2IAXx9YIg9s0lN9HRzE03wcnVFj3NZTTRycX28E/teOYIecHA
5SqxQCN34cnl9c08NfHhyUVYQVRST04gU1RSSU5HWSBGTE9QUFkgVkVSU0lP
TiA0LjGNRVJBU0lORy6uIEJZVEVTLq5XUklUSU5HLq5SRUFESU5HLq5WRVJJ
RtlQQVJJVNlDSEVDS1NVzU9VVCBPRiBNRU1PUtlUQVBFIFRPTyBTSE9S1FdS
SVRFLVBST1RFQ1RFRIBFT8YgRVJST1KNQlJFQUuNRE9ORY3LRyEXNSAwy08h
MTUgL8tXIQk1ICLLXyHuNCAby2ch9DQgFMtvIfw0IA3LdyHoNCAGISc1y3/I
zXk1ISo1fiP15n/NKgPxFzD0yc2SNcDABgQQ/sM7Nj6FMhpA7XnNSzfAzRQ2
wAAYAM0ZNsDABgQQ/joaQOZ/7XkAAAYFFhbN7DXAVVgGBMPqNQAA3VYAze41
wN0jK3y1IPDABgGXk1fN7DXAwAAGBM3sNcDABgUAABD+OhpA7Xl6g18GCCPN
FDYrwMAGAhD+OhpA9oAyGkDmf+15r8ndfgDteOYFwMU6GkDLCjAW7oDtee6A
AAC/BgYQ/jIaQO15wRDbyQDDJTZVze41wAAAAFQGBMPsNc1eNsB61hbCSTY8
zRk3zc02MhpAyQYUzRw37XjyYDbNHDftePpoNu14+l427XjydTY+Bj4GzRk3
7XjyXjbtePqGNsOONj4FzRk3ENsE7XjydTbtWPqbNj4Aw982zc02wMDdcgDd
IysA5eF8tcKlNs3NNsA+As0ZN83NNsA6GkC3yD4Qye14+tY2Pgi3ye1Y+tY2
OhpAgjIaQAYIBggAPgPNGTd7L+1Y+vs27Vjy8zbDAzftWPr7NsMDN6sHyxqv
ENzJzc02wGoAPgLNGTfDzTY9IP06QDjmBMgP0cn1r+15OhJA/vsoAfvxyfav
5SqxQCNO4SgF7XjmAcA87XnzFgcYAhYfr7cgBO145gQQ9xUg9LfJITZAAQE4
FgAKX65zoyAHFCzLAfgY8l/FBgfNYADBCqPIw/sD
------=_NextPart_000_48c5_c5a_58d9--

Bruce Tomlin

unread,
Dec 27, 2004, 5:40:59 PM12/27/04
to
In article <1104133050.9...@z14g2000cwz.googlegroups.com>,
da...@lowrez.tv wrote:

> d.j. and others: note that the ESF ROM posted contained some errors!
> Matt Reed was oh-so-cool enough to look through it very carefully and
> found over 30 OCR errors. Oops! He has corrected the OCR errors and
> emailed me back a new version.

This one disassembles a lot more cleanly. Here it is for those of you
who want to reassemble it at a different address. If this is being done
for a Model III, beware of the direct ROM hooks, including the poked
jump instruction to 1997H.

ORG 3000H

L3000 JP L3242

L3003 JP L32DA

L3006 JP L335C

L3009 JP L336D

L300C JP L3382

L300F JP L347F

L3012 JP L3487

L3015 LD HL,(40E6H)
L3018 JP 1D1EH

L301B JP L3465

L301E JP L332A

L3021 JP L336E

L3024 JP L325F

L3027 JP L3364

L302A JP L349A

L302D JP L30D2

L3030 JP L3079

L3033 NOP
INC A
INC A
INC A
INC A
INC A

L3039 INC A ; SYSTEM /12345 jumps here

JR Z,L30A3


CP 23H
JR NZ,L30B8
RST 10H

L30A3 JR Z,L3108

JR Z,L3138

JR Z,L318D

JR L31ED

L31E4 LD A,(3880H)
OR A
JR Z,L31ED
LD HL,L321C
L31ED EX (SP),HL
XOR A

JR L31FB

LD A,85H
LD (401AH),A
OUT (C),A
CALL L374B

IN A,(C)
AND 04H


JR NZ,L32D2
CALL L36CD
JP NZ,L32D2
PUSH AF
POP AF
INC D
LD A,08H
JR Z,L32BE
L32D2 AND 0FBH
L32D4 CALL L3725
POP DE
POP BC
RET

L32DA PUSH IX
PUSH DE
PUSH HL
POP IX
PUSH HL
PUSH IY
PUSH BC
LD A,C
CPL
LD C,A

LD A,B


CPL
LD B,A
PUSH BC
POP IY
CALL L3734
CALL L3649
JR NZ,L331A
LD A,D
OR A
LD A,04H

JR NZ,L331A

JR L331A

CALL Z,L3586

JR L343B

L3461 LD A,40H
JR L3430

L3465 PUSH BC
PUSH DE
PUSH AF
CALL L3734

L346B CALL L3649


JR NZ,L3475
POP AF
PUSH AF

ADD A,D
JR NZ,L346B

D34F4 DB 'CHECKSU'
DB 80H+'M'

D34FC DB 'OUT OF MEMOR'
DB 80H+'Y'

D3509 DB 'TAPE TOO SHOR'
DB 80H+'T'

D3517 DB 'WRITE-PROTECTED'
DB 80H

D3527 DB 'EO'
DB 80H+'F'

D352A DB ' ERROR'
DB 80H+0DH

D3531 DB 'BREAK'
DB 80H+0DH

D3537 DB 'DONE'
DB 80H+0DH

JR L35A4

L35A4 CALL L3619

ADD A,E

L3637 NOP
JP L3625

L365E LD B,14H
L3660 CALL L371C
IN A,(C)
JP P,L3660
L3668 CALL L371C
IN A,(C)
JP M,L3668
L3670 IN A,(C)
JP M,L365E
L3675 IN A,(C)

RET Z
LD A,10H
RET

L36CD IN A,(C)
JP M,L36D6

LD A,08H
OR A
RET

L36D6 IN E,(C)
JP M,L36D6
LD A,(401AH)
ADD A,D
L36DF LD (401AH),A
LD B,08H
LD B,08H
L36E6 NOP
LD A,03H
CALL L3719
LD A,E
CPL

IN E,(C)
JP M,L36FB
L36F3 IN E,(C)
JP P,L36F3
JP L3703

L36FB IN E,(C)
JP M,L36FB
JP L3703

L3703 XOR E
RLCA
RR D
XOR A
DJNZ L36E6
RET

L370B CALL L36CD
RET NZ
LD L,D
NOP
LD A,02H
CALL L3719
JP L36CD

L3719 DEC A
JR NZ,L3719
L371C LD A,(3840H)
AND 04H

RET Z
RRCA
POP DE
RET

L3725 PUSH AF
XOR A
OUT (C),A
LD A,(4012H)
CP 0FBH

JR Z,L3731
EI
L3731 POP AF
RET

L3733 DB 0F6H ; OR n
L3734 XOR A
PUSH HL
LD HL,(40B1H)
INC HL
LD C,(HL)
POP HL
JR Z,L3743
IN A,(C)
AND 01H
RET NZ
L3743 INC A
OUT (C),A
DI
LD D,07H
JR L374D

L374B LD D,1FH
L374D XOR A
L374E OR A
JR NZ,L3755

IN A,(C)
AND 04H


L3755 DJNZ L374E
DEC D
JR NZ,L374E
OR A
RET

L375C LD HL,4036H
LD BC,3801H
LD D,00H

L3764 LD A,(BC)


LD E,A
XOR (HL)
LD (HL),E
AND E
JR NZ,L3772
INC D
INC H
RLC C

RET M
JR L3764

L3772 LD E,A
PUSH BC


LD B,07H
CALL 0060H
POP BC
LD A,(BC)
AND E

RET Z
JP 03FBH

D3780 END

j.b.

unread,
Dec 28, 2004, 11:03:56 PM12/28/04
to

"Bruce Tomlin" <bruce#fanbo...@127.0.0.1> wrote in message
news:bruce%23fanboy.net-0679...@alpha.newsreader.com...

> In article <1104133050.9...@z14g2000cwz.googlegroups.com>,
> da...@lowrez.tv wrote:
>
>> d.j. and others: note that the ESF ROM posted contained some errors!
>> Matt Reed was oh-so-cool enough to look through it very carefully and
>> found over 30 OCR errors. Oops! He has corrected the OCR errors and
>> emailed me back a new version.
>
> This one disassembles a lot more cleanly. Here it is for those of you
> who want to reassemble it at a different address. If this is being done
> for a Model III, beware of the direct ROM hooks, including the poked
> jump instruction to 1997H.
> SNIP <

I merged the corrected disassembly with the original listings I think it is
pretty close to being finished
and am posting on my site http://home.att.net/~comp_guru/ as ESFROM.ASM

YMMV
J.B.


tur...@gmail.com

unread,
Dec 31, 2004, 5:55:59 AM12/31/04
to
thanks JB.... one fix I see - "cover THEIR" not "cover THERE" (search
the listing for 'COVER THERE') - btw, do you have an email address you
can mail me with directly? this is pretty trivial a fix to share with
the whole world.

j.b.

unread,
Dec 31, 2004, 7:35:39 AM12/31/04
to

<tur...@gmail.com> wrote in message
news:1104490559....@c13g2000cwb.googlegroups.com...

12/31/04
Dyslexia strikes again (thank goodness for spellcheckers).
I just finished assembling the listing .(ESFROM.SRC) using EDAS (no more
errors !!) on an mod1 emulator
Now the model 3 driver should be just changing the org of the listing (the
mod 3 is about 85% compatible with mod I stuff at the rom level)

(rant warning...)
It mite(sic) be trivial but this knowledge must not be left in my basement
(getting moldy) but needs to be shared with others.
Even now in my lifetime some things that I saw happing have bean revised
into things I can't recognize (mostly dealing with a Bill G's MS).
I've put some things on my web page that are not anywhere else (if they want
it they will download it)
(end of rant warning...)

I will try to get the ESF I/O program converted to text but it make take
some time

PS to Email to me send your Email address to jimjim2 at juno dot com (my
public address and spam attractor)and I will send you my privet (computer
stuff) mail box address


0 new messages