BlitzMax NG Download

Started by Rooster, June 08, 2017, 21:44:46

Previous topic - Next topic

RonTek

Quote from: markcwm on October 17, 2017, 01:31:43
BTW, does anyone know if that issue with NG apps not being allowed to run on Samsung phones ever fixed?

Really? wow that's weird. I got some help months ago testing a lot of demos on Samsung phones and tablets and it works great.

markcwm

Hi, yes it was with Samsung Galaxy S3 & S4 on Android 4.x and was possibly due to the security app Knox. Here is the topic http://wasted.nz/posts.php?topic=104430 - it seems it did work if the phone was rooted, so maybe a permissions issue but this was never confirmed.

RonTek

#32
Quote from: markcwm on October 17, 2017, 02:40:02
Hi, yes it was with Samsung Galaxy S3 & S4 on Android 4.x and was possibly due to the security app Knox. Here is the topic http://wasted.nz/posts.php?topic=104430 - it seems it did work if the phone was rooted, so maybe a permissions issue but this was never confirmed.

I see and same device or year models (Android 4.x). I have not encountered any Knox app, rooted or anything like that. It just straights up installed with just allow Unknown Sources.

It was probably the same results for me with Dabz post here..
http://wasted.nz/posts.php?topic=104430#93



Derron

I've read about Knox but never owned such a device.

When compiling with NG the apps won't be signed properly (with your individual keys) maybe this raises the awareness of the security system and it blocks execution then?


I've run my demos on multiple android devices (4.x and 5.x) without trouble but were not able to test them yet on a 6.x or 7x device.


bye
Ron

TomToad

It was a problem specifically with samsung devices.  As far as I know, it has never been fixed.  Probably won't be a problem for most people as I believe Samsung fixed its security on the S5 and up.  The S3 and S4 are old phones and I am finding my S3 unable to run more and more apps.
------------------------------------------------
8 rabbits equals 1 rabbyte.

meems

So what's the story with blitzmax-NG?
What does the NG stand for?
I tried to do my own research. When I got to the readme at github, I thought right now i can get a grip on the technical hallmarks of NG. Instead i got this
Quote from: github blitzNGMonkey-originated bcc parser for BlitzMax Generates BlitzMax (mostly) compatible C-source which has the added advantage of being more portable than the original bcc-generated processor-specific assembler.

Hmm, a brief broad sweep with no detail. Fashionable in the mass media atm cos the general public have 2 second attention spans while browsing fb and twitter. But for dedicated blitz users? :(
I am interested in the monkey-ish ability to create executables for different systems. I'd like to know which systems blitz-ng can port to, and which are planned.  Any detail of ng on the net, or is the only way to know to DL and try port some code to system x?

Steve Elliott

NG = Next Generation (yeah I don't like the term either).

Brucey has a solid programming reputation, but life it seems has got in the way recently, so has slowed his progress.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
Linux Mint 8Gb Celeron Intel UHD Graphics 600
macOS Sonoma 32Gb Apple M2 Max
Spectrum Next 2Mb

meems

maybe blitzMaxPlus :D or blitz2Max

how portable is BlitzMax code to BlitzMax-NG ? I'd like it to be 100%

Steve Elliott

Sounds like a flu remedy  ;)

I think 100% is very optimistic from what I've heard, but NG users can give a better more accurate account - or the man himself  :D
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
Linux Mint 8Gb Celeron Intel UHD Graphics 600
macOS Sonoma 32Gb Apple M2 Max
Spectrum Next 2Mb

meems

Well it should be near 100%. Otherwise, might as well use monkey

Derron

Quotehow portable is BlitzMax code to BlitzMax-NG ? I'd like it to be 100%
It is 100% portable to NG. Also BlitzMax and BlitzMax NG code is 100% portable to C, C++, ...


You really should stop flaming around as this does not increase sympathy to you - which is required in a small community to get help from others. People here are not paid for support - so friendlyness helps. You do not have to agree to everything but it is not the best idea to be that "harsh" to everything and and everyone.


I am pretty sure you asked for compatibility. BMX NG compiles Blitzmax code to C before GCC then compiles it to the ELF/EXE-file of your choice. There are differences between vanilla and NG. Most important is that NG - without additional parameters during compilation - is more strict than vanilla. NG understands "void" while vanilla interprets "nothing" as "int". So without parameters to supress warnings or to ignore certain stuff, you have to adjust some lines of your code.

Code you prepared for NG most often works for vanilla too. Exception is if you use modules written for NG. They can use stuff like "interfaces" which only work in NG and not in vanilla. So once you go NG (and use the improved stuff of NG - like interfaces, overloading, ...) you better stay there to avoid hassle.

But if you code with vanilla and handle the NG stuff carefully (eg. mask the differences with conditionals - like "?bmxng ... ?not bmxng") you will be able to use vanilla and NG on the same codebase. Am doing this with TVTower (https://www.github.com/TVTower).

If your code was "vanilla based" and already "[super]strict" and not using advanced type extensions (Type MyStream extends TStream) then it should just "compile and work".
If it does _not_ then you most likely used a glitch in vanilla (even if we discussed some quirks in vanilla already in the past - and made sure that NG behaves the same odd way) or you even might have found a bug in bcc-ng (bmx->c transpilation).


bye
Ron

meems

#41
>You really should stop flaming around ...
What flames?

...as this does not increase sympathy to you

5 sympathy points : get free :) after every comment to you
10 sympathy points : nearby coders will come to your local and buy u a pint
20 sympathy points :  ...will look after your cat when you go skiing holiday
30 sympathy points :  ....will look after your dog when u go Thailand holiday and not tell your woman
50 sympathy points :   will book you holiday to Thailand if think you're having a hard time and need a break

Ok, can people please tell me how much sympathy they have for me, so I can have my stuff ready to board my flight.

meems

@Derron
thx for the informative post. It's good that the compatibility between BM and BMng is near 100%. But what platforms can NG code compile to?

Derron

@ flames

> how portable is BlitzMax code to BlitzMax-NG ? I'd like it to be 100%
[...]
> Well it should be near 100%. Otherwise, might as well use monkey

This kind of flaming towards Brucey's BlitzMax NG. You expect everything to be working "out of the box". You forget that this is an FOSS language/toolkit which is done by almost only one person. Do you think it encourages the people doing their stuff when they have to read what you write? Of course people could write way worse things but it just is not really "nice" to do so.
In the other thread you told all of us as being not capable of doing certain coding stuff ... that it is only you or Bruce who might come up with a specific solution. There are surely people here in the forum who could have done it ... but why should they? How do you expect others to lurk around in the forum at the same time of your "request" (nicely circumscribed). People help here for free... share their "wisdom", "opinion" or even code.
BlitzMax is a language designed for people who want to create games, not tinker around optimizations or "how to tackle this specific way in the best performing way". So stuff is often done for "convenience" and not "performance". Maybe this is why "TLink" is kind of an helper and not the default way to move along in linked lists (not talking about "iterating" as "iterators" are the thing which might break when manipulating the lists).
There is plenty of stuff to optimize. Do you use Bitmasks? Do you blame others for not using this kind of memory saving, easy comparable and pretty powerful thing but 5 different "Field optionXYZ:int" fields? For many people it is easier to write "if optionXYZ then doX()" instead of "if options & FLAG_OPTIONXYZ then doX()" - not to talk about setting/removing the bitmask (flags :| option  or flags :& ~option). Convenience. Also I wrote about extendible code but your responses kept the same: only your solution is the right one until another one comes around doing how you think it should be done.

This kind of "flaming" is what I was talking about. Maybe being "grumpy" would fit better as description.


@ targets
NG compiles to Mac, Linux, Windows, Android (arm, x86, x84), RasPi, iOS - and this in the flavors "32bit" or "64bit". Emscripten was planned but there are some problems with the way BlitzMax handles functions and methods (pointers...) which is not really supported by Emscripten. So Brucey run into trouble there and it wont work without big efforts.
I assume it could work on the Nintendo Switch or other "SDL supported platforms" but as long as Nintendo does not accept every developer and/or gifts some DevKits, it wont become a target. 

bye
Ron

meems

#44
>100% blitzMax compatibility, otherwise use monkey
> highly cross platform, otherwise use monkey


They are not flames. They are matter-of-fact statements, I would think they'd be the basis and motivation of the NG dev's reason to dev NG. I doubt me repeating what Brucey carries in his mind every day to motivate himself would demoralize him. The steely resolve, determination and stubbornness that drives great men to pioneer the progress of mankind is an immense unstoppable force and a wonder to behold. Short of burying an axe in his skull I doubt I could quench it.

>You forget that this is an FOSS language/toolkit which is done by almost only one person.
On the contrary, I am very grateful to Brucey for what he has given us. I am penniless, but I will strive to repay him someday, in cash or kind, by vindicating his efforts by making a great game coded in BlitzMax NG. BlitzMax's brightest days are still in the future, thanks to Brucey.
I hope someday I can take you, me and Brucey on holiday with the fortune I make from my game. I see us on Pattaya Beach, each with beer and a girl, laughing about stuff and reminiscing the hard work we'd put in over these current years. We will have fulfilled our destiny to be successful in life by making the world a better place. It is a dream I have.