It would be handy to be able to use ugBASIC to create programs for modern targets too.
By modern targets, I mean Windows 8/10/11, Linux 32/64 bit and Raspberry Pi.
Modern platforms as a target
-
- Site Admin
- Posts: 171
- Joined: Fri Oct 06, 2023 8:25 pm
Re: Modern platforms as a target
Hi wysardry, and thank you for the message.
Adding support for modern targets is something very challenging.
As it is done now, ugBASIC programs should boot in full autonomy, taking possession of the PC, and therefore has no possibility of being launched from modern OS. This path is essentially the only one with computers that have custom hardware, like Commodore or Spectrum. Since it is not viable for modern computers because the hardware is too varied and too different, and they share a very complex standard to master without the help of the operating system, it would be necessary to interface ugBASIC at least with the BIOS if not with the services exposed by OS.
In any case, thank you for the suggestion!
Adding support for modern targets is something very challenging.
As it is done now, ugBASIC programs should boot in full autonomy, taking possession of the PC, and therefore has no possibility of being launched from modern OS. This path is essentially the only one with computers that have custom hardware, like Commodore or Spectrum. Since it is not viable for modern computers because the hardware is too varied and too different, and they share a very complex standard to master without the help of the operating system, it would be necessary to interface ugBASIC at least with the BIOS if not with the services exposed by OS.
In any case, thank you for the suggestion!
Re: Modern platforms as a target
Is there any chance that when you add support for the IBM PS/1 or PCjr (from your targets list), that programs compiled for either of them would run on a modern Windows machine at least?
-
- Site Admin
- Posts: 171
- Joined: Fri Oct 06, 2023 8:25 pm
Re: Modern platforms as a target
Microsoft Windows has abandoned 16/32 bit support I believe since the Windows 8 version, and this places us in the awkward position of using an emulator (like DosBox) or using an assembler capable of generating 64 bit code. The problem, in this case, is that making an executable loadable by Windows is a very laborious thing. At this point, perhaps, it would make sense to use an intermediate format. For example, webassembly.
Re: Modern platforms as a target
I haven't looked too closely at webassembly. Can it be used to display graphics and output sound in a similar way to ugBASIC programs?
I'm now wondering if an ugBASIC to FreePascal or C source conversion program would be practical.
I'm now wondering if an ugBASIC to FreePascal or C source conversion program would be practical.
Re: Modern platforms as a target
I fail to understand why.
The targets are all well multiple emulated within modern systems for ages. Whatever you produce can be run on modern systems more reliably than games for them itself. You also have the choice of online emulators and multiplatform, one can pack its game with them and voila.
For modern basic, my choice is GLBasic. While it has some ends connected to ugBasic, they are very different on what they naturally offer.
UgBasic is addressing those 8bits in its specialty, I see absolutely 0 reasons for it to be mixed with mainstream, but that is just an opinion.
The targets are all well multiple emulated within modern systems for ages. Whatever you produce can be run on modern systems more reliably than games for them itself. You also have the choice of online emulators and multiplatform, one can pack its game with them and voila.
For modern basic, my choice is GLBasic. While it has some ends connected to ugBasic, they are very different on what they naturally offer.
UgBasic is addressing those 8bits in its specialty, I see absolutely 0 reasons for it to be mixed with mainstream, but that is just an opinion.
Re: Modern platforms as a target
Most game players wouldn't want to download/install extra software or visit a third party website just to play a simple game.
Software for 8-bit systems is a very niche market. Also producing the same software for modern systems would drastically increase the number of potential users/players.
I'm just looking for a way to do that using the same source code, without having to program in C and using something like CROSS-LIB.
I tried GLBASIC but didn't really like the IDE. I prefer PureBASIC.
Software for 8-bit systems is a very niche market. Also producing the same software for modern systems would drastically increase the number of potential users/players.
I'm just looking for a way to do that using the same source code, without having to program in C and using something like CROSS-LIB.
I tried GLBASIC but didn't really like the IDE. I prefer PureBASIC.
Re: Modern platforms as a target
Ah, I think I get it now. Good point!
Well, what I can say from personal exp is that the PC market is the usual monster of crowds. Nothing I do on both worlds connect in that sense of "potential player". The niche is more kin to my stuff since I'm that kind of user/player, it seems to respond better or, that I can talk better with it.
Well, what I can say from personal exp is that the PC market is the usual monster of crowds. Nothing I do on both worlds connect in that sense of "potential player". The niche is more kin to my stuff since I'm that kind of user/player, it seems to respond better or, that I can talk better with it.