--- title: "Put MSCRIPT on EPROM" type: "article" slug: "put-mscript-on-eprom" url: "http://localhost/article/put-mscript-on-eprom/" markdown_url: "http://localhost/article/put-mscript-on-eprom.md" published_at: "2022-06-13T12:37:35+00:00" modified_at: "2026-07-29T22:54:26+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "MSCRIPT is a very useful program. This article is for improving MSCRIPT, although it does not change any of the coding. What we are going to do is make it load faster by transferring it to an EPROM. The following for putting MSCRIPT on an EPROM is only for the original tape version. It will…" category: - name: "SyncWare News" slug: "syncware-news" taxonomy: "category" url: "http://localhost/category/periodicals/syncware-news/" post_tag: - name: "Best of Timex/Sinclair 2068 Articles and Documents" slug: "ts2068best" taxonomy: "post_tag" url: "http://localhost/tag/ts2068best/" - name: "Hardware project" slug: "hardware-project" taxonomy: "post_tag" url: "http://localhost/tag/hardware-project/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "David Lockin" slug: "david-lockin" taxonomy: "indiv" url: "http://localhost/indiv/david-lockin/" publication: "SyncWare News" publication_r: id: 10245 title: "SyncWare News" type: "periodical" url: "http://localhost/periodical/syncware-news/" authors: "David Lockin" authors_r: - name: "David Lockin" slug: "david-lockin" taxonomy: "indiv" url: "http://localhost/indiv/david-lockin/" volume: "4" issue: "4" issues_articles: - id: 38955 title: "SyncWare News v4 n4" type: "issue" url: "http://localhost/issue/syncware-news-v4-n4/" pages: "19-21" pubdate: "March/April 1987" archive_link: false --- [MSCRIPT](http://localhost/computer_media/mscript-tap/) is a very useful program. This article is for improving MSCRIPT, although it does not change any of the coding. What we are going to do is make it load faster by transferring it to an EPROM. The following for putting MSCRIPT on an EPROM is only for the original tape version. It will not work on Jack Dohany’s improved and customized versions. This article is for the hardened 2068 user. It requires that you have, or can lay your hands on, the following: one unused 8K X 8 EPROM (2764), one cartridge board (John Oliger or equivalent), one 2068 compatible EPROM programmer (John Oliger or equivalent). One more item that is helpful, but not necessary, is a copy of HOT-Z 2068. You will be entering data from tables 1,2, and/or 3. For the normal version of MSCRIPT, enter data from only tables 1 and 2. If you want fat characters, as in Sync Ware News 2:4, then enter the data in tables 1 and 3 only. Also, the data at address 36628 (8F14h) must be changed from 34d to 61d for the fat characters. This point has been marked with an “*” in TABLE 1. Data is entered from the tables left to right and top to bottom. If you will be using the Tasman version of Mscript, there are special instructions for the TASMAN INTERFACE VERSION at the end of this article. If you have HOT-Z (especialy HOT-Z AROS), I recommend using it at this point. Load HOT-Z. Load the machine code portion of MSCRIPT into HOT-Z. Then enter either assembly listings 1&2 for normal characters or assembly listings 1&3 for the fat character version. Remember to include the modifications for the TASMAN Interface if you are using it. Jump on ahead to the BURNING YOUR EPROM section. It HOT-Z is unavailable to you, the first thing to do is to load your MSCRIPT program. Load it using the following comand: ``` LOAD ""CODE ``` Load only the machine code portion. Do Not load the basic loader or the screen logo. Next, enter the following basic poker program. This program was borrowed from the Tom Woods’ BREAKTHROUGH newsletter. ``` 10 FOR X=36608 TO 36668 (36694 FOR FAT CHARACTERS) 20 INPUT (X;"=";);Y$ 30 IF Y$="" THEN GOTO 60 40 IF LEN Y$=5 THEN LET X=VAL Y$: PRINT X;"=";PEEK X: GOTO 20 50 POKE X, VAL Y$ 60 PRINT X;"=";PEEK X 70 NEXT X: STOP ``` Save this program. If anything goes wrong you can use it to re-check your code. To run this program use GOTO 10. You will see a number at the bottom of the screen. This number is the address of the data that you will enter into the program. Hit enter after you type in each data value and it will move to the top of the screen. The next address will apear at the bottom of the screen. Remember, for those of you who are going to use the fat characters, the following data has to be changed: the data at address 36628 has to be changed to 61d. Again, this point has been marked with an “*” in TABLE 1. ### Burn Your EPROM I suggest that you go back and check the code you just entered. This is easily done by flipping the pages in HOT-Z. It’s just as easily done with the BASIC poker program too. Enter GOTO 10 again. Now instead of entering data, you just hit enter. This will show the address and its data. Check them against the tables. The code you just entered is the AROS I.D. code and the program transfer code. The first 8 bytes are the AROS I.D. code. The rest is the transfer code (and fat character code if included). If you were using the BASIC poker, save your new code and MSCRIPT as one block of code. Do this by using one of the following two commands: ``` SAVE "ESCRIPT"CODE 36608,8192 SAVE "FATESCRIPT"CODE 36608,8192 ``` To save from HOT-Z, set the curser to 8F00 and END to AEFF. Now that you have protected yourself from an unforeseen disaster, we will get on to the actual programming of the EPROM. Before we start programming the EPROM, install any other modifications to MSCRIPT you desire. Once the code is in EPROM, the only way you can change it is by burning a new EPROM. If you make any other changes to MSCRIPT, save the entire program to tape as already described when finished. The following is based on using the Oliger EPROM programmer. If you have a different programmer, its program may be different, but everything else will be the same. If you have the most recent version of HOT-Z AROS, then you have the capability to burn your EPROM from HOT-Z. Just follow the instructions in the documentation. Enter the following basic program unless you’re using the above mentioned version of HOT-Z: ``` 10 LET X=8192 20 FOR N=36608 TO 44800 30 POKE X, PEEK N:PRINT AT 10,11,N 40 LET X=X+1:PAUSE 3:NEXT N 50 BEEP 1,1 ``` #### Table 1 ``` Address Data 36608 2 36609 2 36610 8 36611 128 36612 15 36613 1 36614 0 36615 0 36616 243 36617 62 36618 240 36619 211 36620 244 36621 33 36622 27 36623 128 36624 17 36625 0 36626 112 36627 1 36628* 34 36629 0 36630 237 36631 176 36632 195 36633 0 36634 112 36635 1 36636# 0 36637 32 36638 17 36639 0 36640 144 36641 33 36642 0 36643 129 36644 62 36645 48 36646 211 36647 244 36648 126 36649 245 36650 175 36651 211 36652 244 36653 241 36654 18 36655 35 36656 19 36657 11 36658 175 36659 184 36660 32 36661 238 36662 185 36663 32 36664 235 ``` #### Listing 1 ``` 8F00 02 DATA 8F01 02 DATA 8F02 08 DATA 8F03 80 DATA 8F04 0F DATA 8F05 01 DATA 8F06 00 DATA 8F07 00 DATA 8F08 F3 DI 8F09 3EF0 LD A,F0 8F0B D3F4 OUT (F4),A 8F0D 211B80 LD HL,801B 8F10 110070 LD DE,7000 8F13 012200 LD BC,0022(003D) 8F16 EDB0 LDIR 8F18 C30070 JP 7000 8F1B 010020 LD BC,2000[2072] 8F1E 110090 LD DE,9000[8F00] 8F21 210081 LD HL,8100 8F24 3E30 LD A,30 8F26 D3FA OUT (F4),A 8F28 7E LD A,(HL) 8F29 F5 PUSH AF 8F2A AF XOR A 8F2B D3F4 OUT (F4),A 8F2D F1 POP AF 8F2E 12 LD (DE),A 8F2F 23 INC HL 8F30 13 INC DE 8F31 0B DEC BC 8F32 AF XOR A 8F33 B8 CP B 8F34 20EE JR NZ,8F24 8F36 B9 CP C 8F37 20EB JR NZ,8F24 ``` #### Table 2 ``` Address Data 36665 251 36666 195 36667 0 36668 144 ``` #### Listing 2 ``` 8F39 FB EI 8F3A C30090 JP 9000 ``` #### Table 3 ``` Address Data 36665 17 36666 0 36667 88 36668 213 36669 1 36670 3 36671 42 36672 54 36673 92 36674 36 36675 126 36676 167 36677 31 36678 182 36679 18 36680 35 36681 19 36682 13 36683 32 36684 246 36685 16 36686 244 36687 225 36688 37 36689 34 36690 54 36691 92 36692 195 36693 0 36694 144 ``` #### Listing 3 ``` 8F39 110058 LD DE,5800 8F3C D5 PUSH DE 8F3D 010003 LD BC,0300 8F40 2A365C LD HL,(chas) 8F43 24 INC H 8F44 7E LD A,(HL) 8F45 A7 AND A 8F46 1F RRA 8F47 B6 OR (HL) 8F48 12 LD (DE),A 8F49 23 INC HL 8F4A 13 INC DE 8F4B 0D DEC C 8F4C 20F6 JR NZ,8F44 8F4E 10F4 DJNZ 84FF 8F50 E1 POP HL 8F51 25 DEC H 8F52 22365C LD (chas),HL 8F55 C30090 JP 9000 ``` ### Zap It Now save this program. Once it is saved, turn off the computer. Connect the programmer board with EPROM installed to the computer. Connect the programmer power supply and set it to 4.5 V. Then turn the computer back on and reload your new MSCRIPT program and the programmer program. Enter the following command: GOTO 10. Switch the programmer voltage to 21V, then hit ENTER. Now sit back and relax for about 12 minutes. The program will beep when it is done. Turn the programmer supply to 4.5V and turn off the computer. Turn off the programmer supply and remove the programmer and the EPROM. Install the EPROM in a properly prepared cartridge board. The EPROM has been programmed to run from 8000H to 9FFFH. Now comes the big test. Plug your cartridge board into the computer and turn it on. MSCRIPT should now be up and running. If it is not, you did something wrong and you will have to go back and recheck your work. You are now finished. I hope you have a working copy of MSCRIPT on an EPROM. I realize that this may seem like a lot of work, but I feel anything that can make using a program easier is worth while. I believe that MSCRIPT is worth the trouble. If you do not want to invest in a disk system, then putting your most used programs on a cartridge is worth the bother. If this helps in making your computer a little less of a hassel to use, you may use it more. In using it more, you may find that it wasn’t such a bad investment after all.