mortarm wrote: ↑Sat Dec 28, 2024 3:41 amSomehow, I expected an answer of a higher caliber.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.
Prog8 language and compiler topic
- ahenry3068
- Posts: 1192
- Joined: Tue Apr 04, 2023 9:57 pm
Re: Prog8 language and compiler topic
- desertfish
- Posts: 1123
- Joined: Tue Aug 25, 2020 8:27 pm
- Location: Netherlands
Prog8 version 11.0.1 has been released
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
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
Re: Prog8 version 11.0.1 has been released
Now /that's/ SOFTware.
- desertfish
- Posts: 1123
- Joined: Tue Aug 25, 2020 8:27 pm
- Location: Netherlands
Re: Prog8 language and compiler topic
Heheh
(extra clarification: pillow has nothing to do with Prog8 or the X16 itself, it is an image library for Python programs)
(extra clarification: pillow has nothing to do with Prog8 or the X16 itself, it is an image library for Python programs)
Re: Prog8 language and compiler topic
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.
- desertfish
- Posts: 1123
- Joined: Tue Aug 25, 2020 8:27 pm
- Location: Netherlands
Re: Prog8 language and compiler topic
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.
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.