Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 13:06 17 May 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 : Not a Maximite but...

     Page 2 of 2    
Author Message
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 706
Posted: 04:54pm 05 Nov 2020
Copy link to clipboard 
Print this post

Would someone please elaborate on the " binary-blob " ?
Is there another term ?
my site
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1421
Posted: 05:49pm 05 Nov 2020
Copy link to clipboard 
Print this post

Well it is a pre-compiled bit of code that is all binary with an API to interface to it. Like a Windows DLL.
Micromites and Maximites! - Beginning Maximite
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5768
Posted: 07:49pm 05 Nov 2020
Copy link to clipboard 
Print this post

The "blob" is provided by Broadcom and talks to their chip directly. It's not safe to make those calls yourself (even if you can find out what they do) because they will almost certainly change with different revisions of the chip and with different applications of the same chip. Everything goes via the API. "Binary blob" is a common description - you don't know or care what it does as long as it does it.  :)
Edited 2020-11-06 05:51 by Mixtel90
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 08:09pm 05 Nov 2020
Copy link to clipboard 
Print this post

BLOB = Binary Large OBject

Binary blob = the 1st binary is redundant.

No-one seems to want to put in the estimated hundreds of hours to make a bare metal MMBasic for the RPi.  The clue may be the hundreds of hours.

John
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 706
Posted: 08:19pm 05 Nov 2020
Copy link to clipboard 
Print this post

Raspbian is the ' API ' ?
my site
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 08:46pm 05 Nov 2020
Copy link to clipboard 
Print this post

For picromite, yes, for bare metal, no.

John
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 706
Posted: 08:54pm 05 Nov 2020
Copy link to clipboard 
Print this post

For ' bare metal ' ?
my site
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 09:31pm 05 Nov 2020
Copy link to clipboard 
Print this post

https://www.techopedia.com/definition/2153/bare-metal
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5768
Posted: 08:37am 06 Nov 2020
Copy link to clipboard 
Print this post

The custom drivers in the Raspbian kernel talk to the API of the Broadcom blob. It's a bit like the old PC system, where Command.com (the kernel) talks to the BIOS (the drivers for the low level PC hardware).

You can't talk to the Broadcom chip itself. The blob defines how the chip works so your only access is via the blob's API. That's as close as you can get to true "bare metal" running on the Broadcom. It's not like a Z80 or 6502, or even a microcontroller, where how they work is defined by the hardware of the device itself.

It's much harder work to program via the blob's API as you have to start by writing all the drivers that you're going to need. You also need to figure out how to drive the GPU chip. Quite a lot of info will be available by taking the Raspbian kernel drivers to pieces - hence the hundreds of hours work. :)

It's far easier to compile to run on Raspbian, even if the end result is less efficient.
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 3585
Posted: 10:34am 06 Nov 2020
Copy link to clipboard 
Print this post

And matherp did that...

To come to the conclusion that Raspbian changes at a faster pace than he can keep up with. And he is FAST !!!
PicomiteVGA PETSCII ROBOTS
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 11:54am 06 Nov 2020
Copy link to clipboard 
Print this post

it depends upon one's approach.

the linux console includes VT102 emulation (plus a whole lot more) and so, in theory, one could relatively easily port the MX170 version of micromite basic to it with minimal changes necessary. the existing editor would work, one would just need to write a 'flash' read/write routine that loaded/saved from a file.

those bits that were hardware-specific could just be left as dummy-routines to be sorted out later. this would be all the pin-related commands and functions; i believe that interrupts and timer related stuff could work (more-or-less) with the existing timer/counters exposed by linux.


cheers,
rob  :-)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5768
Posted: 01:29pm 06 Nov 2020
Copy link to clipboard 
Print this post

There are libraries such as pigpio and WiringPi that might help with the GPIO handling. WiringPi is written in c (although the source isn't normally available) so interfacing to that might be a good approach.

The beauty of running on linux is that libraries are not part of your program, so updates to say, GPIO access, make little or no difference to your program. It's only a library update. You just drive the libraries.
Mick

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

Senior Member

Joined: 08/05/2020
Location: United States
Posts: 296
Posted: 03:41pm 06 Nov 2020
Copy link to clipboard 
Print this post

I see lots of talk about what might be possible, the real question is: does anyone have the skills and time to make anything happen?  Otherwise it's just wishful thinking!
-Carl
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5768
Posted: 07:12pm 06 Nov 2020
Copy link to clipboard 
Print this post

It's early days yet, Carl. It's not as if there are many RPi 400 devices around. :)
It isn't identical to the RPi 4 and isn't like the RPi 3 either so developing for it is still in its infancy.

I think it's nice to get some idea of what *might* be possible and how it *might* be achieved though. IMHO this hasn't been completely wasted.
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 07:21pm 06 Nov 2020
Copy link to clipboard 
Print this post

  Mixtel90 said  There are libraries such as pigpio and WiringPi that might help with the GPIO handling. WiringPi is written in c (although the source isn't normally available) so interfacing to that might be a good approach.

The beauty of running on linux is that libraries are not part of your program, so updates to say, GPIO access, make little or no difference to your program. It's only a library update. You just drive the libraries.

Picromite already uses pigpio.

John
 
markboston36
Regular Member

Joined: 27/10/2020
Location: United States
Posts: 76
Posted: 09:02pm 12 Nov 2020
Copy link to clipboard 
Print this post

there is another very similar computer based on the pi. its called the kano i was a kickstarter backer but pulled out after it went into severe delays.

now im kicking myself for not staying involved its a really cute computer and rp foundation probably modeled the 400 after that.

the one think i don't like about it is it has its own version of raspbian that by default is very kid friendly and is almost impossible for an adult to use.

it took me an hour to figure out how to get into a normal desktop when i tried it out. still for the audience they are looking for its a great thing.

https://kano.me/

they have added a lot since they first starter it would be a really fantastic way for a kid to get into coding. but i really wish they added an adult mode.
 
     Page 2 of 2    
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024