Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 01:27 20 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Any interest in MMBasic for Windows with full Graphics?

     Page 1 of 5    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 08:52am 20 Jan 2022
Copy link to clipboard 
Print this post

It is still cold and miserable in the UK so outside pursuits are on hold and I need a new project.

I have the germ of an idea for how to program a windows graphics version of MMBasic. The idea is that, like the CMM2, it would use a mouse to control the GUI controls and it would support the full set of MMbasic drawing commands. It wouldn't and couldn't replicate any specific existing version of MMbasic so, for example, you couldn't take Mauro's CMM2 programs and run them unchanged but it could eventually support things like true sprites using the graphics card rather than the processor to render them.

This is a big project and takes me outside my "embedded" comfort zone so I only want to start it if there is real interest from a significant user-base.

For those interested in the base technology I'm thinking of using google "one load coder pixelgameengine"

Thoughts?
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1590
Posted: 09:28am 20 Jan 2022
Copy link to clipboard 
Print this post

YES PLEASE! Any expansion of the MMBasic for Windows would be most welcome.

Bill
Keep safe. Live long and prosper.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3831
Posted: 09:35am 20 Jan 2022
Copy link to clipboard 
Print this post

Hi Peter,

I'm not going to say "Yes!", not because I don't think it is a good idea, but just because I don't want my vote to count towards someone making a decision to comitting to such a potentially huge sink of their time.

  matherp said  ... I'm thinking of using google "one load coder pixelgameengine"


Typo? presumably you mean "one loNe coder": https://github.com/OneLoneCoder/olcPixelGameEngine.

I wonder if you might be better with something "standard" like SDL as it might have better lifetime and ongoing support - it's what is used for graphics support in the portable version of BBC Basic: https://www.bbcbasic.co.uk/bbcsdl/index.html.

In theory, and ideally I think there should be a future where there is a single source that compiles to build desktop versions of MMBasic for Windows, Linux, ChromeOS, Android, iOS, and whatever today's version of MacOS is called.

I'd volunteer to collaborate on implementing such a future, but I think our styles are too divergent and our amount of free time orders of magnitude too disparate, and if we are honest there is every sign we'd just rub each other up the wrong way . Instead I'm just going to wish you luck and look forward to whatever you might produce. Now hopefully I'm never going to feel the need to stick my oar in again, but feel free to PM me if you do want my input.

Best wishes,

Tom
Edited 2022-01-20 19:57 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
jirsoft

Guru

Joined: 18/09/2020
Location: Czech Republic
Posts: 532
Posted: 09:37am 20 Jan 2022
Copy link to clipboard 
Print this post

Hi Peter,
can it be used in MacOS or Linux too? Is it this one?
I already thought to do the same in Xojo (multiplatform), with one more window used for simulating inputs and visualization of outputs... Finally I have found not so much gain, so I have canceled this idea. But when it will be multiplatform, maybe I can somehow help you (pure Windows version is not too interesting for me).

Jiri
Jiri
Napoleon Commander and SimplEd for CMM2 (GitHub),  CMM2.fun
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 10:09am 20 Jan 2022
Copy link to clipboard 
Print this post

  Quote  I wonder if you might be better with something "standard" like SDL


Massively over the top for what is required. PixelGameEngine is a single header file that does everything needed.
It is multiplatform but if I do this it will developed under windows only where I have a proper IDE and I'm not messing around at the command prompt.
It would be up to someone else to set up a development environment under any other OS and get it working
 
Goksteroo
Senior Member

Joined: 15/03/2021
Location: Australia
Posts: 110
Posted: 10:14am 20 Jan 2022
Copy link to clipboard 
Print this post

Yes please....
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3496
Posted: 10:15am 20 Jan 2022
Copy link to clipboard 
Print this post

Hi Peter,

That would fill in the big gap that the current windows/dos version has: graphics support.
I would very much appreciate the addition of the basic graphics functions (like line draw, text, box and circles).

And maybe it is even possible to bring the DOS version to 5.07 (including MATH commands). The current latest (5.05.03) does not have them.

So a very big +1 from me...

Volhout
Edited 2022-01-20 20:16 by Volhout
PicomiteVGA PETSCII ROBOTS
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3649
Posted: 10:16am 20 Jan 2022
Copy link to clipboard 
Print this post

  jirsoft said  can it be used in MacOS or Linux too? Is it this one?

I expect yes & yes.

John
 
fred777
Regular Member

Joined: 01/07/2021
Location: United Kingdom
Posts: 57
Posted: 10:17am 20 Jan 2022
Copy link to clipboard 
Print this post

I'd say don't spend too much time on that. Windows (and Liunx and Mac) already has FreeBasic, PureBasic and Xojo (and who knows what else)
 
flasherror
Senior Member

Joined: 07/01/2019
Location: United States
Posts: 159
Posted: 11:44am 20 Jan 2022
Copy link to clipboard 
Print this post

  fred777 said  I'd say don't spend too much time on that. Windows (and Liunx and Mac) already has FreeBasic, PureBasic and Xojo (and who knows what else)


I agree with this - I don't see much point in a Windows version of graphical MMBasic that is not compatible with CMM2. (If it was compatible it would make a great CMM2 simulator/emulator)
There is more than enough choice in programming traditional PCs and I don't see MMBasic filling anything other than a niche, and ultimately not being widely adopted or have much of a future. This may not be the best use of resources (although it's ultimately up to you).
Just looking at things realistically here. Might be better to extend existing "DOS" MMBasic to have SQLite database to better handle database use other than simple "flat file" data files. (It would be nice if the Pico/Armmite ports implemented SQLite). Or ESP32-C3 (RISC-V) port?  
Edited 2022-01-20 22:07 by flasherror
 
bigfix
Senior Member

Joined: 20/02/2014
Location: Austria
Posts: 124
Posted: 12:26pm 20 Jan 2022
Copy link to clipboard 
Print this post

It would make sense if it supports some minimum I/O to the outside world
Serial & I2C would be nice, syntax similar to current MMbasic for portability

Eventually it could support an USB to I2C adapter, allowing to connect the GP I2C I/O box, which was just designed in another thread
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 12:27pm 20 Jan 2022
Copy link to clipboard 
Print this post

  matherp said  It is still cold and miserable in the UK so outside pursuits are on hold and I need a new project.


bring the black pill up to a basic level of stability and usability then draw a line under it?
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1590
Posted: 12:34pm 20 Jan 2022
Copy link to clipboard 
Print this post

  Quote  bring the black pill up to a basic level of stability and usability then draw a line under it?


Keep safe. Live long and prosper.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5705
Posted: 01:02pm 20 Jan 2022
Copy link to clipboard 
Print this post

It would certainly be a challenge for you. Peter. :)
If that's the sort of thing you enjoy then I'd say go for it, by all means, but IMHO the desktop computing world doesn't *need* any more languages, not even versions of BASIC. You would be doing this for your own enjoyment - and if you don't think of it like that then it might be better to consider something else to fill in your spare time until Spring. :)

The big problem with desktop versions is that they don't have user IO since the parallel ports disappeared, and MMBasic is very IO orientated. To get IO you have to add USB support together with suitable USB connected IO. I, personally, wouldn't be happy, even if I could do a top rate port of MMBasic to windows with graphics, sound and whatever, unless I could also get that IO.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
nutson
Newbie

Joined: 01/07/2019
Location: Netherlands
Posts: 14
Posted: 01:34pm 20 Jan 2022
Copy link to clipboard 
Print this post

"It would make sense if it supports some minimum I/O to the outside world
Serial & I2C would be nice, syntax similar to current MMbasic for portability

Eventually it could support an USB to I2C adapter, allowing to connect the GP I2C I/O box, which was just designed in another thread"

I share the opinion of forum member bigfix. The 'mite family is for me a vehicle to control things WHILE having options for making a userinterface.
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3008
Posted: 01:50pm 20 Jan 2022
Copy link to clipboard 
Print this post

Yes to MMBasic for windows with graphics, and especially yes if the following is included.

  bigfix said  It would make sense if it supports some minimum I/O to the outside world
Serial & I2C would be nice, syntax similar to current MMbasic for portability

Eventually it could support an USB to I2C adapter, allowing to connect the GP I2C I/O box, which was just designed in another thread

PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2285
Posted: 02:00pm 20 Jan 2022
Copy link to clipboard 
Print this post

  CaptainBoing said  
  matherp said  It is still cold and miserable in the UK so outside pursuits are on hold and I need a new project.


bring the black pill up to a basic level of stability and usability then draw a line under it?


i too believe effort would be well spent bring the black pill up to the same level as the MX170. ditch VGA video and PS2 keyboard (as the Pico seems to do these nicely) and get the USB console working.


i also believe that there is more to do on the Pico. imagine getting the USB working on the other core (shared with VGA for the VGA version) and 'compartmenting' the MMbasic firmware on its own so that if it crashes then USB stays running.

such a project: VGA + USB running on core1, with an effectively sandboxed user application able to be run on core0 would be a nice addition to the Pico ecosystem (outside of the MMbasic world) that would garner wide interest and praise.


cheers,
rob   :-)
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2285
Posted: 02:04pm 20 Jan 2022
Copy link to clipboard 
Print this post

  bigfix said  It would make sense if it supports some minimum I/O to the outside world
Serial & I2C would be nice, syntax similar to current MMbasic for portability. Eventually it could support an USB to I2C adapter, allowing to connect the GP I2C I/O box, which was just designed in another thread


isn't this pretty close to just a Pico tethered to a PC, with the PC running a graphical terminal emulator? the Pico is likely the cheapest multi-function USB expansion device out there, be it used just an I/O expander or as a platform running MMbasic.


cheers,
rob   :-)
Edited 2022-01-21 00:05 by robert.rozee
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 02:16pm 20 Jan 2022
Copy link to clipboard 
Print this post

  Quote  i also believe that there is more to do on the Pico. imagine getting the USB working on the other core (shared with VGA for the VGA version) and 'compartmenting' the MMbasic firmware on its own so that if it crashes then USB stays running.


I am not on any platform digging around in the guts of USB - absolutely no interest. Wouldn't work anyway, even a few extra statements on core 1 b...rs the VGA
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5705
Posted: 02:22pm 20 Jan 2022
Copy link to clipboard 
Print this post

Anyone fancy turning a Black Pill into an I2C slave? It would be a better candidate than the Pico simply because it has more ADC ports. This device could be linked to a PC via a USB-I2C converter or to 'mites.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
     Page 1 of 5    
Print this page
© JAQ Software 2024