Jump to content
IGNORED

(E)EPROM for dummies with TL866CS


ceratophyllum

Recommended Posts

I saw recently that Turbo Forth and Cortex Basic had been updated, and that now there is an archive of BIN files forming here, so I finally decided I have to learn how to do this EPROMMing stuff.

 

I don't understand how one knows how the BIN image has to be, um, massaged for certain chips. I bought Turbo Forth 1.1 over a year ago from Code, Hack, Create. It is on a 64KB, 28 pin NM27C512Q chip that is on what I think is called a "Guidry board." I copied the contents of the chip with my TL866CS and discovered a 64KB file with this layout:

 

16KB TurboForth

32KB FFFFFFFF......

16KB TurboForth

 

From the TurboForth site, I downloaded the new 16KB turboforth.eprom v2.2. So to prepare the new image I need replace the first and last 16KB with the new turboforth.eprom? I can't test because I'm waiting on a UV lamp (leaving the chip under one of those cute little LED UV flashlights--so handy for making antique shop uranium glass glow-- for an hour failed to erase one single bit!) so I thought I would try to understand what is going on here.

 

Is there no way to make more efficient use of the 64KB? I'm imagining something like the 64NIC+ cartridge for the C64 which can have a rotary switch to select with. (64NIC is first and foremost a network card; the switch and EPROM are optional add-ons and I have not seen any detailed how-to documentation or examples from people who have actually set it up.)

 

Are there other chips will work in this board? I notice there are 27C___ EPROMs in 16KB, 32KB sizes around.

I am guessing they would not, because you cannot have your data lie across multiple banks? e.g. 27C256 comes in units, chunks, banks(?) of 4KB so it could not be used?

 

Are there any EEPROM chips that can work? (Not needing the UV lamp would be nice.)

post-28728-0-56343900-1459606116_thumb.jpg

Edited by ceratophyllum
  • Like 1
Link to comment
Share on other sites

Look at the top right end of the card in your picture. There you will see the necessary jumper settings for using it with 8K, 16K, 32K and 64K EPROM chips. If you are using a 16K chip, just burn the new image straight to that chip (no massaging necessary) and set the jumpers appropriately. You'll be good to go. It is also possible to build larger chips with multiple cartridges in them, but it only makes real sense for the larger versions of the board (128K Guidry boards, 512K Red boards, or 2048K Yellow boards). You can also use the Blue UberGROM boards for 512K images.

Link to comment
Share on other sites

If you are using the files from the TurboForth site, The two must be inverted since the Guidry card uses a 74LS279 (i.e., burn the second one followed by the first one). I have no idea why a 27C512 was used for your original. .You can use any EEPROM that is equivalent to a 27128. I can burn you a replacement EPROM (not EEPROM) for $6 US shipped,

  • Like 1
Link to comment
Share on other sites

 

If you are using the files from the TurboForth site, The two must be inverted since the Guidry card uses a 74LS279 (i.e., burn the second one followed by the first one). I have no idea why a 27C512 was used for your original. .You can use any EEPROM that is equivalent to a 27128. I can burn you a replacement EPROM (not EEPROM) for $6 US shipped,

 

 

What "files?" The TurboForth 2.2 zip file contains a folder called EPROM containing only one 16KB file. Perhaps the 2 8KB files are already inverted and then cat(1)ted together since the instructions say:

 

 

The software is 16K in size, and designed to be burned into a 27©128 EPROM. The cartridge board which hosts the EPROM is known as Guidry Board.

....

....

The zip file contains a single file: turboforth.eprom. Just burn this file using your EPROM programmer into the 27C128, put in the board, plug in and switch on!

 

I guess the guy who burnt it probably was familiar with or just had lots of 27C512....

 

The start of my 64KB dump looks like this:

00000000   AA 01 00 00  00 00 60 0A  00 00 00 00  60 36 0F 54  ......`.....`6.T
00000010   55 52 42 4F  46 4F 52 54  48 20 56 31  2E 31 20 28  URBOFORTH V1.1 (
00000020   63 29 20 4D  61 72 6B 20  57 69 6C 6C  73 20 32 30  c) Mark Wills 20
00000030   31 31 60 02  60 00 03 00  00 00 02 E0  83 00 02 00  11`.`...........
00000040   83 36 02 01  60 52 02 02  00 0A CC 31  06 42 16 FD  .6..`R.....1.B..
00000050   10 05 C3 CB  C2 DB 04 E0  60 00 04 5B  06 A0 83 36  ........`..[...6
00000060   7C A6 C8 20  83 C0 A0 1C  02 0C 83 28  04 5C 83 20  |.. .......(.\.
00000070   70 9E 00 00  83 2E 83 20  70 9E 00 01  83 2E 83 20  p...... p......
00000080   70 9E 00 08  83 2E 83 20  60 8E 6C E6  83 2E 60 90  p...... `.l...`.
00000090   C0 55 C0 A1  00 02 05 C4  CD 11 C5 02  05 D5 05 D5  .U..............
000000A0   04 5C 60 A4  83 20 60 DE  61 4A 70 9E  00 00 79 54  .\`.. `.aJp...yT
000000B0   60 86 60 0F  00 23 6E C2  6E C2 60 86  60 D8 00 05  `.`..#n.n.`.`...
000000C0   6E C2 6E 6E  60 E6 66 58  00 0E 60 76  7C 20 60 6E  n.nn`.fX..`v| `n
000000D0   70 9E A0 5A  69 08 74 AE  52 65 61 64  79 20 60 E0  p..Zi.t.Ready `.
000000E0   06 A0 83 36  67 48 60 E8  06 A0 83 36  7F 98 00 00  ...6gH`....6....
000000F0   60 EE 00 04  45 58 49 54  60 FA 04 60  83 30 60 F0  `...EXIT`..`.0`.
00000100   00 04 51 55  49 54 83 20  70 9E 05 00  70 9E A0 16  ..QUIT. p...p...

The end of the first 16KB looks like:

00003F50   20 00 7F 5A  7F 8C 17 6C  00 50 02 00  7F 50 02 01   ..Z...l.P...P..
00003F60   20 0E CC 70  CC 70 CC 70  CC 70 CC 70  C8 1B 83 E8   ..p.p.p.p.p....
00003F70   C8 3E 83 EC  C8 09 20 0E  02 E0 83 E0  06 94 C9 20  .>.... ........
00003F80   7F 56 83 02  05 E0 83 73  04 60 00 60  C1 20 16 6C  .V.....s.`.`. .l
00003F90   06 94 02 E0  20 00 03 80  C0 14 02 80  00 0D 16 02  .... ...........
00003FA0   04 D4 10 07  02 80 FF FF  16 01 10 03  0A 80 D8 00  ................
00003FB0   A1 75 04 60  83 40 05 C5  C5 43 05 C6  C0 C6 C1 B3  .u.`.@...C......
00003FC0   C1 D6 04 57  83 30 C0 D5  06 45 04 5C  C2 DB 04 E0  ...W.0...E.\....
00003FD0   60 00 04 5B  10 00 04 E0  60 02 04 5C  10 00 D8 20  `..[....`..\...
00003FE0   90 00 83 52  0B C0 04 5B  10 00 10 00  10 00 10 00  ...R...[........
00003FF0   04 E0 60 00  04 60 60 5A  C0 20 A0 54  04 D0 04 5A  ..`..``Z. .T...Z
00004000   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
00004010   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
00004020   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
00004030   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
00004040   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
00004050   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................

Then all FFFF until the same 16KB of data repeats at 0xC000:

0000BF50   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BF60   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BF70   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BF80   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BF90   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BFA0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BFB0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BFC0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BFD0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BFE0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000BFF0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
0000C000   AA 01 00 00  00 00 60 0A  00 00 00 00  60 36 0F 54  ......`.....`6.T
0000C010   55 52 42 4F  46 4F 52 54  48 20 56 31  2E 31 20 28  URBOFORTH V1.1 (
0000C020   63 29 20 4D  61 72 6B 20  57 69 6C 6C  73 20 32 30  c) Mark Wills 20
0000C030   31 31 60 02  60 00 03 00  00 00 02 E0  83 00 02 00  11`.`...........
0000C040   83 36 02 01  60 52 02 02  00 0A CC 31  06 42 16 FD  .6..`R.....1.B..
0000C050   10 05 C3 CB  C2 DB 04 E0  60 00 04 5B  06 A0 83 36  ........`..[...6
0000C060   7C A6 C8 20  83 C0 A0 1C  02 0C 83 28  04 5C 83 20  |.. .......(.\.
0000C070   70 9E 00 00  83 2E 83 20  70 9E 00 01  83 2E 83 20  p...... p......
0000C080   70 9E 00 08  83 2E 83 20  60 8E 6C E6  83 2E 60 90  p...... `.l...`.
0000C090   C0 55 C0 A1  00 02 05 C4  CD 11 C5 02  05 D5 05 D5  .U..............
0000C0A0   04 5C 60 A4  83 20 60 DE  61 4A 70 9E  00 00 79 54  .\`.. `.aJp...yT
0000C0B0   60 86 60 0F  00 23 6E C2  6E C2 60 86  60 D8 00 05  `.`..#n.n.`.`...
0000C0C0   6E C2 6E 6E  60 E6 66 58  00 0E 60 76  7C 20 60 6E  n.nn`.fX..`v| `n
0000C0D0   70 9E A0 5A  69 08 74 AE  52 65 61 64  79 20 60 E0  p..Zi.t.Ready `.
0000C0E0   06 A0 83 36  67 48 60 E8  06 A0 83 36  7F 98 00 00  ...6gH`....6....
0000C0F0   60 EE 00 04  45 58 49 54  60 FA 04 60  83 30 60 F0  `...EXIT`..`.0`.
0000C100   00 04 51 55  49 54 83 20  70 9E 05 00  70 9E A0 16  ..QUIT. p...p...

End of file:

0000FE50   19 28 1A 50  7F 50 7F DE  30 20 2C 20  28 20 24 20  .(.P.P..0 , ( $
0000FE60   20 20 1C 20  0B 44 53 4B  31 2E 42 4C  4F 43 4B 53    . .DSK1.BLOCKS
0000FE70   00 00 38 08  78 48 7C 00  40 40 78 44  44 44 78 00  ..8.xH|.@@xDDDx.
0000FE80   00 00 38 44  40 40 3C 00  04 04 3C 44  44 44 3C 00  ..8D@@<...<DDD<.
0000FE90   00 00 38 44  7C 40 3C 00  1C 20 78 20  20 20 20 00  ..8D|@<.. x    .
0000FEA0   00 00 3C 44  44 3C 04 38  40 40 78 44  44 44 44 00  ..<DD<.8@@xDDDD.
0000FEB0   10 00 30 10  10 10 38 00  08 00 18 08  08 08 48 30  ..0...8.......H0
0000FEC0   20 20 24 28  30 28 24 00  30 10 10 10  10 10 38 00    $(0($.0.....8.
0000FED0   00 00 78 54  54 54 54 00  00 00 78 44  44 44 44 00  ..xTTTT...xDDDD.
0000FEE0   00 00 38 44  44 44 38 00  00 00 78 44  44 78 40 40  ..8DDD8...xDDx@@
0000FEF0   00 00 3C 44  44 3C 04 04  00 00 5C 60  40 40 40 00  ..<DD<....\`@@@.
0000FF00   00 00 3C 40  38 04 78 00  00 20 78 20  20 24 18 00  ..<@8.x.. x  $..
0000FF10   00 00 44 44  44 44 3C 00  00 00 44 44  28 28 10 00  ..DDDD<...DD((..
0000FF20   00 00 44 44  54 54 28 00  00 00 44 28  10 28 44 00  ..DDTT(...D(.(D.
0000FF30   00 00 44 24  18 08 10 20  00 00 7C 08  10 20 7C 00  ..D$... ..|.. |.
0000FF40   00 E0 40 5C  50 18 10 00  FE FE FE FE  FE FE FE 00  ..@\P...........
0000FF50   20 00 7F 5A  7F 8C 17 6C  00 50 02 00  7F 50 02 01   ..Z...l.P...P..
0000FF60   20 0E CC 70  CC 70 CC 70  CC 70 CC 70  C8 1B 83 E8   ..p.p.p.p.p....
0000FF70   C8 3E 83 EC  C8 09 20 0E  02 E0 83 E0  06 94 C9 20  .>.... ........
0000FF80   7F 56 83 02  05 E0 83 73  04 60 00 60  C1 20 16 6C  .V.....s.`.`. .l
0000FF90   06 94 02 E0  20 00 03 80  C0 14 02 80  00 0D 16 02  .... ...........
0000FFA0   04 D4 10 07  02 80 FF FF  16 01 10 03  0A 80 D8 00  ................
0000FFB0   A1 75 04 60  83 40 05 C5  C5 43 05 C6  C0 C6 C1 B3  .u.`.@...C......
0000FFC0   C1 D6 04 57  83 30 C0 D5  06 45 04 5C  C2 DB 04 E0  ...W.0...E.\....
0000FFD0   60 00 04 5B  10 00 04 E0  60 02 04 5C  10 00 D8 20  `..[....`..\...
0000FFE0   90 00 83 52  0B C0 04 5B  10 00 10 00  10 00 10 00  ...R...[........
0000FFF0   04 E0 60 00  04 60 60 5A  C0 20 A0 54  04 D0 04 5A  ..`..``Z. .T...Z
00010000
---  oldforth.bin       --0x10000/0x10000--------------------------------------
Link to comment
Share on other sites

Your suspicion is correct, the new firmware is concatenated. Chop them into 8k chunks, invert them, and you should be good to go. The guy that burned it was probably prepping images that worked with both the 378 and 379, hence the duplication. It's a long story.

 

Be aware that the BLOCKS file in the 1.2.2 release is corrupted. Willsy hasn't gotten around to fixing it; there's a working version at http://atariage.com/forums/topic/242190-general-turbo-forth-questions/page-4?do=findComment&comment=3435338

Link to comment
Share on other sites

Thanks for summing this up, Atrax. I'm preparing to run TI demos at Midwest Gaming Classic this weekend and I wanted to try out one of the newer FORTH options. I have the 16k carts to use.


I planned on running the original TI FORTH graphics demo and FORTI music.


Is there a good free-running demo in Turbo Forth (or changing topic, fbForth)?


TI FORTH was my second language, after TI BASIC, and I've always had a liking for it. (I even got to do Postscript programming in one job.)
Link to comment
Share on other sites

TurboForth is a new, written-from-scratch application from Mark Wills. There are several graphics (and other) demos on the BLOCKS file. FbForth is a highly modified and improved version of TI Forth from Lee Stewart. I'm not familiar enough with the FBLOCKS file to know if there are graphics (and other) demos contained therein. Maybe Lee will chime in at this point. FbForth needs a 32K EPROM.

Link to comment
Share on other sites

OK...here is the promised fbForth version of the Game of Life:

 

fbLIFE.zip

 

You can open the FBF file inside the ZIP file in a text editor, select all of it and paste it into fbForth 2.0 in Classic99 from the “Edit” menu.

 

You can change the definition of DEMO by replacing GLIDER with one of the other patterns above DEMO .

 

...lee

  • Like 1
Link to comment
Share on other sites

@FarmerPotato, you mentioned using some FORTI music as one of your demos. I take it you have a FORTI Card? If so, you are one of a very few of us with that peripheral. :) :) :) It is nice to see that another one is still out there. . .

Alas, I don't have a FORTI card, just the software. You are lucky!
After the TI FORTH demo with Bach's "Little" Fugue in G Minor made the rounds in 1984, we had some FORTI demos at the Lubbock Users Group. I'm not sure there was an actual FORTI card there, but we shared copies of the 12-voice songs like Chariots of Fire that sounded pretty awful on the basic 4A.
Since the FORTI docs turned up in whtech, I have imagined re-creating a card.
Over the years I have wire-wrapped or breadboarded the 9919 into anything it will fit, just for the heck of it.
Link to comment
Share on other sites

Got my Chinese EPROM eraser today. It took 15 to 30 mins. (First time I tried 15mins and it was all still there when I read the chip back with minipro. 30 minutes wiped it.)

 

I don't really understand why the data is arranged in this funny way, but whatever: putting the Turbo Forth 1.2 "turboforth.eprom" file in the first and last 16KB, with 32KB of FF in between works in my real TI.

./minipro -p "NM27C512 @DIP28" -w forth12_40and80col_64K.bin

Found Minipro TL866CS v3.63.2
Chip ID OK: 0x8f85
Writing Code... OK
Reading Code... OK
Verification OK

My first working EPROM. :)

 

In case anybody else has this particular board+EPROM and wants to upgrade, attached is the turboforth 1.2 image, padded for 64K v03c Guidry board with NM27C512 EPROM.

 

 

Be aware that the BLOCKS file in the 1.2.2 release is corrupted. Willsy hasn't gotten around to fixing it; there's a working version at http://atariage.com/...-4#entry3435338

 

 

I was just using my old BLOCKS disk. I didn't notice there was a new one. I'll wait until the official one comes out; I'm still trying to get my head around Forth...it is so strange.

forth12_40and80col_64K.bin

  • Like 1
Link to comment
Share on other sites

...

I was just using my old BLOCKS disk. I didn't notice there was a new one. I'll wait until the official one comes out; I'm still trying to get my head around Forth...it is so strange.

 

Also, try burning my fbForth 2.0. It is 32KiB, so you would need to double it for a 64KiB EPROM: fbForth—TI Forth with File-based Block I/O

 

...lee

  • Like 2
Link to comment
Share on other sites

Got my Chinese EPROM eraser today. It took 15 to 30 mins. (First time I tried 15mins and it was all still there when I read the chip back with minipro. 30 minutes wiped it.)

 

'tis weird, because my $15 ebay Chinese eraser works in five minutes, so well that I'm afraid I'm cooking the chips.

Link to comment
Share on other sites

Here's the FORTI Schematic, along with a schematic to move the Speech Synthesizer to the PEB. Both of these were done for the Willforth Protoboard, but should be relatively easy to adapt to my newer one, as all of the signals are brought up through to a set of tie points above the bus isolation chips. The Speech board will be a little more difficult, as I didn't bring the -16V off of pin 57. That will require a minor bit of creative thinking to change (easiest would be a wire jumper from pin 57 to the voltage regulator normally uses for +12V--after cutting the trace to pin 60).

FORTI (WillfordAppendixC).pdf

SpeechInPEB (WillforthAppendixD).pdf

  • Like 2
Link to comment
Share on other sites

Here's the FORTI Schematic, along with a schematic to move the Speech Synthesizer to the PEB

 

Cool ... this somewhat feels like a new card will show up in MESS soon. And it is obviously not too difficult to build.

 

Do we have some software for the FORTi?

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...