Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 11:01 01 Aug 2025 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 : What the World Needs ( If It Doesn't Already Have ) .....

     Page 1 of 2    
Author Message
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 01:28pm 04 May 2020
Copy link to clipboard 
Print this post

....
An image of a version of MMBasic that can be copied
onto a card and will boot a Raspberry Pi ...
NOT
Installed over Raspbian ....
Something along these lines ...
my site
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 02:43pm 04 May 2020
Copy link to clipboard 
Print this post

It's been discussed before.

The problems include
1. getting the proprietary information needed, e.g. signing an NDA
2. someone with the time, ability, and interest

You, maybe?

edit: would it really be better than a variant of the newly announced STM32 version?
(much easier to do)

John
Edited 2020-05-05 00:52 by JohnS
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 06:57pm 04 May 2020
Copy link to clipboard 
Print this post

>> someone with the time, ability, and interest

I have the time and interest , but very little ability : (

>> would it really be better than a variant of the newly announced STM32 version?

If my understanding is right , it would way more elegant just by essence
of the ease of setup .
I . E ........ No need to plug the unit itself into a host P .C .
( Just my idea of elegance though )
my site
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 08:52pm 04 May 2020
Copy link to clipboard 
Print this post

You only need to plug the STM32 in during programming.

(I'd far rather do that when developing than do it on the device itself which hasn't got my preferred editor and other tools.)

And that's only until someone adds the feature to do it all on the device itself (a lot simpler job than making standalone MMBasic for the RPi).

(Though I'd still plug the board into my PC, for the reasons stated.)

John
Edited 2020-05-05 06:53 by JohnS
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2442
Posted: 09:15pm 04 May 2020
Copy link to clipboard 
Print this post

what is to stop the existing binary blob that is used by the existing linux distro (Raspbian) for the RPi being used? while the blob is closed-source and full of secrets, the way linux interfaces to the blob is not. and for an MMbasic running 'directly' against the blob, a great deal of the blob's functionality isn't even needed - for instance, MMbasic just needs to see the screen as a simple frame buffer, all other screen manipulation can be done 100% in software on the CPU.

i see the far greater problem in developer ability and actual interest. it would not be a small project! it may well turn out that the most effective approach is in fact to just strip back the existing Raspbian distro to the bare minimum. completely remove networking, windowing, most USB support. just leave a command-line linux interface, an accessible frame buffer for video, and file-system access.

i'd be targeting a subset of RPi's. perhaps only models A, A+, and Pi zero. this gives you a single USB port, HDMI video output, and 256mb of RAM. strip back to a command-line only linux, and then take stock of what can be achieved with just that in terms of boot speed and current consumption.


cheers,
rob   :-)
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 09:25pm 04 May 2020
Copy link to clipboard 
Print this post

Won't the existing Raspbian version(s) of MMBasic already work just fine if you strip down Linux (an RPi version, I suppose starting with a minimal Raspbian) to a minimum?

If not, why not?

(Maybe it (MMBasic) would need relinking to avoid dynamic library loading but heck that's trivial.)

Does it already work if you just boot single user, minimum text console, for example?

John
Edited 2020-05-05 07:28 by JohnS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 08:30pm 05 May 2020
Copy link to clipboard 
Print this post

The riscos guys ported the 30 year old os from the Acorn Risc Machines to the Pi. That OS was fast on a 16MHz ARM. It is natve written ARM assembler, and is blistering fast, especially the BBC basic V semi interpreter(half compiler). The basic is 100 times faster than MMbasic on the Pi.
The old OS is perfect for what basic is used for, but is not very compatble with 2020. Peripheral support, security, language support, sooo much is lacking. But it is fast.

Mmbasic is ported onto Linux, a heavy OS that supports virtually everything computers can do.
That alone makes it slower, and it is additionally hindered by PiGPIO, the library that controls the gpio pins.

Then, the broadcom core has it's specifics( the GPU loads the software into RAM, then starts the ARM,)
The modern interfaces, wifi, hdmi, usb, need libraries that must be loaded.

It is the modern world, with constantly changing developments, updates, so it is hard to cut it diwn and speed it up. People expect things to simply work everywhere, now and next week, and that makes these os's so large and forces updates.

Peter did a great job creatin Picromite, this must not be underestimated, but making it better, faster, immediately booting, is a big task. And keeping it compatible with the variety of Pi's makes the effort gigantic if you cannot use a linux base.

The riscos guys do not support Pi4 yet...... that already shows it is not simple nor easy.

Volhou
PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 08:31pm 05 May 2020
Copy link to clipboard 
Print this post

The riscos guys ported the 30 year old os from the Acorn Risc Machines to the Pi. That OS was fast on a 16MHz ARM. It is natve written ARM assembler, and is blistering fast, especially the BBC basic V semi interpreter(half compiler). The basic is 100 times faster than MMbasic on the Pi.
The old OS is perfect for what basic is used for, but is not very compatble with 2020. Peripheral support, security, language support, sooo much is lacking. But it is fast.

Mmbasic is ported onto Linux, a heavy OS that supports virtually everything computers can do.
That alone makes it slower, and it is additionally hindered by PiGPIO, the library that controls the gpio pins.

Then, the broadcom core has it's specifics( the GPU loads the software into RAM, then starts the ARM,)
The modern interfaces, wifi, hdmi, usb, need libraries that must be loaded.

It is the modern world, with constantly changing developments, updates, so it is hard to cut it diwn and speed it up. People expect things to simply work everywhere, now and next week, and that makes these os's so large and forces updates.

Peter did a great job creatin Picromite, this must not be underestimated, but making it better, faster, immediately booting, is a big task. And keeping it compatible with the variety of Pi's makes the effort gigantic if you cannot use a linux base.

The riscos guys do not support Pi4 yet...... that already shows it is not simple nor easy.

Volhou
PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 08:31pm 05 May 2020
Copy link to clipboard 
Print this post

The riscos guys ported the 30 year old os from the Acorn Risc Machines to the Pi. That OS was fast on a 16MHz ARM. It is natve written ARM assembler, and is blistering fast, especially the BBC basic V semi interpreter(half compiler). The basic is 100 times faster than MMbasic on the Pi.
The old OS is perfect for what basic is used for, but is not very compatble with 2020. Peripheral support, security, language support, sooo much is lacking. But it is fast.

Mmbasic is ported onto Linux, a heavy OS that supports virtually everything computers can do.
That alone makes it slower, and it is additionally hindered by PiGPIO, the library that controls the gpio pins.

Then, the broadcom core has it's specifics( the GPU loads the software into RAM, then starts the ARM,)
The modern interfaces, wifi, hdmi, usb, need libraries that must be loaded.

It is the modern world, with constantly changing developments, updates, so it is hard to cut it diwn and speed it up. People expect things to simply work everywhere, now and next week, and that makes these os's so large and forces updates.

Peter did a great job creatin Picromite, this must not be underestimated, but making it better, faster, immediately booting, is a big task. And keeping it compatible with the variety of Pi's makes the effort gigantic if you cannot use a linux base.

The riscos guys do not support Pi4 yet...... that already shows it is not simple nor easy.

Volhou
PicomiteVGA PETSCII ROBOTS
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 08:45pm 05 May 2020
Copy link to clipboard 
Print this post

I see you really mean that :)

John
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 01:53am 06 May 2020
Copy link to clipboard 
Print this post

  JohnS said  I see you really mean that :)

John



my site
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 01:53am 06 May 2020
Copy link to clipboard 
Print this post

  JohnS said  I see you really mean that :)

John


.
my site
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 01:54am 06 May 2020
Copy link to clipboard 
Print this post

  JohnS said  I see you really mean that :)

John


Mega : )
my site
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 02:23am 06 May 2020
Copy link to clipboard 
Print this post

  JohnS said  Won't the existing Raspbian version(s) of MMBasic already work just fine if you strip down Linux (an RPi version, I suppose starting with a minimal Raspbian) to a minimum?

If not, why not?

(Maybe it (MMBasic) would need relinking to avoid dynamic library loading but heck that's trivial.)

Does it already work if you just boot single user, minimum text console, for example?

John

Good Idea !
Someone must have done that ?
my site
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 02:34am 06 May 2020
Copy link to clipboard 
Print this post

See Here :
my site
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 06:10am 06 May 2020
Copy link to clipboard 
Print this post

Is that a heavily stripped down Raspbian?  Doesn't read like it.

John
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10310
Posted: 07:16am 06 May 2020
Copy link to clipboard 
Print this post

Many of the comments in this thread are missing the point of the MMBasic port to the Pi.

The whole reason for the port is to take advantage of the facilities within Linux. It supports sockets, system calls, etc. allowing integration and use of things like weather JSON downloads and interactive web pages -a ll from within MMBasic.

To move to a bare metal version would either mean re-writing much of Linux or losing lots of the current functionality.

If you need a fast embedded system with much better I/O use the ArmmiteH7. If you want network integration use the Pi.
Edited 2020-05-06 17:29 by matherp
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2442
Posted: 11:01am 06 May 2020
Copy link to clipboard 
Print this post

hi Peter,
   just because the functionality is there doesn't mean it has to be exploited. plus the likes of the RPi zero and A+ are extremely cheap, with massive onboard RAM and plugin flash storage, and of course HDMI. i believe the zero and A+ can have their current consumption pared back to around the 150mA level.

but before even contemplating MMbasic, the first step is for someone to create the framework in which it is to sit. as i said earlier, a ruthlessly stripped down command-line linux: exposed frame buffer, I/O, onboard file system access and USB keyboard support. nothing else. once this is all working, ONLY THEN is it time to think about what sits on top - be it python, MMbasic, or something else.

i believe that creating that minimal linux functionality is by far the larger part of the job, and certainly not a task that i would relish tackling myself!


cheers,
rob   :-)
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 12:43pm 06 May 2020
Copy link to clipboard 
Print this post

I'm not sure that's the best way.  Sounds doable, but I think I'd kind of do a bit of each:
1. look for / make stripped down Raspbian
2. but first figure out what RPi MMBasic (w/ pigpio) needs in the way of features (especially libraries)

Then compromise between them.

Looks like awfully dull time-consuming grunt work with no actual programming ability needed.  (Which means anyone wanting to go this way pretty much can by just putting in the grunt work.)

As Peter effectively says, once (if) it's available people will then be "missing" features (examples of which he gave), so expect a series of requests for just one more thing to be added...

One advantage of this is that you'd keep Linux (a small Raspbian-alike) so things like networking can easily be added/kept (but slower boot, you don't get anything for nothing).

A bare metal approach is a HUGE task and needs serious programming in C / asm I suspect and I can't imagine anyone ever doing it.

It may be worth mentioning that you can boot Linux very quickly.  It's all that other stuff that takes much much longer, but then normally it's stuff you want.

John
Edited 2020-05-06 22:51 by JohnS
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 719
Posted: 02:23pm 06 May 2020
Copy link to clipboard 
Print this post

Is there an instruction for making an image ( using Raspbian Lite )
that boots into MMBasic ?
my site
 
     Page 1 of 2    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025