Author Topic: Latest Alpha Release on SourceForge 2011  (Read 20168 times)

0 Members and 1 Guest are viewing this topic.

Charles Pegge

  • Guest
Latest Alpha Release on SourceForge 2011
« on: January 01, 2011, 11:00:18 AM »

Some significant changes for this first release of 2011.



Further incursions into C territory:

1 iteration: for (i=1 : i<=e ; i++) {..}
2 do {... i++} while (i<e)
3 #semicolon separator / #semicolon comment



Ability to exclude unused procedures when compiling with source libraries.

#economy enabled / #economy disabled



Obsolete instructions:

Symbols (was used to reprogram punctuation)



Exposed (wa use to make procedure inside a scope visible to the outside)

Exposed Functions and hidden functions are better managed by placing the functions you wish to conceal inside the visible function. Oxygen will let you do this!

Code: [Select]

Alpha025

06:02 23/12/2010  remove "loadlibs" and "linklibs" commands
06:02 23/12/2010  fix conflict between scope brackets and dim statements
11:20 28/12/2010  C style iteration with for (i=1 ; i<=10 ; i++){...}
11:21 28/12/2010  C style do {..i++ } while (i<=10)
06:22 29/12/2010  fix "while 1"
00:35 31/12/2010  Scrap "symbols" directive
09:12 31/12/2010  Support C style semicon separators with "#semicolon" directive (normally comment marker)
07:13 01/01/2011  #economy directive to exclude unused procedures from compilation
07:14 01/01/2011  Improve compiler string pool. (reduce size & make flexible)
07:48 01/01/2011  Scrap "Exposed" prefix. (exposing function inside a scope)


Charles
« Last Edit: January 01, 2011, 11:17:40 AM by Charles Pegge »

Charles Pegge

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #1 on: January 03, 2011, 05:29:26 AM »

I now have a "rough draft" of the 32 bit run time library which will allow compiled programs to run without Oxygen dependency. To make a program anaerobic :), including rtl32.inc at the beginning is all that will be needed. The only thing it won't do is secondary (dynamic runtime) compiling.

If all goes well with the testing, I will include it in the next release (Alpha026)

Charles

efgee

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #2 on: January 03, 2011, 11:23:14 AM »
I now have a "rough draft" of the 32 bit run time library which will allow compiled programs to run without Oxygen dependency. To make a program anaerobic :), including rtl32.inc at the beginning is all that will be needed.

This would be so cool.

How small would the smallest "Hello World!" program be?
(not that it's really important nowadays but it would add more to the coolness factor...)

The only thing it won't do is secondary (dynamic runtime) compiling.

If dynamic compiling is needed a separate dll might not be a problem at all.

bye
« Last Edit: January 03, 2011, 12:49:36 PM by efgee »

Charles Pegge

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #3 on: January 04, 2011, 05:35:45 AM »

Hi efgee,

I think the smallest Exe I've produced is around 2.5K - but this is mostly empty space and zips down a lot smaller. The number of sections determines the lower limit for size. They come in blocks of 512 bytes.

16k covers the whole runtime without chopping into separate pieces. I think all but trivial code will use most of the run time functions.

When dynamic compiling is invoked it engages the entire O2 compiler - well almost. So Oxygen.dll will always be needed for this.

Charles

kryton9

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #4 on: January 04, 2011, 02:39:22 PM »
Charles thanks for this new compiling option to be totally independent with just a single exe file.

Charles Pegge

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #5 on: January 08, 2011, 12:51:26 AM »
Below is a sample of independent Executables using the new run time library RTL32. There is still some way to go but these compile successfully, and are lean with a library size of less than 14k

I checked them at virustotal.com and they give false positives with Avira and Mod32 so you may have trouble if you use these antiviruses.

Charles

PS: You should be able to run these directly from the zip folder.
« Last Edit: June 14, 2012, 07:42:24 AM by Charles Pegge »

JRS

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #6 on: January 08, 2011, 02:45:00 AM »
Charles,

All 4 demos run without any issues under Wine/Linux.


John

Update

Wine is complaining if I resize the OpenglChildWins2.exe example. The other three examples resize without a problem. Are you seeing the same under Windows?
« Last Edit: January 08, 2011, 02:53:41 AM by JRS »

Charles Pegge

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #7 on: January 08, 2011, 07:53:49 AM »
Thanks for testing John.

The OpenGL child windows example is a bit unusual in that it uses 2 opengl device contexts. I don't know how Linux / Wine resolves this but it resizes okay in MS.

Below is the most complex compiled program tested yet. The library has passed all the tests so far and we are nearly ready for the Alpha026 release.

Charles

« Last Edit: June 14, 2012, 07:42:53 AM by Charles Pegge »

efgee

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #8 on: January 08, 2011, 11:29:54 AM »
Charles,
Tested all independent programs and all work fine.

As an AntiVirus program I use Microsoft Security Essentials and all is fine.

Good job!

efgee

JRS

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #9 on: January 08, 2011, 11:51:14 AM »
Quote
is the most complex compiled program tested yet

Most complex is working fine on Linux/Wine.

.
« Last Edit: January 08, 2011, 12:02:04 PM by JRS »

Charles Pegge

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #10 on: January 08, 2011, 03:15:28 PM »
This is the progenitor of OpenglChildWin2.

It is derived from an MSDN child windows example with very little alteration and does not use Opengl but the resizing technique is the same. - I wonder if it works correctly in Wine?

Charles
« Last Edit: June 14, 2012, 07:46:37 AM by o2admin »

JRS

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #11 on: January 08, 2011, 03:43:37 PM »
Works great and resizes without issue.


.

Charles Pegge

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #12 on: January 08, 2011, 04:32:08 PM »

John,

In this prog I have removed opengl from the right hand window.

If this one resizes then the problem is with multiple Opengl child windows.

If it does not then it is an issue with Opengl rendering in a child window under Wine, (rather than the main window)

Charles

.

JRS

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #13 on: January 08, 2011, 04:47:14 PM »
Charles,

I'm in the middle of upgrading Wine 1.2 (current version) to 1.3 beta.

I will try the original and the one you just uploaded when completed.

John

JRS

  • Guest
Re: Latest Alpha Release on SourceForge 2011
« Reply #14 on: January 08, 2011, 05:12:09 PM »
Charles,

The one OpenGL instance version resizes without a problem.

The two OpenGL instance version (original) still errors even with the Wine 1.3 beta installed.

John