Page 26 of 39

Re: Prog8 language and compiler topic

Posted: Wed May 31, 2023 8:54 am
by desertfish
I think in 1 or 2 weeks, in the meantime, you can always download a development build from the github Action CI builds page.

Re: Prog8 language and compiler topic

Posted: Sat Jun 03, 2023 5:13 am
by Mark Burring
Do you know what I'm doing wrong here?

Code: Select all

markb@psilon:~/code/prog8$ java -jar prog8compiler-8.14-all.jar -target cx16 examples/cx16/rasterbars.p8 

Prog8 compiler v8.14 by Irmen de Jong (irmen@razorvine.net)
This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html

Compiling program examples/cx16/rasterbars.p8
ERROR file:///home/markb/code/prog8/examples/cx16/rasterbars.p8:19:9: undefined symbol: sys.set_rasterirq
ERROR file:///home/markb/code/prog8/examples/cx16/rasterbars.p8:59:9: undefined symbol: sys.set_rasterline

There are 2 errors and 0 warnings.
markb@psilon:~/code/prog8$ java -version
openjdk version "11.0.19" 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1, mixed mode, sharing)
markb@psilon:~/code/prog8$ 64tass --version
64tass Turbo Assembler Macro V1.56.2625

markb@psilon:~/code/prog8/examples/cx16$ java -jar prog8compiler-8.14-all.jar -target cx16 rasterbars.p8 

Prog8 compiler v8.14 by Irmen de Jong (irmen@razorvine.net)
This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html

Compiling program rasterbars.p8
ERROR file:///home/markb/code/prog8/examples/cx16/rasterbars.p8:19:9: undefined symbol: sys.set_rasterirq
ERROR file:///home/markb/code/prog8/examples/cx16/rasterbars.p8:59:9: undefined symbol: sys.set_rasterline

There are 2 errors and 0 warnings.

Re: Prog8 language and compiler topic

Posted: Sat Jun 03, 2023 9:16 am
by desertfish
You are using the version 8 compiler to try to compile code from version 9. A bunch of breaking changes are coming in version 9: https://prog8.readthedocs.io/en/latest/upgrading8.html

So - either download a work in progress version of the verson 9 compiler from the github CI action build artifacts (or build it yourself in the already cloned repository!), or switch back to the version 8 branch of the example code https://github.com/irmen/prog8/tree/v8_maintenance

Re: Prog8 language and compiler topic

Posted: Sat Jun 03, 2023 9:36 am
by Mark Burring
desertfish wrote: Sat Jun 03, 2023 9:16 am You are using the version 8 compiler to try to compile code from version 9. A bunch of breaking changes are coming in version 9: https://prog8.readthedocs.io/en/latest/upgrading8.html
Thanks for your reply, I checked out the project and compiled it

Code: Select all

markb@psilon:~/code/prog8$ compiler/build/install/p8compile/bin/p8compile examples/cx16/rasterbars.p8 

Prog8 compiler v9.0-dev by Irmen de Jong (irmen@razorvine.net)
This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html

Compiling program examples/cx16/rasterbars.p8
ERROR file:///home/markb/code/prog8/examples/cx16/rasterbars.p8:2:1: no module found with name palette. Searched in: [/home/markb/code/prog8] (and internal libraries)

There are 1 errors and 0 warnings.
We'll leave it there, I don't expect you to keep debugging my issues. I will keep an eye on how your project progresses and try again later.

Re: Prog8 language and compiler topic

Posted: Sat Jun 03, 2023 11:43 am
by desertfish
that error is much easier to fix, you're compiling a CommanderX16 program with the default compilation target which is the commodore64.

Please study the prog8 manual a little to familiarize with the various options and settings as I've tried to explain all of this there. In this particular case, you should add "-target cx16" as a command line option to tell the compiler that the program is meant to run on the commander x16.

Version 9.0 released

Posted: Mon Jun 05, 2023 8:13 pm
by desertfish
:!: Prog8 version 9.0 has been released! https://github.com/irmen/prog8/releases/tag/v9.0

This release contains a bunch of breaking changes over 8.0.
Please read about them and some guidance on how to upgrade your programs here: https://prog8.readthedocs.io/en/latest/upgrading8.html
  • the -target option is now required, c64 is no longer a default.
  • added ‘cbm’ block in the syslib module that now contains all CBM compatible kernal routines and variables
  • added min(), max() builtin functions. For floats, use floats.minf() and floats.maxf().
  • added clamp(value, minimum, maximum) to restrict a value x to a minimum and maximum value. For floats, use floats.clampf(f, minv, maxv).
  • rename sqrt16() to just sqrt(), make it accept multiple numeric types including float. Removed floats.sqrt().
  • abs() now supports multiple datatypes including float. Removed floats.fabs().
  • divmod() now supports multiple datatypes. divmodw() has been removed.
  • cx16diskio module merged into diskio (which got specialized for commander x16 target). load() and load_raw() with extra ram bank parameter are gone.
  • drivenumber parameter removed from all routines in diskio module. The drive to work on is now simply stored as a diskio.drivenumber variable, which defaults to 8.
  • for loops now skip the whole loop if from value already outside the loop range (this is what all other programming languages also do)
  • asmsub params or return values passed in cpu flags (like carry) now must be declared as booleans (previously ubyte was still accepted).
  • (on cx16) added diskio.save_raw() to save without the 2 byte prg header
  • added sys.irqsafe_xxx irqd routines
  • added gfx2.fill() flood fill routine
  • added @split storage class for (u)word arrays to store them as split lsb/msb arrays which is more efficient (but doesn’t yet support all array operations)
  • added -splitarrays command line option and ‘%option splitarrays’ to treat all word arrays as tagged with @split

Re: Prog8 language and compiler topic

Posted: Mon Jun 05, 2023 9:46 pm
by Edmond D
Congrats on getting a major release out, with what looks to be an extensive amount of changes and improvements.

Re: Prog8 language and compiler topic

Posted: Wed Jun 07, 2023 12:28 am
by ahenry3068
Can you point me to the correct Documentation on how SPLIT arrays are handled ?

Re: Prog8 language and compiler topic

Posted: Wed Jun 07, 2023 12:40 am
by desertfish

Re: Prog8 language and compiler topic

Posted: Wed Jun 07, 2023 1:30 am
by ahenry3068
TY