ROM upgrade - cfx 9850 GU1
Czech (and other) characters in text font
Special characters in graphic font (the font is too small for Czech characters)
Adding all characters to the token table
Special memory access using List 7,8 and 9 (what will do it ??)
Generating errors (to try it)
Special token for ZX933 test routine
Special tokens In and Out (without function yet), included into the keyboard menu
Some string changes in segment 4
Removed the limit of the X and Y values in Locate X,Y,.. command (now it's OK Locate 0,48,"ABC")
Includes previous ROM upgrade version
Removed the limit of arguments X and Y values in PxlOn/Off/Chg Y,X command (now it's OK PxlOn 1000,300)
Assembler support
Assembler support tested with following results:
Token # is working, after reset (if no binary code loaded) this token causes total power off, only RESET on the back of the calc helps.
After return from binary routine the calc continues the basic source - example: #:"123"
# can have parameters, but I didn't use them in my test binary routines. They were skipped successfully.
Getkey is working OK. Routine is here (It waits for [EXE] press)
Display is also working. Try this. After loading this file into the calc you must create new file with some characters. They will be displayed on the display. Then press any key.
Note: the format of my binaries is plain cas so they contain only the clean data without headers and end of file characters. Do not edit the binary file in your calculator, it's prepared to be run clicking the [EXE] key, if you add/remove any character, the code will move, so the routine MUST crash, because I am using the absolute addresses in jumps (I didn't find the relative addressing)
Do not try to use any universal assembler - binary routines for cfx9850 G are stored backwards (if you load them as files) and the last address of the routine is fixed to 7FFE, so you cannot use directive ORG or similar.
Token MemR[<index>] - read byte from RAM at index
Token MemW[<index>,<expression>] - write the integer part of the result of the expression to RAM at index (byte)
Token In - read byte from the serial port
Token Out <expression> - write the integer part of the result of the expression to the serial port (byte)
Token Call <expression> - call the subroutine stored in RAM at the integer part of the result of the expression
Token Binary <program name> - runs the program specified as a program in machine code
Add array support (ex.: A[1]==B)
I cannot do it all myself, I need YOUR HELP!!!!