Sunday, April 30, 2017

Documentation:


Changes

V 1.1 optimizes calls to the CHRGET and CHRGOT functions, removes Microsoft and the programmer's unnecessary text, replaces mathematical constants that are incorrect in the original ROM, and calling CLS with numbers greater than 8 simply clears the screen to the standard green background rather than printing "MICROSOFT",
The V 1.1 ROM file is named:  MC10_ROM11.bin

V 2.0 contains all the changes from V 1.1 and adds the ELSE command which is used the same as in Color BASIC.  A brief explanation of it's use can be found in 'Getting Started With Color BASIC', or "Getting Started With Extended Color BASIC", and a brief syntax description is on the Color BASIC Wiki.
"Getting Started With Extended Color BASIC" can be found on the internet archive.
https://archive.org/details/Getting_Started_with_Extended_Color_BASIC_1984_Tandy
The V 2.0 ROM file is named MC10_ROM_20.bin

Using the new ROM in VMC10

In order to use the new ROM with the VMC10 emulator, you should copy the ROM image to the ROM folder located inside the directory where you have installed VMC10.  Then launch VMC10 and load the new ROM by selecting the "Configure" menu, then select the menu item titled "Memory...".
This will display some systems settings.  In the "ROM (Emulator only)" section, click on the "Load 8K BASIC ROM from file" option, then click on the "Browse" button to select the new ROM file.
After you have selected the name of the new ROM file, click "Open" and the file dialog box will close.  Click on the "Ok" button at the bottom of the "Configure" menu to save your settings and reset the emulator.  BASIC should reload and display the new version number.  If BASIC displays V 1.0, you have loaded the original ROM and need to check your settings again.



Using the new ROM in a real MC-10

In order to use the new ROM in a real MC-10, you will need to burn a new 8K EPROM and install it in the computer.  This requires some technical expertise and is beyond the scope of this document.
Most MC-10s have the ROM directly soldered to the board making this a delicate procedure as well.
If that is the case with your machine, I suggest you have someone experienced perform the installation for you.  It requires desoldering the original ROM, installing a socket in it's place, and then plugging in the new EPROM..  You may be able to have this done for you at the same time you have some other upgrade installed.
There are some lucky people out there with a socketed ROM so it may be worth having a look inside your machine.



Technical Details

Microsoft BASIC tokens start at $80.  The reason for this, is that all tokens will have the sign bit set.
When parsing a line of tokenized code, any character with a negative value is easily identified as a keyword token.

In order to add ELSE to Microcolor BASIC, it must be added to the next location in the keyword table.  This will assign the next available token which is $C9.

The token for ELSE in Color BASIC on the CoCo is $84.  The only way we could match tokens to the original color BASIC would be to completely rearrange tables in the Microcolor BASIC ROM and change tokens in the code where it directly tests for them.  That is beyond the scope of this project.

In order to squeeze in the additional code to support the ELSE statement, the address of ROM functions had to change.  Any calls to standard ROM routines must be done using the vectors located at the end of the ROM.  Any function that does not have a vector should not be called from machine language.

No comments:

Post a Comment