I think Great Cow Basic is a fantastic project. I've been using assembler for my PIC projects up to now, but this is far easier. Or, at least I hoped it would be, but…
I installed CGB and the updates.zip file (as I want to use interrupts in a later version of the code and it's my understanding that they can only be used with the updates applied). I selected "MPASM" as the assembler output.
As my first project with GCB I wanted to make a simple thermometer. I have a DS18S20 here so I downloaded the sample 1-wire code on the forum, compiled it and tried to assemble the resulting compiled.asm file with my existing copy of MPASM (v03.20.02).
Along with the usual bank selection warnings I got the following errors:
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 135 : Symbol not previously defined (SysReadString)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 152 : Symbol not previously defined (SysReadString)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 167 : Symbol not previously defined (SysReadString)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 580 : Symbol not previously defined (SysDivSub)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 593 : Symbol not previously defined (SysCompLessThan)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 594 : Symbol not previously defined (SysCalcTempX)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 600 : Symbol not previously defined (SysCompLessOrEqual)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 602 : Symbol not previously defined (SysCalcTempX)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 610 : Symbol not previously defined (SysDivSub)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 630 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 631 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 643 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 644 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 659 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 661 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 663 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 666 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 667 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 677 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 680 : Symbol not previously defined (SYSSTRINGB_H)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 682 : Symbol not previously defined (SYSSTRINGTABLES)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 683 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 685 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 688 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 691 : Symbol not previously defined (SYSSTRINGB_H)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 693 : Symbol not previously defined (SYSSTRINGTABLES)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 694 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 696 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 698 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 702 : Symbol not previously defined (SYSSTRINGTABLES)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 705 : Symbol not previously defined (SYSCALCTEMPA)
Can some kind person tell me what I've done wrong? (And please go easy on me if it's something really obvious - I did read the CGB Web pages first, but couldn't see anything that seemed to refer to this problem.)
Thanks
Mark
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Leave it up to Microchip to make a mess of things. Under MPLAB Project/Buiid Options/Project/MPASM_Assembler tab and make sure that the **case insensitive** box is checked. Under the MPASM Suite folder/MPASM.exe make sure the **case sensitive** box is unchecked. Now that's goofy.
Kent
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi folks
I think Great Cow Basic is a fantastic project. I've been using assembler for my PIC projects up to now, but this is far easier. Or, at least I hoped it would be, but…
I installed CGB and the updates.zip file (as I want to use interrupts in a later version of the code and it's my understanding that they can only be used with the updates applied). I selected "MPASM" as the assembler output.
As my first project with GCB I wanted to make a simple thermometer. I have a DS18S20 here so I downloaded the sample 1-wire code on the forum, compiled it and tried to assemble the resulting compiled.asm file with my existing copy of MPASM (v03.20.02).
Along with the usual bank selection warnings I got the following errors:
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 135 : Symbol not previously defined (SysReadString)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 152 : Symbol not previously defined (SysReadString)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 167 : Symbol not previously defined (SysReadString)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 580 : Symbol not previously defined (SysDivSub)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 593 : Symbol not previously defined (SysCompLessThan)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 594 : Symbol not previously defined (SysCalcTempX)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 600 : Symbol not previously defined (SysCompLessOrEqual)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 602 : Symbol not previously defined (SysCalcTempX)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 610 : Symbol not previously defined (SysDivSub)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 630 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 631 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 643 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 644 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 659 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 661 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 663 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 666 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 667 : Symbol not previously defined (SYSCALCTEMPB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 677 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 680 : Symbol not previously defined (SYSSTRINGB_H)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 682 : Symbol not previously defined (SYSSTRINGTABLES)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 683 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 685 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 688 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 691 : Symbol not previously defined (SYSSTRINGB_H)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 693 : Symbol not previously defined (SYSSTRINGTABLES)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 694 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 696 : Symbol not previously defined (SYSSTRINGB)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 698 : Symbol not previously defined (SYSCALCTEMPA)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 702 : Symbol not previously defined (SYSSTRINGTABLES)
Error C:\VELLEMAN\K8048\ME\COMPILED.ASM 705 : Symbol not previously defined (SYSCALCTEMPA)
Can some kind person tell me what I've done wrong? (And please go easy on me if it's something really obvious - I did read the CGB Web pages first, but couldn't see anything that seemed to refer to this problem.)
Thanks
Mark
GCBasic is case insensitive.
Leave it up to Microchip to make a mess of things. Under MPLAB Project/Buiid Options/Project/MPASM_Assembler tab and make sure that the **case insensitive** box is checked. Under the MPASM Suite folder/MPASM.exe make sure the **case sensitive** box is unchecked. Now that's goofy.
Kent
Hi Kent
Thanks for the speedy reply!
Yes, that was exactly it - once I had unticked the "case sensitive" option in MPASM it assembled perfectly. Doh!
Thanks for your help, and sorry to have posted with such a trivial question.
Mark