Prog8 language and compiler topic

All aspects of programming on the Commander X16.
User avatar
ahenry3068
Posts: 1192
Joined: Tue Apr 04, 2023 9:57 pm

Re: Prog8 language and compiler topic

Post by ahenry3068 »

mortarm wrote: Sat Dec 28, 2024 3:41 am
ahenry3068 wrote: Fri Dec 27, 2024 11:19 pm Something you Shoot yourself in the Foot with. Shooting yourself in the foot is a figure of speech for making a kind of stupid mistake.
Somehow, I expected an answer of a higher caliber. :)
Image

Image
User avatar
desertfish
Posts: 1123
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Prog8 version 11.0.1 has been released

Post by desertfish »

Hehe the footgun .


Anyway, version 11.0.1 has been released https://github.com/irmen/prog8/releases/tag/v11.0.1

This is a bug fix release to repair a few important problems that were found in 11.0

Fixes

fixed two possible compiler crashes in library import code (1 for filename CaSiNg issues on widows, 1 for transitive imports done by library modules)
fixed a compiler crash related to array parameter types for subroutines
pet32 target: fixed txt.plot() putting the cursor in the wrong position (col/row were mixed up)
cbm.PLOT(): the order of the return values when getting the cursor position has been swapped, is now colum (in Y) followed by row (in X). This is the same order as the arguments to the routine are given to set the cursor position.
diskio.diskname() could hang on a disk error, this has been fixed
some stricter type checking for multivalue assigns, to avoid possible faulty code generation due to missing type conversion

Additions/changes

added txt.t256c() on the commander X16 to turn 256 color tile mode on or off
updated zsmkit library blob for a fix in the zsm_clearisr() routine
added coroutines library and multitasking example
modified the cx16images.py Python script to work again with newer pillow library version
mortarm
Posts: 319
Joined: Tue May 16, 2023 6:21 pm

Re: Prog8 version 11.0.1 has been released

Post by mortarm »

desertfish wrote: Sun Dec 29, 2024 7:33 pm ...pillow library version
Now /that's/ SOFTware. :D
User avatar
desertfish
Posts: 1123
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Re: Prog8 language and compiler topic

Post by desertfish »

Heheh
(extra clarification: pillow has nothing to do with Prog8 or the X16 itself, it is an image library for Python programs)
mgkaiser
Posts: 61
Joined: Sat Dec 02, 2023 6:49 pm

Re: Prog8 language and compiler topic

Post by mgkaiser »

Is there a way to build a Prog8 program targeted at a specific address with no startup code? My idea is that you could build libraries, keep then under 8k, and target them at $a000. Then you could make "header" files with "extsub" lines pointing at the library. Given extsub now deals with banks, you could have multiple 8k libraries loaded and still leave main RAM available for the main program. You could even build the Prog8 included libraries in this manner. I think the only limitation is you could not call one routine in banked ram from another routine in banked ram.
User avatar
desertfish
Posts: 1123
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Re: Prog8 language and compiler topic

Post by desertfish »

yes you can, but it's a bit messy and there are some caveats (prog8 requires variable initialization). You may also need to disable the use of the zeropage, because otherwise it may clobber variables in your main program

if you use this in your main module

%launcher none %option no_sysinit %zeropage dontuse %address $a000

you will get something close to what you asked.

I want to improve on this in a future prog8 version.
Post Reply