ƒPROG ERRATA     X PRG formatted GEOS file V1.0ż˙˙˙€˙ˆ‹˙ÁŠAŠ˙ńŠ€ŠŽŠ€Šż‘Š€ŠŸŠ€Šż‘Ž€‚ż‘ƒ€€€€˙ń˙˙˙ƒ˙˙Write Image V2.0geoWrite V2.0ŕT-Grab Data V20Please Select Option:new documentexisting documentto deskTopInsert new disk into disk ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ß(ßßßßßßß SUBJ: Errata II FROM: GEOS TECH 01/25/88 S#: 79063 1) There is a problem with the linker and VLIR files. We are working on a patch for this. Be careful deleting VLIR files created with GeoLinker in the meantime. 2) Local labels: if you have 255 or more bytes of code and/or bitmaps between any two global labels, then you cannot use local labels for the rest of that assembly. Yes, this is a bug. Solutions: Keep your routines short, so you have global labels frequently, and if you have any large bitmaps, place them at the end of your assembly file, or assemble them separately. 3) The .header directive actually checks the following 12 lines, not 11 as stated in the manual. The 12th line is a 20-character null-terminated author name. See the example on page 5-53. 4) Make sure each file you assemble has a .include geosSym, so the linker does not have to work as hard. 5) You will get a warning if you write: lda #TRUE because TRUE=-1, which is $ffff, a word value. Use this instead: lda #[TRUE 6) Change the .psect $5000 in the SamVlir.lnk file to .psect $3000. This will allow the sample vlir to run with the mini-debugger. 7) Change the "VERTICAL" items under MenuTable in SamSeq and SamVlirRes to "SUB-MENU", where "-" is an underline character. 8) GeoAssembler will not attempt to substitute absolute mode addressing when a zero page operand is used with an instruction that does not support zero-page addressing. Example: jmp $30 will produce an error. We will fix this. 9) If the assembler or linker terminate after a disk error, do not attempt to open or use the newly created files (.rel, .err, .dbg, .sym). They have not been properly closed. Validate the disk and delete those files. We have fixed this, it will be in the upgrade. 10) Do not make any forward references to zero page variables or constants. Make sure you define zero page variables and constants before the code which uses them. There is a bug which will cause all of your labels to be offset by an amount if you do this. An easy way for this to happen is when you write: lda CONSTANT when you really mean to do: lda #CONSTANT If CONSTANT is forward referenced and it is less than $100, the assembler will see this as a forward reference to a zero-page variable and generate the wrong object code (label references may be off by one or more bytes).