,ll 6.6
,cs 10
,pl 66
,lm 0.2,0.5
,pn 1
,ju
,hd
,ce
OmegaSoft 6809 Cross Pascal Language Handbook (V1.0)
,,
,ft

,ce 1
9F-##
,,
,ce
OmegaSoft 6809 Cross Pascal Language Handbook (V1.0)
,ce
APPENDIX

APPENDIX F - CONVERTING FROM OLDER VERSIONS

To provide the best possible product it is sometimes necessary to abandon previously used methods in favor of new methods. This sometimes results in the need to modify one's code for compatibility with the new methods. As an aid in making this transition, this appendix will describe the changes that are required if the code was written under an older version of the compiler.

Changes from PCS2 version 2.2 to PXK9 version 1.0

1) Since conditional compilation can now be nested, you can no longer use something like this :
 {$cne romvec} ...... {$ceq romvec} ...... {$cend}, since this would mean that the second $c is nested, not the opposite condition, use $celse instead.

2) If you called a function as part of a boolean expression, and were relying on a side effect of the function occurring, this may no longer occur due to "short circuit evaluation". This is very bad programming practice, and unlikely to occur in any real program.

3) The compiler will normally not be generating assembly language output, so the syntax for inline assembly language code is reduced to having no labels, and staying in code section.

4) In the global stack frame the data stack limit entry is no longer used, instead the current location of the heap pointer is used.

5) The "A" register is no longer valid when calling external procedures and functions.

6) When dealing with real number constants during compilation, the cross compiler uses the IEEE format for conversion and then does some conversions to get to AMD9511 format. These constants can be off by one or two least significant bits relative to the values generated on the resident compiler. (Actually they are more accurate in the cross compiler).

7) If you have written custom device drivers for standard input, output, etc., make sure you change the entry points for maximum 8 character names (example, .keybo becomes .keyboar).

8) In assembly language support routines, you may need to change some of the directive names, no changes should be necessary for the actual code.

9) In assembly language support routines you need to extend the names of any external/entry pascal procedures/variables you reference if their pascal names are over 6 characters long. The 6809 resident compiler truncated names to 6 characters, the cross compiler truncates to 8 characters.

There are many other improvements in the cross compiler versus the 6809 resident compiler, please read the manual to make sure that you are familiar with the current capabilities.
,pg

Changes from PXK9 version 1 to PXK9 version 3

1) Files suffixes have changed for compatibility with P20K, also changes have been made in the stack setup and shell files. The following procedure is recommended :

,in .4
a) Backup your existing files.
b) Follow the installation instructions in chapter 1 of the new manual.
c) Choose the directory for the project you want to modify for version 3 PXK9 and change to that directory.
d) List the shell file for your project to a printer for future reference. Delete the shell file, relocatable object files, debugger files, map files, and object file.
e) Rename source code files :
,in .8
1) Rename all pascal source files so that they end in a suffix of ".p", such as "test.p".
2) Rename all assembly source files so that they end in a suffix of ".a", such as "test.a".
3) Rename all include files so that they end in a suffix of ".i", such as "test.i".
,in .4
f) Build a new shell file using the linkage creator, see the documentation in chapter 2 for linkage creator operation.
g) Enter the pascal shell, using a command line of "xps -<options> <project name>". The options would include any terminal designation you might need.
h) Select "modify stack/shell file" from the menu. You will be shown a sub-menu. With this menu you can add files to the shell file, modify command lines, and change runtime libraries from the default.
,in .8
1) Using your hardcopy of your old shell file as a reference, select "Add Pascal files" for any pascal modules you have. Just enter the file name, do not enter any suffix. The same goes for assembly files and include files. You may enter more than one file on each line.
2) If you are using a special library, this may be changed using the "change runtime library" command.
3) You can change the default command line options using "change command line list", it will sequence through the various command line options, prompting to see if you want to change each one, enter escape to exit the list. You might want to add the map file to the linker command list, as one suggestion.
4) If you want to use other than the standard link map format, you can change this.
5) If you have other libraries, there is a command to "Add library file".
6) To update the stack and/or shell file, select "Update shell/stack file and return to main menu". After these files are updated, you will be returned to the main menu.
,in .4
NOTE : The pascal shell now handles up to 400 files (as does the target debugger). If all files will not fit on the screen, you move to the next screen worth of files by positioning the cursor on the last line of files and hitting the key for move cursor down one line.
,in 0
2) There are no source code changes required from version 1 to version 3.
3) Major changes have been made in the linkage creator, pascal shell, screen editor, and patch utilities. Refer to the specific sections for more information.
