OxygenBasic PreRelease

Started by Charles Pegge, April 16, 2026, 06:52:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Charles Pegge

I will be posting these frequently for anyone with a special interest in the new features or bug fixes.
Older versions will be removed as soon as there is a fresh update.

Included:

re-introduced 'embed' command for inserting file contents directly into the code binary.



recommended by AI agents KI:

case-sensitive compilers command lines, including the switches. Currently all lower-case.

fixed exit codes returned by exec(exefile,1)  in sysutil.inc


Theo Gottwald

#1
@Charles Pegge
Are you interested in Bug reports also, or is it too early and you have still lots to do?
When you think its "Bug free" then tell me so i can test it for you.
Let me add that i am willing to digitally sign your executables if you ask me to do so.
Unsigned executables often make lots of troubles under windows.

In average i find 25 bugs if people tell me their program is bug free. ;D

Charles Pegge

#2
I have dealt with the 12 issues raised by KI Agent A, so far. They are easy to understand and mostly practical to implement across multiple demos and tools. But I would not risk using agent generated code at this stage.

AI KI AGENT A FIXES
08:17 17/04/2026 A12: Create co2.inc for code common to co2 and co2m64
08:10 17/04/2026 A11: Disagree oxideutil.inc findreplace
07:52 17/04/2026 A10: More efficient lcase(), in SearchString (searchutil.inc
07:37 17/04/2026 A9:  Extend filenamelen to 512, but stay with ansi filenames
01:26 17/04/2026 A8:  Static array hfont[4]... DeleteObjecthfont[1] etc
00:30 17/04/2026 A7:  Restructure CompilerInfo() (OxideUtil.inc)
00:05 17/04/2026 A6:  Comment out md expression in Oxide
23:52 16/04/2026 A5:  Disagree Peroxide file saving
21:40 16/04/2026 A4:  Fix text line buffer size s=nuls 512
21:29 16/04/2026 A3:  Fix FindFirstFile : if h>0
14:02 16/04/2026 A2:  Fix return codes from exec() etc. (sysutil.inc)
13:52 16/04/2026 A1:  Make co2 and co2m64 compilers commandlinecase-sensitive (tools\co2*)

Theo Gottwald

@Charles Pegge
I am willing to help but you need to explain what i can do for you.
I understand that you not want KI-Code as your own Context exceeds the 1 MB Limit a lot.

Anyway if you ask me to hunt for more errors, you can do that any time.
But i need then a version which you say is "bug free as you know".

Because if i get something that contains bugs, we will find these and find follow-up bugs,
is a waste of time. So make it bug free and then tell me and send me the most actual version.

As said i can also always digitally sign the Executables for you this will help them a lot on todays window computers.


Charles Pegge

#4
Thanks Theo,

I will be going through the Agent C notes shortly, and then we can decide on further bug-hunts, and design critique.

I fount the depth of feedback very impressive, though I don't always agree with it. For instance it does not like the large number of global variables, but I think the compiler demands them and is designed to do only one job in one process. It is very different from Windows GUI programming. It also suggests adopting wide characters instead of ANSI for all file handling.

If you would like to create a digitally signed release, I think we should be ready sometime in May. I would like to produce some tools to aid source code generation before then.


These are changes resulting from KI Agent B feedback:

AI KI AGENT B FIXES
00:17 18/04/2026 B9:  Disagree for now. Both compilers produce same 32/64 binaries
23:48 17/04/2026 B8:  Fix ConvertOutput always returns static string pointer
22:23 17/04/2026 B7:  Trap null VirtualAlloc. Propose code section VirtualProtect
22:23 17/04/2026 B6:  Fix flag clearing utf16=0 (utft.inc)
22:16 17/04/2026 B5:  Already fixed command line case (co2 co2m64)
22:13 17/04/2026 B4:  Fix o2_buf error behaviour (main.inc) 
21:56 17/04/2026 B3:  Fix pex to pexn (main.inc)
21:49 17/04/2026 B2:  Disagree: dwords are used for 32bit host
21:46 17/04/2026 B1:  Fix o2_abst early exit (main.inc)

Theo Gottwald

@Charles Pegge the KI opinion is often temporarily. You an give your code to  KI's (or even the same) 2 times and you get 4 different opinions back, so do this general stuff not on the important side.

In fact you give that Code to a mathematical system that is trained to answer something. After evaluation of Billions of Parameters, Billions of times. Just take out what you believe is in for you, this is the way to go.

A KI System with 1 MT Context is definitely not the same like if you ask Jose or other long year programmers fo an opinion, but even then you will end up with al lot of different opinions and after all its you to choose the way to go.

Some moth ago when i use the Google KI to write my code i experienced that after feeding the code mutliple time to google, the result started to look like "Google code" not more like my code.

The Ki builds internally an mathematical idea of what you are doing and how it should/could look which is very dependent on the training data but can also be seen from some standpoint as random.

But its in a random space where there is somthing in for you. Just like you go in a shop where everything is FREE: You do even then not take ALL they offer, you just choose what you need.

KI is not your Master, you need to Master KI. Thats why you see, that often KI talks to me as MASTER.
Thats the first thing i make clear to KI Systems.

Charles Pegge

#6
Agent C raises the same issues as Agent A. So no further work to do from these agents. But I have some work to make PE file generation more efficient.