- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1815 lines
66 KiB
Plaintext
1815 lines
66 KiB
Plaintext
Episode: 3100
|
|
Title: HPR3100: For your consideration - Makers Corner
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3100/hpr3100.mp3
|
|
Transcribed: 2025-10-24 16:49:01
|
|
|
|
---
|
|
|
|
This is Hacker Public Radio Episode 3100 for Friday 19 June 2020.
|
|
Today's show is entitled For Your Consideration, Makers Corner
|
|
and is part of the series podcast recommendations. It is hosted by Ken Farlin
|
|
and is about 76 minutes long and carries a clean flag. The summary is,
|
|
Makers Corner is a tech-oriented DIY podcast
|
|
from the other side podcast network.
|
|
This episode of HPR is brought to you by archive.org.
|
|
Support universal access to all knowledge
|
|
by heading over to archive.org forward slash donate.
|
|
Music
|
|
Hi everybody, this is Ken bringing you a recommendation for a new podcast.
|
|
If you're into making or hardware hacking and integration with Raspberry Pi's,
|
|
Adrenal, soldering, that sort of thing, then Makers Corner with Nate and Yannick
|
|
is a podcast for you. It's a tech-oriented DIY podcast
|
|
from the other side podcast network. They've released a few shows already.
|
|
I must say that I was very slow to subscribe to this one
|
|
but I rapidly called up and it is an excellent podcast
|
|
and I'm glad to bring it to you today especially
|
|
as they are having an interview with John and Phil
|
|
about the 32-built project also features some headphones stuff.
|
|
So this is not a typical episode that they do
|
|
but I thought that it would be an ideal opportunity to expose this interview
|
|
because it's very interesting to the HPR audience.
|
|
So their website is Makers Corner.tech
|
|
and sit back and relax and enjoy the rest of the show.
|
|
This podcast is part of the other side podcast network.
|
|
Music
|
|
Hello and welcome to Makers Corner episode 4.
|
|
My name is Yannick. I'm the French guy from Switzerland
|
|
and joining me for this episode, as always,
|
|
my front anchor host, Nate. Hello Nate, how are you?
|
|
Great, how are you doing?
|
|
Well, snow is back but the delight is back too.
|
|
So all in all, I'm a little better than I was a few weeks back
|
|
when I was driving to work in the dark.
|
|
So the mood is better and we have a fantastic show tonight.
|
|
So it's harder to fall asleep when you're driving if it's light out.
|
|
Yes, yes.
|
|
Which is something that almost happened during every morning of the winter.
|
|
The winter drives are something else.
|
|
On tonight's show, we have that interview with John and Phil
|
|
that we talked about on our last episode that couldn't happen
|
|
before, what was it, last Thursday, I think we recorded that.
|
|
So we are on March the 3rd today.
|
|
So we recorded that, I think the 29th February, I guess.
|
|
So we're going to feature this interview in this episode.
|
|
Also, we're going to talk with you Nate about what you've been up to this fortnight
|
|
and then we will close the episode with the Thingiverse thing of the episode.
|
|
So Nate, what have you been up to this past two weeks?
|
|
I've been learning electronics with my oldest boy.
|
|
He's almost nine and he's taking this electronics engineering class
|
|
and it's been a lot of fun kind of relearning some things that I've forgotten
|
|
and then working with him and teaching him how to properly do circuits.
|
|
We've got some breadboards and it's a plan.
|
|
Amy.co is the website that is kind of through, but it's part of his schooling.
|
|
So this last time, we're from just having very simple circuits with switches
|
|
and LEDs to now we're doing stuff with transistors now.
|
|
And I got to explain to him this little PNP and NPN transistors.
|
|
Sometimes they're hard for me to grasp at times like when they pull down
|
|
or how to pull them down or anyway, but it's funny to think about how many millions
|
|
or maybe billions of those transistors are in a phone or a computer.
|
|
It's amazing to think about how far things have gone.
|
|
When you look and you just pause and you think about the vacuum tube
|
|
was the precursor to the transistor and how big that is.
|
|
And then the transistor got a lot smaller.
|
|
They started packing these things tighter and tighter and tighter.
|
|
And now we have, I mean, now they're so extremely tiny.
|
|
And I know it's, it makes me really appreciate all the technology we have today
|
|
and how awesome, you know, pick your poison raspberry pie
|
|
or do we know or blip 32.
|
|
What amazing technology we have today that we can play with.
|
|
And I don't know, I'm going to mumble, I'm going to ramble here on.
|
|
But it's just, it's amazing to see all that we can, that we have now,
|
|
compared to what it was just, you know, 20 years, 20, 30 years ago.
|
|
And there's just a lot more appreciation that I can, I can re-garner
|
|
just from doing this electronics class with, you know, with my eight-year-old.
|
|
Did you, did you yourself learn something with this electronic, electronic course?
|
|
A little bit, yes.
|
|
I mean, these are things I already kind of know.
|
|
But it's nice to have kind of the reformalization of the education
|
|
because I'm pretty much self-taught on most of it.
|
|
And I did take electronics class in high school.
|
|
You know, that was, let's see, the 1990s was five years ago, right?
|
|
Yeah.
|
|
Yes.
|
|
Five years ago.
|
|
And those, those classes there, and I built circuits and I fixed things and whatnot.
|
|
So I understand the concepts and I have the multimeters and whatnot.
|
|
I don't have an oscilloscope yet.
|
|
But that is, that's something that every mad scientist really needs to have.
|
|
Exactly.
|
|
That's something I've put in my wish list for last Christmas.
|
|
But...
|
|
Santa didn't bring it.
|
|
Yeah, no.
|
|
Well, maybe you weren't good enough.
|
|
Maybe, maybe I just didn't buy myself one.
|
|
It must be fun to be able to follow along with your kid.
|
|
So I guess he's learning from school, so you're learning things.
|
|
But probably you're teaching him also stuff and that must be very...
|
|
It is.
|
|
Very nice for you.
|
|
You know, teaching things like, you know, circuits and parallel and circuits and series and whatnot.
|
|
There's a lot of little basics.
|
|
Yeah.
|
|
And he enjoys it.
|
|
It's fun for him.
|
|
He's excited to do it.
|
|
You know, once we get through this next round of projects, then we're going to take a part
|
|
his broken tablet and see if we can actually get that thing working again.
|
|
Cool.
|
|
Yeah.
|
|
But at the end of the day, you know, those parallel and series, circuit, circuits and homeslow,
|
|
it's basically all you need to do some electronics stuff.
|
|
Pretty much.
|
|
Yeah, because I mean, I'm not going to be tearing into any chips.
|
|
You know, but if you can understand the things around the chips, you know, the all the
|
|
disasters and capacitors and everything else, then that's kind of the...
|
|
And that's all the foundational stuff to be able to, you know, fix stuff yourself.
|
|
Yeah.
|
|
Once you know how to do a RC circuit or when you don't know how to do a voltage divider,
|
|
you're pretty much...
|
|
You have all the basics you need.
|
|
The world is opening.
|
|
Yes.
|
|
On my side of the Atlantic, I was busy this week playing with the 42 Blit.
|
|
I reflashed the firmware because I think it was last month since I did that.
|
|
And a lot have changed, as you will hear in the interview in this last month.
|
|
So I did that.
|
|
I had a look at the code.
|
|
I joined the Discord server.
|
|
I met a wonderful community there.
|
|
I also submitted a couple of full requests.
|
|
Nothing fancy, just fixing a problem with the sample and fixing some displays
|
|
that were not exactly as they should be.
|
|
Just, you know, to kind of dig my toes into the water just to see how this thing is working.
|
|
And now I'm exploring the APIs.
|
|
And this thing is really amazing.
|
|
It's an awesome device.
|
|
But I will let Phil and John from Pymore tell you all about that in the interview.
|
|
So I guess we're going to go to the interview now.
|
|
And then we will come back to close this episode with the thingyverse thing of the episode.
|
|
So I'm joined tonight with by John and Phil.
|
|
Good evening, guys.
|
|
How are you, Nick?
|
|
So you guys work for Pymore and we are going to talk about the project that I like.
|
|
Well, I like all of your project.
|
|
But the one that I'm really into right now and I have I have it there going to show it on the camera.
|
|
Yay.
|
|
That's the beta version.
|
|
Or is it?
|
|
Yeah, beta or the access.
|
|
I don't know how you call that.
|
|
It's beta.
|
|
It's beta.
|
|
A beta unit of the 32-bit platform.
|
|
We talked about that on the podcast two weeks ago, two episodes ago.
|
|
So why don't we start by a small introduction?
|
|
So guys, if you want to introduce yourself, maybe join if you want to start.
|
|
Yeah, sure thing.
|
|
I'm John Williamson and I'm one of the co-founders of Pymore any.
|
|
So I started the business with Paul Beach in 2012.
|
|
And since then is kind of grown into an uncontrollable beast that makes lots of PCBs.
|
|
And 32-bit is kind of our latest most ambitious project.
|
|
And I'm Phil Howard and I sort of joined, what was it, seven years ago now?
|
|
Quite a while, as employee number 11 or something like that.
|
|
And I am software lead writing Python drivers for basically all of the products we release
|
|
and kind of keeping on top of that game and keeping stuff released.
|
|
And taking a break to work on 32-bit has been really quite interesting.
|
|
All right.
|
|
Yeah.
|
|
So 32-bit.
|
|
That's the subject of this, of this, I was going to say interview.
|
|
But let's call it chat because I'm curious about that.
|
|
So how would you describe the 32-bit?
|
|
Is that a device, that a platform, how would you describe that?
|
|
So I think the way that I would describe it, it was kind of my concept originally,
|
|
is that it's the piece of hardware I wish I had back in the kind of early 90s
|
|
that I could have developed games for.
|
|
Because obviously everything was very different.
|
|
The technology was a lot harder to get into.
|
|
The cost of things like devboards was massively higher.
|
|
As a hobbyist, you have no hope of even touching this kind of stuff.
|
|
And we're really fortunate that today you can grab a powerful MCU off the shelf.
|
|
You can stick it on a PCB that can be made for a reasonable price.
|
|
There's such a wealth of features, sensors, devices out there that we can play with.
|
|
We can integrate and kind of produce a product like this.
|
|
So for me personally, it was, I wanted a standard platform, hardware platform,
|
|
for developing kind of retro inspired games.
|
|
Cool, yeah.
|
|
So it's the hardware, but you also work, you're also working on the firmware.
|
|
The firmware, sorry.
|
|
So that's been released.
|
|
It's open source, right?
|
|
The firmware.
|
|
Everything.
|
|
Yes.
|
|
Hardware, firmware.
|
|
Tools, content, everything.
|
|
Open source.
|
|
Was the open source thing?
|
|
Was that like from the beginning you were going to open source everything?
|
|
Was that like, okay, we need, we need help.
|
|
We can do that alone.
|
|
So let's open source of that and have people help us.
|
|
It was all open source from the very start.
|
|
It was actually part of the pitch.
|
|
We launched the product on Kickstarter because it's quite a nice marketing platform
|
|
for presenting something that's new.
|
|
Like we've done Kickstarter before.
|
|
We obviously run our own shop.
|
|
We produce a lot of products.
|
|
Most of them we don't go near Kickstarter because it's just not necessary.
|
|
But for this we kind of wanted a focal point for launching the product.
|
|
And the Kickstarter campaign seemed like a good choice.
|
|
And you'll see in the Kickstarter campaigns kind of a description about what 32-blit isn't.
|
|
And that is, it's not your classic handheld console.
|
|
It has no DRM.
|
|
It's all open source.
|
|
It's not region locked.
|
|
It's designed to be hacked.
|
|
It's the anti handheld console if you like.
|
|
Because everything about it is not how traditionally this stuff is done.
|
|
And we appreciate that the other products out there that also hit those goals.
|
|
Like we're not the only ones.
|
|
There's things like the Arduboy, Game Doeno.
|
|
I think Adafruit have got a couple of things around that kind of space as well.
|
|
But I think from my point of view what I felt they were missing
|
|
is they just didn't have the power to do the things I wanted to do.
|
|
Yeah, I wanted to play with like 3D engines.
|
|
I want to mess around with fixed point math to do crazy effects.
|
|
I want to do alpha blending.
|
|
I want to render everything in 24-bit color.
|
|
It's not, I don't want to move black and white pixels around the tiny OLED.
|
|
I want something more than that.
|
|
And that's what 32-blit is.
|
|
I think the power 32-blit exceeded our expectations somewhat as well.
|
|
Which it's been interesting.
|
|
Yeah, when I read the description on the website or on Kickstarter.
|
|
There's a lot of awesome hardware on the 32-blit.
|
|
So, you know, one of you go over what kind of device where cheap is there,
|
|
what kind of sensor.
|
|
So, well, I'll talk about the chip and the display maybe
|
|
and then Phil could take on from there.
|
|
Indeed.
|
|
I think the thing that made 32-blit possible
|
|
as in made it into something that could achieve all those things
|
|
that I mentioned before that I really wanted out of it
|
|
was this particular chip coming out from STM.
|
|
So, it wasn't like we had a plethora of choice.
|
|
It was this particular chip coming out that suddenly
|
|
sparked the idea that this kind of product could be possible.
|
|
You know, it's fast.
|
|
It runs at 480 megahertz.
|
|
That's fast for an MCU, right?
|
|
You can shift a lot of instructions at that kind of speed.
|
|
It has a megabyte of RAM on board,
|
|
which again is pretty rare in this kind of space.
|
|
The flash is tiny, you know, 128K compared to the rest of the specs,
|
|
but that tends to be the case within an MCU package anyway.
|
|
Flash is very expensive to manufacture in that technology.
|
|
So, we put an external flash on to kind of support it.
|
|
But, you know, it's also got hardware floating-point units.
|
|
It has incredible instruction and data caches.
|
|
So, like, even when you write bad code, it kind of runs fast.
|
|
It's a very nice piece of hardware.
|
|
I've written plenty of bad code to prove this, of course.
|
|
And because of the choices they made in the other thing
|
|
is it's part of their value range.
|
|
So, the actual chip isn't incredibly expensive.
|
|
Like, you know, I can't remember exactly,
|
|
but you're talking around $5, which for all that power is pretty incredible.
|
|
And then on top of that, because it's an ST part, you know,
|
|
it's got a huge number of great peripherals.
|
|
So, things like the DPI interface for the video,
|
|
which is what we use to drive the LCD.
|
|
That means that we can have that kind of rock-solid V-sync 60...
|
|
Well, I think we were in a 50 FPS display in 24-bit color,
|
|
which you're just not going to get out of an SPI-connected display, right?
|
|
And things like that DPI interface,
|
|
it's entirely hardware accelerated.
|
|
You know, we write to a frame buffer in memory.
|
|
We tell the, what's called the LTDC peripheral,
|
|
where that frame buffer is, and it handles the rest, right?
|
|
It tells us a V-sync is going to happen so that we can get out of the way
|
|
and let it do its thing.
|
|
But all of this kind of happens in the background.
|
|
This part is amazing.
|
|
It's just a really great chip.
|
|
It's got a huge number of features.
|
|
It's cost-effective.
|
|
And, literally, everything that third-stube that does is done in that chip.
|
|
And, you know, we've got audio running in the background.
|
|
We've got kind of the image flipping happening.
|
|
You've got the engine itself running, timers, tweens.
|
|
You've got all these different processes going around in the background.
|
|
But still, the user's code has like 90% of the chip's performance available to it.
|
|
It's a really nice part.
|
|
I could carry on talking about it almost indefinitely,
|
|
so I'm going to stop there.
|
|
There are so many features we're not even using as well.
|
|
For people following along at home, it's the STM32H750.
|
|
And, because we're using a not-ball grid array part,
|
|
we have to pick and choose what features we can actually wire into it.
|
|
They become kind of mutually exclusive in a way.
|
|
You get kind of out of pin errors quite regularly.
|
|
As you try to, you know, the DPI interface alone uses something like 18 pins.
|
|
It's a pin monster, yeah.
|
|
There'll be a few more than that, about 20 pins.
|
|
And, Phil mentioned a good point.
|
|
The other thing is that this chip's available as a TQFP package.
|
|
So, you could literally hand solder one of these at home.
|
|
We use a machine for it, obviously.
|
|
But, it's not a completely inaccessible format for people to experiment with.
|
|
Which is cool.
|
|
You can get a oscilloscope probe on it as well,
|
|
which is a proof to be very handy in the debugging process.
|
|
And then the only other bit of hardware that I was going to talk about was the screen.
|
|
We are super nerdy about screen.
|
|
It's like, I will not buy a device that has a poor screen on it.
|
|
So, you know, we've gone for a really nice three and a half inches.
|
|
It's a good size screen for the handheld console, you know.
|
|
I think it's a nice balance for the size of the device,
|
|
versus the amount of it that's screen area.
|
|
Because you want a lot of screen as much as you can fit, really.
|
|
And also, it's an IPS display, so the viewing angles are excellent.
|
|
And, yeah, those two in combination, I guess, are the heart of 32-blit.
|
|
Then you get onto things like the controls and the rest of it that Phil can talk about.
|
|
And so, when worrying up the controls,
|
|
we went for the standard four-face buttons,
|
|
D-pad, plus an analog stick, start and select,
|
|
which is kind of your basic classic console control layout.
|
|
We actually had enough spare eye opins that had no other real use,
|
|
that we could root a couple of them to the left and the right,
|
|
and call them hack headers,
|
|
so that people who want to add either left and right buttons,
|
|
some sort of analog triggers or whatever they could,
|
|
whatever they might want, can add them to the side of the console
|
|
or use those for hacks and mods.
|
|
We've got more eye-op rooted to the top of the device
|
|
for the programming header, for resetting it externally,
|
|
for connecting stuff to the internal iSquatsy bus.
|
|
So, if you want to throw away all of the code we've written for it
|
|
and build something completely different in faces with peripherals,
|
|
then you're quite within your remit to do that.
|
|
It gives you the flexibility.
|
|
And then to back that up, we've got a little vibration motor
|
|
connected to a PWM, so you can get force feedback in games,
|
|
which is quite nice, quite cool on a little handheld as well.
|
|
It's the amp, rather, which is connected to the audio output
|
|
also on a PWM, then we've got the...
|
|
It's actually on a DAC output.
|
|
Oh, a proper DAC output, yeah.
|
|
It is effectively a PWM.
|
|
Same difference.
|
|
And then we've got the tilt sensor, I can't remember the part number,
|
|
but that gives us kind of tilt steering control.
|
|
And John put together a really nice kind of sand demo
|
|
where you can turn the blit around and sand particles
|
|
or slide from one side to another and skitter over each other
|
|
and just really satisfying.
|
|
So, we've kind of gone all out with...
|
|
I suppose you call it a relatively modern remit of input
|
|
and output features, but in a classic console kind of style.
|
|
So you can imagine you're taking stuff from the mega drive
|
|
and the SNES era and you're updating that to have force feedback
|
|
and tilt controls and all sorts of other new modern conveniences.
|
|
It gives you a little bit more ability, I guess.
|
|
And then you can go around...
|
|
That's a really important point.
|
|
And back in the early 90s, we didn't have men's sensors.
|
|
Or, I'm pretty sure we didn't,
|
|
but if we did, they probably cost thousands of pounds
|
|
and the size of a trunk, you know, a fridge or something.
|
|
It's only the fact that technologies moved on so much
|
|
that these kind of features can be added so cheaply to a product,
|
|
which means we can kind of go for that retro feel
|
|
and kind of pitch towards retro gaming,
|
|
but augment it with those kind of modern extras like the accelerometers,
|
|
the vibration sensors, things like that.
|
|
Yeah, yeah.
|
|
Nate, my co-host on the show, said a few few shows ago
|
|
that right now it's a very good time to be a geek
|
|
because we have access to lots of stuff for...
|
|
Yeah, what, as you said, about, I don't know,
|
|
the 10th of the price that it was a few years ago.
|
|
So, yeah, when you talk about the 32 bleeds,
|
|
it sounds like a really great device
|
|
and I can attest to that because I have one here
|
|
and I have tested many of the examples.
|
|
I'm starting to try and understand how to write my own programs
|
|
for that, but we'll slow down on changing it.
|
|
Yeah, this beta phase is volatile.
|
|
So, we say that the API, the build tool chain,
|
|
everything changes pretty much week by week,
|
|
but we're trying to kind of hone in on the right experience for everybody
|
|
so that when it comes out of beta,
|
|
we can say, we're more stable now.
|
|
We're not super stable, but it's not going to change tomorrow, right?
|
|
You can have a bit of fun for a while.
|
|
You see, I guess.
|
|
I didn't know that this was hackable, as you said,
|
|
as with the I-square scene.
|
|
And the beta and so.
|
|
It seems to me that it's a game console,
|
|
but it could actually be anything.
|
|
Could be maybe scientific tools,
|
|
but to control stuff in a home automation system
|
|
or enhance the games that would run
|
|
on the device using, I don't know, controlling LEDs,
|
|
external LEDs or things like that.
|
|
It definitely could be.
|
|
I think we've learned in the past to not try and be
|
|
everything to everybody, especially when we're kind of
|
|
scoping out new products.
|
|
And you'll get a bunch of people around in the company,
|
|
maybe four or five throwing ideas off each other.
|
|
It's almost as important what you choose
|
|
and not to include as what you choose to include,
|
|
because you can end up with, I don't know if you know the reference,
|
|
but Homer's car or whatever it is.
|
|
There's the Simpsons where he designs a car right
|
|
and ends up with like 12 different horns.
|
|
And it's just ridiculous.
|
|
It just adds everything he fancies at the time.
|
|
And with product design of the type we do,
|
|
it really is a balancing act between, you know,
|
|
it's not just about price or difficulty to assemble it,
|
|
or whether the parts are available,
|
|
or you know, what quality of part you pick,
|
|
do you pick this one because it's 16-bit,
|
|
or this one because it's 12-bit, or whatever.
|
|
A lot of it's about not making the experience confusing
|
|
for the user, because anyone can throw every feature
|
|
onto a board to charge 200 pounds as they're done.
|
|
But actually, I think the more important thing is saying,
|
|
these are the valuable features that can work together
|
|
to actually produce experience.
|
|
So while you can do a lot more with 32-bit,
|
|
we're very, you know, we have been very opinionated
|
|
about what we've actually presented
|
|
as the final package.
|
|
It's not an API feature effectively.
|
|
No, we're not trying to make it easy for people
|
|
to use it for home automation control,
|
|
or for this or for that.
|
|
We're definitely all about the game development.
|
|
That said, if you can set up a tool chain
|
|
and get code running on the device,
|
|
or ignore all our stuff and do what you like,
|
|
it opens us the end of the day.
|
|
Yeah, so what's the target audience
|
|
for 32-bit is that developers
|
|
and nostalgic developers of a certain age,
|
|
like between 30 and 50, something like that.
|
|
Right, which is basically exactly me.
|
|
Me too.
|
|
Yeah, this is definitely,
|
|
this is a passion project
|
|
as in something we wanted to have,
|
|
not necessarily, you know, obviously,
|
|
we wanted to share it with other people
|
|
and get people involved in it,
|
|
and sell units because we're a business at the end of the day,
|
|
but we definitely built this one for us.
|
|
And I think,
|
|
I don't think it's the wrong choice
|
|
because I'm pretty sure there are enough software developers
|
|
out there of a certain age
|
|
who belong for the kind of retro gaming
|
|
from the early 90s, you know.
|
|
We've had such great kind of return
|
|
from the beta backers already that it just kind of shows
|
|
someone on the right track.
|
|
Oh, that's been incredible, isn't it?
|
|
Yeah.
|
|
You said you had feedback from the backers.
|
|
The campaign on Kickstarter was funded in eight hours,
|
|
so you already had an indication
|
|
that it was something that
|
|
would please your audience.
|
|
That kind of thing's interesting
|
|
because, you know,
|
|
we're not a huge company,
|
|
but we do have quite a large audience already.
|
|
You know, we've shipped
|
|
something like 400,000 parcels worldwide since we started.
|
|
So our customer base is quite big.
|
|
Our mailing list is quite generous.
|
|
So when we do something like Kickstarter,
|
|
as long as we're not silly about it,
|
|
we can hit those kind of targets relatively easily
|
|
because we've got quite a wide audience
|
|
to kind of transmit the message to you on day one
|
|
and say, hey, check out this thing.
|
|
And, you know, we're really fortunate that we have customers
|
|
who are genuine fans of what we do.
|
|
You know, let's come back time and time again.
|
|
They'll try new things that we do.
|
|
Not everything we do is perfect.
|
|
And sometimes, you know, that's what it is.
|
|
And we try to deal with those situations,
|
|
as best we can.
|
|
Yeah, not to our own horn too much,
|
|
but we've worked hard to earn that reputation
|
|
with customers whereby when we do a new thing,
|
|
they'll trust us, they'll be on board straight away.
|
|
And they'll be enthusiastic about it,
|
|
which is really exciting and really nice place to be in, really.
|
|
Yeah, yeah.
|
|
Really encouraging.
|
|
Let's come back to the platform.
|
|
What are, or will be the ways to develop games for the 30-bit?
|
|
We will have a lure,
|
|
which will be the kind of entry point for people
|
|
who don't want to get too involved with C,
|
|
who want to be able to get up and running fast
|
|
and want to basically just write code
|
|
through the device and see results quickly,
|
|
without having to have the entire tool chain
|
|
and all the libraries and editors and stuff
|
|
necessarily installed on the computer.
|
|
And then we have C++,
|
|
which is the one step on from there,
|
|
or if you've already got some development experience,
|
|
that's where you go into make games
|
|
that are really fast, perform,
|
|
or to port doom,
|
|
or to just do crazy things.
|
|
And they're both fun, right?
|
|
I think lure is definitely more focused
|
|
at the...
|
|
Yeah, it's more focused at beginners,
|
|
but actually, personally, I think
|
|
something is what I want to achieve.
|
|
I could achieve in it.
|
|
It's a damsel I could and getting into it, you know,
|
|
developing something in C++.
|
|
And, you know, I'm not going to have to worry about hard-faulting
|
|
or messing up my memory allocation or anything like that.
|
|
You know, it's...
|
|
We've had it running on device before.
|
|
We have to kind of cut it out of the build
|
|
because the APIs were changing so fast
|
|
that we couldn't keep the lure bindings up to date
|
|
or time scale.
|
|
So we pull it all out while we let things stabilize
|
|
so we can bring it back in towards the end.
|
|
But actually, when we had lure running on the device,
|
|
the performance is still astonishing.
|
|
You know, it's a fast chip
|
|
and the instruction caches
|
|
and the data caches are really...
|
|
really make a big difference to that.
|
|
And coding, you know,
|
|
I had an example doing, like,
|
|
real-time soft shadows that were written in the lure.
|
|
It's not...
|
|
You can still achieve great things,
|
|
not like it compromise.
|
|
It's definitely one of those cases where, as soon as
|
|
you've reached that level of competence
|
|
that you're writing again, it's too complex for lure.
|
|
You're probably ready to move on to see anyway.
|
|
And I kind of get that.
|
|
It's still a fair hunt, but...
|
|
You can definitely do more.
|
|
You can definitely do more and do it more quickly
|
|
if you write in C++.
|
|
Obviously, I mean, that's the nature of the beast.
|
|
But what we're trying to do with the API
|
|
is give you a really great set of tools
|
|
that mean all of those kind of really hot loops
|
|
aren't in your code base.
|
|
They're in our code base.
|
|
So things like, you know, rendering
|
|
blitting screen or doing stretch blitz
|
|
or processing large amounts of data
|
|
like doing the audio.
|
|
No, seven, I think, is a good example.
|
|
That kind of thing, what we're trying...
|
|
what we're trying to do is hide that all behind
|
|
kind of a couple of simple API calls.
|
|
In C++, you know, it's a few functional overheads.
|
|
It doesn't really matter.
|
|
Yeah.
|
|
Any plans for Python?
|
|
I know there are, because we don't have that just today.
|
|
Probably not from us, at least initially.
|
|
We promised lure in C++, so we're going to completely focus on that.
|
|
I would be...
|
|
Well, I would be astonished if someone doesn't get
|
|
a microphone running on it
|
|
in relatively short time,
|
|
because there are people who specialize in this.
|
|
You know, they just literally just grab it.
|
|
They'll have it done in half a day, probably.
|
|
But we've never ported my microphone to a new device.
|
|
It's not part of our ecosystem.
|
|
So it will be...
|
|
it will be an undertaking for us to start it now.
|
|
We just need to focus on the core experience.
|
|
Okay.
|
|
Now, I'm a developer.
|
|
So I know how to write C++,
|
|
and I know how to place a sprite somewhere
|
|
and detect a collision with a wall.
|
|
But what I am not is a graphics designer or a some designer.
|
|
So how would I actually program a game
|
|
if I don't have any talent in those fields?
|
|
You don't have to have talent to produce something, right?
|
|
I mean, I have no artistic talent at all,
|
|
but I can at least...
|
|
I still have fun with things like the demos and stuff,
|
|
like doing the tilt demo and various effects.
|
|
That's kind of what tickles me.
|
|
But for people who just want to have a go at the coding side,
|
|
we're including a bunch of assets.
|
|
We got this great guy called Sam,
|
|
who came over and actually spent some time with us in the UK.
|
|
He's from Germany.
|
|
He's a pixel artist who does some great stuff on it.
|
|
And we saw his work,
|
|
and we were like,
|
|
we really want to commission some sprite sheets to go with the device.
|
|
So, you know, our users can basically use them as a jumping off point.
|
|
So he's put together, I think it's like eight sprite sheets
|
|
that are 128 sprites per sheet.
|
|
Oh.
|
|
So, 128 by 128 in the size 8 pixels,
|
|
which makes it...
|
|
64 sprites.
|
|
64 sprites.
|
|
Is it 16 by 16?
|
|
Yeah, it is.
|
|
Sorry, yes, it is.
|
|
No, it's filmed.
|
|
Trying to do a very simple mass in my head on...
|
|
It's 256 sprites.
|
|
Basically, you've got like a catalog of over 2000 sprites,
|
|
I think it is, you can use in your own games.
|
|
And they're all completely royalty free.
|
|
Again, we paid him to produce the work completely for us.
|
|
Again, it's open, license free, everything.
|
|
You can do what you want with it.
|
|
We already have someone using the pirate sprites
|
|
to make a very piratical version of Bomberman, I think.
|
|
Yes, that's really sweet.
|
|
But they're quite...
|
|
They're a nice set of sprites because we kind of...
|
|
It was great to get them over, actually,
|
|
because we could go out and have a couple of beers.
|
|
We could kind of talk about what we wanted to achieve.
|
|
And we came up with these four themes
|
|
for kind of classic game style concepts.
|
|
And we've got them to put the sheets together.
|
|
So we've got like a shoot them up.
|
|
We've got an RPG style one.
|
|
We've got a kind of a...
|
|
What do you call that kind of Alien vs.
|
|
Alien breed style top down?
|
|
It is a top down shooter, isn't it?
|
|
Top down shooter, yeah.
|
|
And there's one of that type of shooter as well.
|
|
We've got a platform set.
|
|
So the idea is that it's kind of something for everybody.
|
|
But you can mix and match them if you want to.
|
|
And then there's a few extra sheets that just contain kind of
|
|
dig bats and symbols and things like that that you might want to bring in
|
|
as assets or icons or whatever.
|
|
I think you can get started quite easily.
|
|
The other thing that's nice about being retro style games
|
|
is that while great pixel art is a true skill
|
|
and it takes practice and an eye for the...
|
|
An eye for it.
|
|
Just the restraint of only having an 8x8 pixel square
|
|
I think lets people achieve a lot more than they could with just a
|
|
blank canvas is because they wanted it to be.
|
|
And I've drawn some icons that I'm not totally ashamed of.
|
|
So that's something.
|
|
I was going to say my rainbow ascent game all
|
|
of the graphics are just rectangles.
|
|
There's no sprites in there anything.
|
|
Yeah, it looks great.
|
|
Yeah, that works.
|
|
So I think it's about being created and you did an asteroid's
|
|
cleanse as well, right?
|
|
Oh yeah, that's just...
|
|
Which is entirely vector based, just geometry and nothing else.
|
|
So it's not necessarily about drawing, you know,
|
|
sitting there and churning your way through
|
|
five different sprite sheets to get the perfect look.
|
|
It's about trying something new experiment.
|
|
So you might not need sprites at all.
|
|
Your audio might be entirely algorithmically generated or you might
|
|
get a tracker or you might ask a friend or you might transpose some existing music.
|
|
Or you might just play an MP3 file because apparently that's possible now.
|
|
We've got into one of our big tobaccos.
|
|
I think the only limit is really
|
|
kind of just what you prepared to try.
|
|
It's all about experimentation at the end of the day.
|
|
And we'd hope that people in the community want to remix
|
|
each other's projects as well.
|
|
Because we're making everything open.
|
|
We're hoping that people will want to share their code.
|
|
So someone might put together like a great engine
|
|
for some platformer actions.
|
|
Someone else might pick that up, work on the sprite sheet,
|
|
improve it, pass it back over.
|
|
Someone adds the audio track.
|
|
You know, why not?
|
|
This is possible to work that way.
|
|
No problem.
|
|
I've finished my top notch game.
|
|
The way to distribute that if I wanted to pass the game
|
|
to someone else who has a 32 bleed.
|
|
Is that just one file or zip file?
|
|
Is there a plan for some kind of centralized platform
|
|
for games distribution?
|
|
Or is it just put that on GitHub and get it compiled it and run it?
|
|
Well, Phil knows the ins and outs of this more than I do.
|
|
But I'm kind of architecting the project.
|
|
So I'll tell him what I want it to be.
|
|
Hopefully I'll be like that.
|
|
So the idea is that we'll have like a custom byte.
|
|
Obviously we want people to share code.
|
|
You know, they don't have to. It's up to them.
|
|
You will be able to pass a single binary file to someone.
|
|
And that will contain like a packed header with all the details
|
|
with icon description, the name of the game itself.
|
|
Some of the metadata that kind of travels with it.
|
|
And also includes the executable code.
|
|
And includes all the assets.
|
|
So you can stick on an SD card, plug it into the device,
|
|
or where you go.
|
|
Or you can use our command line tools that are uploaded via USB
|
|
serial. So you can just say, you know,
|
|
32-bit Prague file name or whatever.
|
|
That's how it would work for C++ projects that are actually compiled.
|
|
So everything built into that one package.
|
|
When it comes to Lua projects,
|
|
always, I think at this moment,
|
|
we'd always run our SD card.
|
|
So you'd have a folder that contains your various Lua scripts,
|
|
your various asset files that you want to load off the SD card.
|
|
And yeah, they won't be quite so tidy to pass around.
|
|
Maybe we'll come up with a way of packaging them
|
|
and say is it file or something in the future
|
|
that allows it to be handled on, you know,
|
|
unpackaged on the flyers needed.
|
|
But right now, we're kind of focused on getting it working.
|
|
Yeah, it'll probably be a collection of files in the folder.
|
|
Do you have anything to add to that?
|
|
It's worth noting as a consequence of how we built the system
|
|
to allow you to develop on your desktop computer.
|
|
You can take your 32-bit game
|
|
and you can distribute it on Windows Linux
|
|
and even in browser via EM script and as well.
|
|
So it gives you that opportunity to share the game
|
|
beyond just people using the 32-bit.
|
|
So you're not putting a huge amount of time.
|
|
Perhaps if you're really looking to take games to development seriously,
|
|
you can reach out to a wider market,
|
|
maybe put your game up on each I.O.
|
|
and then people with the bit can download that version
|
|
and everyone else can download the other versions.
|
|
It makes them a little bit more free, I suppose.
|
|
Yeah, that's interesting.
|
|
The fact that I could run the examples
|
|
and my little games that doesn't do much right now
|
|
are on my computer before sending it to the device
|
|
because that takes extra time each time.
|
|
So the cycle of development is shortened
|
|
by being able to run that on my computer.
|
|
I think it's something we could never have stopped people from doing.
|
|
If they wanted to redistribute their games to other platforms,
|
|
they've got the kind, they've got the source,
|
|
they could go for all the effort required to port it,
|
|
just making it possible straight out of the gate.
|
|
Why not?
|
|
Well, the experience is so different.
|
|
I've had times when I'm trying to debug like a slightly gnarly problem in a project
|
|
and it only happens on the device.
|
|
I'm having to transfer it over for every test.
|
|
Oh yeah, this is very true.
|
|
That's no fun.
|
|
It's all right to have to do that now and again,
|
|
but I'd much rather load it up in Visual Studio,
|
|
smash through a dev debug cycle over and over,
|
|
step-by-step debugging.
|
|
99% of the time you can get all the way to something that will run on device
|
|
just like that, perfect.
|
|
Why wouldn't we want that to be something?
|
|
Sure.
|
|
It's always complicated to debug on the device.
|
|
It is, we're adding tools to the API for that.
|
|
So you can expect that to improve over time,
|
|
things like being able to stream via the USB serial.
|
|
You can actually do step-by-step debugging,
|
|
but you need to buy a plugin programmer.
|
|
So it's like a standard ST programmer.
|
|
But we're looking at tools to help you stream
|
|
debug information via USB serial to log files on the SD card.
|
|
There's overlays on the screen.
|
|
But I think the thing,
|
|
not quite related to that,
|
|
but the thing that surprised me more than anything else
|
|
is that when I'm developing on my Windows machine,
|
|
which is a fast machine, right?
|
|
It's stupidly quick.
|
|
When I'm running Visual Studio in debug mode,
|
|
the speed of the compiled code is not that far off
|
|
the same speed as it runs on the device,
|
|
and really smooth.
|
|
I like, that's pure chance.
|
|
But actually, if I'm running something,
|
|
and if I'm going like five milliseconds per frame rendering
|
|
on my desktop,
|
|
if I put it on the device,
|
|
it's going to be roughly the same.
|
|
I mean, obviously, there are edge cases
|
|
where if I do something that's completely pathological
|
|
and happens to run really fast on my 7,
|
|
but it's awful on the ARM architecture,
|
|
then I'm not going to get that experience.
|
|
But it still surprises me to this day
|
|
that I can hack away on my Windows machine.
|
|
I'm like, come up with something ridiculous.
|
|
I was doing some stuff with 3D rendering,
|
|
and I wasn't being careful about it.
|
|
I was trying floating point numbers all over the place
|
|
to just get something on screen.
|
|
You're running on the device, and it's actually okay.
|
|
You're thinking, wow, there's so much potential
|
|
to do more with this.
|
|
If you really spend the time on it,
|
|
it's nice.
|
|
I was amazed that the speed of
|
|
the different demos and examples,
|
|
even the 3D rendering is just,
|
|
it's so fast.
|
|
It's viable, right?
|
|
And that's what matters.
|
|
We're not even that skilled at it.
|
|
I'm a part-time bedroom 3D code.
|
|
There are people who are way better at this stuff than me.
|
|
And if I can get something up,
|
|
I've been developing for a long time.
|
|
But I don't know anything about optimizing the assembly
|
|
or using things like the SIMD instructions.
|
|
There's so much scope for someone who knows
|
|
what they're doing to come in and just say,
|
|
let's smash this.
|
|
It's twice as fast now.
|
|
What the hell are you playing at?
|
|
That was so easy.
|
|
We had someone with the frame buffer copy
|
|
I think coming on and saying,
|
|
you can use DMA2D for that.
|
|
You just have to do four passes or whatever.
|
|
Which we're going to end up influencing.
|
|
It's great.
|
|
Jumped into the Discord.
|
|
He's like, I noticed you're doing,
|
|
we can do it with DMA2D,
|
|
emailed me the source code.
|
|
Which we haven't integrated it yet,
|
|
but we're totally going to do it this way,
|
|
why wouldn't we?
|
|
And suddenly, he's just fixed that for us.
|
|
That's great.
|
|
It worked before, but now it takes way less time.
|
|
Yeah.
|
|
Talking about this person in China,
|
|
do you have an idea of how many better units have been sent
|
|
and did you send that all over the world?
|
|
We did.
|
|
Definitely ship them all over the world.
|
|
I think it was about 350.
|
|
Is that right, Phil?
|
|
Somewhere in that region.
|
|
Yeah, something like that.
|
|
Because we've got the remaining units still to go out with.
|
|
We're basically waiting for the plastics now.
|
|
The actual case itself.
|
|
But yeah, it was something like 350.
|
|
And I would say
|
|
most of the communication with respect to the beta
|
|
has happened on the Discord.
|
|
Yeah.
|
|
Which is the perfect place to do it really.
|
|
And out of those 350,
|
|
there's maybe kind of 20 really involved contributors.
|
|
Which I think is a pretty good hit rate, actually.
|
|
And a few of those are like way above and beyond,
|
|
who are just incredible.
|
|
Yeah, I'm going to try and pop up more often on Discord.
|
|
But probably to get information more than to provide information.
|
|
The community there is great.
|
|
I mean, when I got on the server,
|
|
I was greeted by almost everyone.
|
|
Everyone is, you got to help.
|
|
So it's really nice, yeah.
|
|
It's a really good atmosphere on there.
|
|
And it's quite funny as well.
|
|
Because as we said earlier on,
|
|
there are certain technical challenges
|
|
that are completely fresh to us.
|
|
We know they're possible.
|
|
It's just a case of kind of slogging through it.
|
|
And I would say,
|
|
there's a couple of people on the Discord
|
|
who will just jump in and have a go with you.
|
|
Like every step of the way they're there
|
|
and we're throwing bits of code backwards and forwards
|
|
and copying links out of the documentation
|
|
and discussing possible ways to deal with it.
|
|
And they're kind of like, you know,
|
|
it definitely makes the experience more fun
|
|
than Phil and I kind of just staring at each other in a room.
|
|
Well, it really is just us too,
|
|
who do anything really relate to it.
|
|
It's like, you know,
|
|
it's like, you know,
|
|
it definitely makes the experience more fun
|
|
than it is just us too,
|
|
who do anything really related to software in Moroni.
|
|
So this is almost like,
|
|
suddenly having a team of people
|
|
bashing away on problems
|
|
and it's really quite rewarding and quite fun.
|
|
Yeah, the borrower of the open source community
|
|
always amazes me.
|
|
It is. And, you know,
|
|
we said it earlier on,
|
|
but it's so important
|
|
to us that this is open source.
|
|
You know, as a company,
|
|
we'd love to sell hardware.
|
|
If it's got legs, then we want people to use it.
|
|
And use it as very, you know,
|
|
in as varied a way as possible.
|
|
Which is why things like
|
|
running it in the browser is just great
|
|
because it means you can just throw an example over to your friend
|
|
and you just send them a link.
|
|
They can have a go at your game.
|
|
Then it just makes the whole thing way more fluid, I think.
|
|
It's much more interesting.
|
|
And it makes having distributed teams
|
|
a lot easier when you can just,
|
|
okay, hold on, I'm going to put that on the brother
|
|
and then refresh the page.
|
|
Okay, I did that. Yeah, that's cool.
|
|
Give me the thing.
|
|
Yeah, it sounds really interesting.
|
|
So,
|
|
how far are we from
|
|
some sort of release,
|
|
maybe a 0.9 version
|
|
that would be
|
|
viable for
|
|
the wide audience?
|
|
It's,
|
|
well,
|
|
so from a purely
|
|
logistical getting that
|
|
the door situation
|
|
all we're waiting on is the plastic.
|
|
So that's the case itself from the,
|
|
you know, you've got a device in your hand now
|
|
and it's, it's kind of constructed from layered PCBs.
|
|
And it actually works incredibly well.
|
|
I think we're quite proud of how well that works.
|
|
And I love it. I love it. I love it.
|
|
It looks cool, right? Yeah, it looks cool.
|
|
But obviously we promised
|
|
with the Kickstarter that it would come in a proper
|
|
and we've spent a lot of time on the shell
|
|
and we tried to make it as nice as we can,
|
|
trying to make it look great
|
|
and just basically work well.
|
|
So, you know, we needed to ship that as part of the pledge.
|
|
Having said that,
|
|
we still got tons to do on the software.
|
|
So, you know, from
|
|
film, my point to you, it's no bad thing
|
|
that we're not quite shipping out the release units yet.
|
|
But, you know, there's going to be a point at which
|
|
our factory in Taiwan says,
|
|
here you go. Here's a load of plastic.
|
|
Go nuts. And I guess we're just,
|
|
you know, it's not
|
|
it's not the best answer,
|
|
but I guess we'll scramble at the time when we fill
|
|
to tidy up as much as we can.
|
|
We're currently mired
|
|
in some really difficult problems, I think,
|
|
is there? What?
|
|
A couple of really difficult things.
|
|
Plus, all of the other stuff.
|
|
Luckily, we've done the lure stuff before.
|
|
So, there's work to do.
|
|
We know how to do it.
|
|
We know what we're doing.
|
|
The specific thing we're working on at the moment is what
|
|
I mentioned to you earlier on before
|
|
Phil came into the call.
|
|
So, there's this idea of getting the
|
|
making proper use of the external flash that we put on the device.
|
|
So, you can have a library of games installed simultaneously.
|
|
Now, worst case,
|
|
it's not actually a
|
|
it's not a stopper, right?
|
|
If we have to skip that, we can still release
|
|
and let people get on with the device,
|
|
fix it later.
|
|
But, we'd like to get that kind of thing sorted before
|
|
putting the release units out there.
|
|
Let's just do one really awesome thing,
|
|
which is to preload all the
|
|
release devices with a whole bunch of software
|
|
and just send them to people and say,
|
|
let's have a bunch of games playing.
|
|
Again, we've got nothing that's kind of
|
|
we've got loads of stuff on the list.
|
|
Like, it's terrifyingly long.
|
|
But there's nothing on there that's an absolute stopper.
|
|
It's just,
|
|
that is that personal pride thing of
|
|
I don't really quite want to let it go
|
|
out of the door without that game sorted out first,
|
|
you know, but there will come a point
|
|
at which we know that those
|
|
release units are going to go out.
|
|
And at that point, we can have to put
|
|
down tools on certain aspects of the system,
|
|
just tidy up that day one experience for people
|
|
and get the, you know,
|
|
what we have, get that ready
|
|
rather than worrying about anything we don't have
|
|
at that stage basically.
|
|
So, it's getting there.
|
|
So, to help you with that, the long list,
|
|
how can people contribute
|
|
to the platform?
|
|
I mean, not, I'm not talking about
|
|
writing games, although that could help
|
|
if you want to provide games
|
|
from on the device.
|
|
But is there something people can help you with
|
|
that's directly linked to, I don't know,
|
|
the firmware or some hardware drivers
|
|
or do you need help in this area?
|
|
I would say that if people have advice
|
|
and they have the skill set
|
|
to kind of make that hardware
|
|
seeing as they already know how to do this stuff,
|
|
if they want to jump on the discord
|
|
and chat about it or, or even if they don't have the hardware,
|
|
actually, if you can read a day cheat,
|
|
you'll kind of understand what's going on.
|
|
If they want to jump on the discord
|
|
and talk to us, then
|
|
we're all ears. Like, the code,
|
|
the code is there, it's on GitHub, people can dive in,
|
|
have a go, bits of it are quite
|
|
painfully messy and still need to be
|
|
kind of worked over, refactored.
|
|
But I think, you know, on the whole,
|
|
we're doing okay. And actually, for people
|
|
who've got the devices, almost one
|
|
of the most useful things they can do is
|
|
build projects, have a go, do their own thing,
|
|
and let us know whether api fall short
|
|
for them, let us know where
|
|
they're finding bugs.
|
|
Find the pain points, find the holes
|
|
in the documentation, etc.
|
|
And yeah, things like documentation.
|
|
So every little helps,
|
|
as they say, at the end of the day,
|
|
we're not looking for one person to ride in on the horse
|
|
and fix everything.
|
|
It's going to take time for us to fix everything.
|
|
So even if someone is not a developer
|
|
or doesn't have the device,
|
|
you talked about the documentation.
|
|
So people can help with the documentation too.
|
|
Do you have some kind of
|
|
special format, some things that, you know,
|
|
they need to be fixed in the documentation
|
|
and that can be contributed too?
|
|
I think probably during this phase of the beta,
|
|
we're not quite ready for that yet.
|
|
But obviously, as we come to that release,
|
|
one of those kind of tasks to get it ready to go out of the door
|
|
is to get the documentation a bit more tidied up.
|
|
And well, we're going to have to get to a point
|
|
where we kind of lock down the functionality
|
|
and say that's that bar breaking bugs,
|
|
basically, and that's what gets documented.
|
|
The problem we've had today is that, obviously,
|
|
documenting is kind of not something that developers
|
|
like doing when there's a big voice code you're going to be done.
|
|
It isn't just that's the case.
|
|
Tell me about it.
|
|
The API, the way that we've worked with the platform,
|
|
change is so fast at the moment,
|
|
but you can't really nail anything down.
|
|
So it's, you know,
|
|
there's going to be a point where we have to.
|
|
And actually, the core 32-blit API,
|
|
I would say, Phil, has been pretty stable for a few weeks now, actually.
|
|
We had a full time,
|
|
for a few weeks now, actually.
|
|
We had a flurry of changes early doors.
|
|
Yeah.
|
|
For a few whole weeks.
|
|
Yeah, but a few weeks is good, right?
|
|
We used to have situations where
|
|
someone would come on to Discord and say,
|
|
hey, haven't been online for two days, my project won't build.
|
|
And then you just have a literally, like,
|
|
a list of all the changes that have been made,
|
|
like you need to rename this to this.
|
|
You need to include this header file in 30.
|
|
They're like, there would be a swathe of changes
|
|
that they had to deal with,
|
|
their projects to fit those changes.
|
|
And they've all been good changes.
|
|
I'm happy with every single one we've made,
|
|
like they're just much more safe.
|
|
It's finally the piece of the puzzle coming into place, I think, for us as well.
|
|
Exactly. But for the last questions,
|
|
the last two weeks, I think it's all been about the firmware.
|
|
And we haven't actually touched the core API.
|
|
So we may be at a stage where we can start thinking about actually
|
|
locking that down, documenting it better.
|
|
But I think another thing that's quite nice is,
|
|
obviously, you can't get away with no documentation,
|
|
as much as I'd love to.
|
|
The API is smaller, like the surface of the API is small enough
|
|
that people pick it up very quickly.
|
|
And I'm really obsessive about APIs being human.
|
|
And not like, yeah, I've written Win32 code.
|
|
I've written stuff in .net.
|
|
And like, we don't...
|
|
Just to do something simple,
|
|
you don't have to create like a do something simple,
|
|
factory-factory controller or whatever.
|
|
It's literally like you write screen.rectangle.
|
|
And that's how it's meant to be.
|
|
That's the point.
|
|
I understand.
|
|
If you want to make it more complicated,
|
|
go ahead and make it more complicated.
|
|
But for us, we're going to just tell you to use the variable
|
|
that's called pen and then call rectangle.
|
|
And like, that will put you a rectangle on screen.
|
|
So, you know, for us, the API,
|
|
because it's pitched at the beginning as well as more advanced people,
|
|
the API is super important.
|
|
It has to be human, it has to be understandable.
|
|
The more advanced developers at the end of the day,
|
|
you can just swap it out.
|
|
They can change it. They can re-implement bits.
|
|
They want to, if they want to do...
|
|
People already have, more or less.
|
|
Well, let's see, if you want to manipulate the frame buffer directly,
|
|
because it's faster,
|
|
whatever, people can do that.
|
|
That's the nice thing. There's no real restrictions.
|
|
So, our API
|
|
has to focus 100% on doing what you expected to do
|
|
when you tell it to do something.
|
|
And to do the
|
|
heavy lifting, because it's also going to become the back end for the Lua API,
|
|
it has to do the heavy lifting,
|
|
where it doesn't make sense to attempt to do that in an interpreted language.
|
|
So, if I want to put a sprite on the screen,
|
|
or say I want to put a 5x5 block of sprites,
|
|
I'm doing like a boss fight, right?
|
|
So, my boss is 5x5 sprites,
|
|
and he jumps around the screen,
|
|
and he rotates, and the alpha blends in and out.
|
|
You do not want to be doing that in Lua, right?
|
|
You want to call screen.sprites,
|
|
pass in the transform matrix,
|
|
pass in the global alpha setting,
|
|
and tell it where the sprite sheet is,
|
|
in that single one call,
|
|
because behind the scenes,
|
|
all of the tight loops,
|
|
all of the hard work is being done by our firmware,
|
|
our API.
|
|
But that's what lets you get away with doing
|
|
kind of big, impressive stuff in Lua,
|
|
and advice like this.
|
|
So, it's critical.
|
|
Well, it's a really interesting platform.
|
|
I'm really looking forward to
|
|
producing something for it,
|
|
and hopefully see the production units pretty soon.
|
|
So, just to come back on that,
|
|
that means that it's not possible anymore
|
|
to get better units now that the Kickstarter is finished.
|
|
Oh, wait, we're torn on this,
|
|
because we kind of love them.
|
|
They turned out so much more nicely,
|
|
I think almost,
|
|
if we don't know they were going to be this good,
|
|
even offered the plastic shell.
|
|
Because there's something about it,
|
|
the aesthetic of it,
|
|
it feels quite nice in the hands.
|
|
It feels good, the weights good,
|
|
the controls are surprisingly good,
|
|
considering it's,
|
|
you've got limited granularity
|
|
when it comes to PCB layering.
|
|
So, yeah, everything about it,
|
|
I probably prefer it to the vinyl.
|
|
I don't know, maybe I prefer it to the vinyl unit.
|
|
We'll see when they come through.
|
|
I think the difficulty that we have is,
|
|
when it comes to pricing,
|
|
is that customers look at something
|
|
and they look at something else
|
|
and they will make a comparison.
|
|
And the hard truth is that the BT units
|
|
cost us as much to make.
|
|
Because, in fact, they may be slightly more expensive
|
|
than the retail units.
|
|
Because plastics,
|
|
while the molds are expensive,
|
|
once you've paid for the mold,
|
|
the per-piece costs are very, very low.
|
|
Whereas those PCBs
|
|
and having someone like to screw them all together
|
|
is quite expensive, right?
|
|
Especially when you do it in Sheffield,
|
|
rather than in Shenzhen.
|
|
So, I think
|
|
there might be scope for it to be available.
|
|
But the other problem is,
|
|
because it's not fully contained,
|
|
we weren't comfortable putting a battery in there by default.
|
|
There's all sorts of little compromises.
|
|
It's a better unit, so we knew
|
|
where we were getting
|
|
when we ordered that and we kicked that around.
|
|
We made that super clear, right?
|
|
That was really important
|
|
that we told you exactly what was going on.
|
|
I think a few people were disappointed
|
|
it wasn't more beta.
|
|
Yeah, people complaining saying,
|
|
can you just send me a bag of parts?
|
|
I'll deal with this.
|
|
I know I'm going to keep this one.
|
|
I mean, as long as
|
|
it will live,
|
|
and there's no reason to think
|
|
it won't live as long as any other.
|
|
But yeah, I'm going to keep that.
|
|
Yeah, my goal is to try
|
|
and do some stuff
|
|
for my daughter, so
|
|
yeah, she's five,
|
|
yeah, this is five pretty soon.
|
|
So, I'm just
|
|
discovering this platform too.
|
|
I'll be on Discord
|
|
and getting information
|
|
from the community to help on that.
|
|
Are you more excited about
|
|
C++ or Lua?
|
|
I know both.
|
|
So,
|
|
I don't know.
|
|
I've used Lua
|
|
in the context of World of Warcraft
|
|
and you can
|
|
add-ons for World of Warcraft in Lua.
|
|
So, yeah,
|
|
I like Lua.
|
|
I like C++.
|
|
I'm going to try both.
|
|
I just think,
|
|
I know a lot of people mention MicroPyFilm.
|
|
But the
|
|
Lua is not perfect.
|
|
We all know that.
|
|
But the elegance
|
|
and how lightweight it is
|
|
and nicely it binds into
|
|
C++ projects.
|
|
It's a cracking
|
|
project like
|
|
Lua is a
|
|
I think it's under-represented.
|
|
I think it's under-appreciated.
|
|
And I think if they're a race started at zero,
|
|
that would be different.
|
|
And you're like,
|
|
genuinely, it's that stupid, isn't it?
|
|
I think people dislike it for some of the war too.
|
|
But,
|
|
embedding on a device,
|
|
you get that performance that you want
|
|
almost like it's running on the bare metal.
|
|
And, you know, as a language,
|
|
it's also so tight and so
|
|
synced
|
|
that
|
|
is not like syntax soup.
|
|
There's not 10 different ways to do the same thing.
|
|
And I really appreciate it for that.
|
|
And I think it's a good choice for a platform like this.
|
|
You can do a lot with it.
|
|
Interestingly about a year ago,
|
|
we had a web-based IDEA
|
|
up and running that let you write Lua
|
|
and hit F5 and see it run
|
|
next year code in real time,
|
|
which it's just kind of a
|
|
reflect sort of thing we could do with that.
|
|
Which is kind of cool.
|
|
Yeah, that will be coming back.
|
|
And I think it's that it was the debug
|
|
build cycle was just great on the lure
|
|
because like you literally just edit the code
|
|
and hit reset and it's like
|
|
it's up and running again with the new version.
|
|
I think, yeah, for a lot
|
|
for a lot of people
|
|
that's going to be the experience
|
|
Yeah, and if you can manage
|
|
to have a
|
|
master-age USB master-age on the
|
|
device and that does going to be even
|
|
great. So you can plug the device on the
|
|
PC, edit the code, reset the device
|
|
and don't know nothing else to
|
|
do. So it's great.
|
|
That's it. I mean, we're looking
|
|
obviously the tools around 32-bit
|
|
are coming together at the moment.
|
|
But we're
|
|
kind of keen to try and bring them into
|
|
one single suite
|
|
where you can edit your sprites,
|
|
edit your audio, edit your maps,
|
|
write your code all in a single
|
|
space,
|
|
probably web-based because
|
|
that's how the world works now.
|
|
You want to be able to use it on a tablet,
|
|
you want to use it on your Chromebook,
|
|
you want to use it on the Mac.
|
|
So the idea being you almost have
|
|
like this, you know, as an idea,
|
|
it's not as complex as a visual studio
|
|
but it's not as simple as say
|
|
the Arduino idea somewhere in the middle
|
|
it has intimate knowledge of what kind of
|
|
assets 32-bit uses
|
|
and it could let you manipulate those
|
|
and work on a project with everything in one place
|
|
or like that. That will be a great
|
|
experience if we can get it right.
|
|
That sounds like mic code.
|
|
Is that the Microsoft thing?
|
|
Yes. I haven't even looked
|
|
at it. Is it any good?
|
|
Yeah. I've looked at it. I don't have any device
|
|
that I can use with it but
|
|
it seems like you
|
|
have you abstracted, you know,
|
|
but the device can do and say,
|
|
okay, I want to blink an LED
|
|
and obviously not on
|
|
32-bit but on other platforms.
|
|
I want to blink an LED and you grab
|
|
the block then and then
|
|
add some devices and buttons and
|
|
this wouldn't be
|
|
block based obviously. I mean,
|
|
I think what we're thinking about is
|
|
a much more
|
|
grown-up idea if you like.
|
|
That said, I have talked
|
|
to some people
|
|
about possibly getting
|
|
make code arcade up and running on the device
|
|
and it should be theoretically possible
|
|
but again, it's not one of those things we
|
|
have the skill set to do in-house
|
|
so it'll be something
|
|
we'll kind of wait around and hope will happen.
|
|
I think it's possible
|
|
that something like that may come along
|
|
but I think
|
|
our
|
|
interest in what could be produced
|
|
requires a level of
|
|
that of advancement beyond
|
|
kind of block level programming.
|
|
So, you know, devices already out there
|
|
that are pitched entirely at that experience.
|
|
I think we'd see ourselves as like
|
|
where you go after that
|
|
and when you want to write some
|
|
code maybe you've done a bit of
|
|
Python or something but
|
|
you know, you're
|
|
comfortable with the idea of writing
|
|
at that point
|
|
I think that's what it's
|
|
too but can come along
|
|
and become a tool.
|
|
I think the great thing about that
|
|
is a pitch that gives people
|
|
the opportunity to learn code
|
|
Lua being a prime example
|
|
that is applicable to writing actual mainstream games
|
|
and using in the game industry.
|
|
Yeah, but I'm sure that
|
|
Godclubs or things like that
|
|
things for
|
|
young children that
|
|
can be used by such a
|
|
platform because
|
|
kids love games.
|
|
So, if you can teach kids
|
|
how to program and then tell them
|
|
look, you do that and
|
|
you can go home with your
|
|
console and play your game
|
|
back home.
|
|
They will like that.
|
|
I think so. I mean, I would
|
|
have thought that
|
|
I was in programming from an early
|
|
age, my dad was a programmer
|
|
when I started writing
|
|
programmes in basic
|
|
and I think Lua
|
|
Sash Python probably
|
|
take roughly the same kind of
|
|
there are a lot more complex
|
|
depth to them than basic
|
|
on the spectrum but I think around the same age
|
|
if you have the aptitude for it
|
|
and the interest in you prepared to put the time in
|
|
and I think you can get stuff done.
|
|
So, it still works from a
|
|
young age but it's not kind of the
|
|
I think in the UK
|
|
I'm talking about scratch around 8 years old
|
|
and probably 32
|
|
but isn't quite
|
|
for you at that stage, you know, maybe
|
|
five years later you've had some exposure at
|
|
school to initially block programming
|
|
then maybe you've moved into kind of Python and stuff
|
|
but ultimately
|
|
I think the
|
|
biggest interest for this will come from
|
|
people who
|
|
not necessarily don't know how to code
|
|
at all but they already know how to code
|
|
but they just want to write some games because that's the fun bit of coding
|
|
right? They say it's a set at work all day
|
|
or at university doing
|
|
whatever it's called in their
|
|
computer science, I guess I don't know
|
|
or they set at work all day writing banking systems
|
|
and in the evening they get home
|
|
they just want to
|
|
blitz and pixels and then
|
|
make some noise and that's what it's all about
|
|
Yes
|
|
Yes
|
|
Well guys, thank you very much for
|
|
joining me for this
|
|
this interview. I have a feeling that you're going to be back when
|
|
the device is shipping to talk more about
|
|
the final product
|
|
namely the
|
|
the
|
|
the breakout garden
|
|
I think we're going to say breakout
|
|
I had no idea
|
|
Go ahead
|
|
Because that's
|
|
that's a really nice
|
|
concept
|
|
Yeah, I'm pretty sure you're going to be
|
|
back on the show before
|
|
It's been a pleasure
|
|
Where can people find more about
|
|
you guys on social media
|
|
or somewhere else?
|
|
Follow us on Twitter
|
|
We are by far
|
|
the most active on Twitter
|
|
So just search for Pimirony
|
|
and we're on there
|
|
Other than that we're terrible at social media
|
|
Because Twitter's like
|
|
280 characters or less we can just about deal with that in the day
|
|
All right
|
|
Well, it was a pleasure to have you
|
|
This awesome platform that
|
|
32-bit is
|
|
Thanks again for joining me
|
|
And as I said
|
|
You will be back
|
|
If you want to
|
|
Let's talk about breakout garden
|
|
There's a good story behind that one
|
|
Oh, now I'm enjoying it
|
|
I'm going to go
|
|
Yeah, I know
|
|
Thanks, have a good evening
|
|
Talk to you soon guys
|
|
Cheers, bye
|
|
So that was our interview
|
|
Once again, I would like to thank
|
|
John and Phil
|
|
from Pimirony for
|
|
Accepting to
|
|
appear on this show
|
|
It was great
|
|
I mean, the device is great
|
|
And the people
|
|
who do this
|
|
These devices are great too
|
|
Really
|
|
It's a shame that
|
|
that they are going to sell it
|
|
I think around as we said
|
|
Earlier
|
|
Earlier before we started recording
|
|
We talked about that together
|
|
And then I talked about that
|
|
With them
|
|
It's really nice
|
|
I put some picture in the show notes
|
|
It's
|
|
Even though the buttons are not labeled
|
|
And you know
|
|
It's
|
|
Really a row design
|
|
It's really nice
|
|
Maybe they can
|
|
Maybe they have a few extras
|
|
And they will
|
|
Send that
|
|
That's going to be a collector
|
|
I think some day
|
|
I kind of need the case for me
|
|
Because I'm a bit of an animal in pants
|
|
And I break everything
|
|
So the more case
|
|
In plastic layers
|
|
The better
|
|
I don't know
|
|
I just
|
|
Maybe a clear case
|
|
Back in the 90s
|
|
Five years ago
|
|
But yeah
|
|
Maybe I can
|
|
Three brings one
|
|
But it's very
|
|
Inspirational to see
|
|
This device
|
|
It just makes me think back to my
|
|
Days of when I did
|
|
I did some game programming
|
|
And my youth
|
|
And I did all that for sure
|
|
To take
|
|
Take a little time and maybe
|
|
Figure that out
|
|
I've always enjoyed the platformers
|
|
And I had my own little take on a platformer
|
|
But the
|
|
That would be fun to really revisit
|
|
And look and do
|
|
And submit that up
|
|
But yeah that would be really fun to play with for sure
|
|
I would get a huge kick out of
|
|
Out of that
|
|
I just need a little more time
|
|
But you can grab the
|
|
The
|
|
Github repo
|
|
And compile that for Linux
|
|
All windows
|
|
And you know
|
|
Make your game
|
|
Without even having a device
|
|
And then you know
|
|
Once you get your hand on the device
|
|
Flush that and of course there's going to be problems
|
|
Because it's not exactly the same
|
|
Platform but
|
|
A lot of things can be made
|
|
The
|
|
The windows are the Linux version of
|
|
The game
|
|
So hopefully
|
|
Yeah, hopefully this is going to be
|
|
A great product and
|
|
I myself
|
|
I'm still trying to
|
|
Find an idea
|
|
I always find it a lot easier
|
|
To have a goal
|
|
So I have a project in mind
|
|
And then
|
|
With that in mind explore
|
|
Then just you know running examples
|
|
And thinking that could be
|
|
That could be great
|
|
So I'm going to try and think
|
|
About something to build
|
|
For the 32-bit
|
|
So I'll keep it
|
|
It always makes me think
|
|
I still have all my
|
|
Assets from my Amiga
|
|
Programming days
|
|
It's really not that hard to convert
|
|
Those graphics over
|
|
And I could still use the
|
|
Disney animation studio
|
|
From like 1993
|
|
And probably just you know
|
|
Because it's
|
|
I mean I don't remember what the resolution was on that
|
|
But no I did most of my
|
|
Drawings from 320 by 200
|
|
So I'm sure it can scale fine
|
|
It's 320 by 240
|
|
Okay, well there we go
|
|
I could definitely do that
|
|
And you can still have a
|
|
Studies bar at the bottom or something
|
|
Yeah
|
|
That might be kind of a fun excuse
|
|
Then to tie in some of my old tech
|
|
My retro tech into helping to
|
|
You know build some of these things
|
|
So yeah
|
|
All right, so
|
|
I think it's almost time to
|
|
Finish this episode
|
|
So we're going to do
|
|
What we did last time
|
|
And hopefully in the next episodes
|
|
And in the next episodes to come
|
|
That's the thing
|
|
Give us a thing of the episode
|
|
And for this one
|
|
I selected something that I've printed
|
|
A few
|
|
Month back
|
|
And it's called the monster mouth
|
|
Headphone holder
|
|
Clumpable
|
|
So that's basically
|
|
That's a huge
|
|
Support for your headphone
|
|
And then you also
|
|
Print a
|
|
Screw and then you can
|
|
And fix it
|
|
Get mine
|
|
I also will put some
|
|
Features
|
|
And I did some
|
|
Some magical that
|
|
Things you know to
|
|
To avoid making
|
|
Indense in my
|
|
On my desk
|
|
Yeah, and that's the screw
|
|
You put like a little rubber
|
|
Rubber feed on that or something
|
|
Okay, rubber feed
|
|
I've printed it
|
|
A few months back
|
|
And it's already
|
|
Been a little
|
|
Because it's pretty
|
|
Too much
|
|
But it's really study
|
|
So it's going to last for
|
|
A long time
|
|
And I'll just print another one
|
|
When this one
|
|
That would be a fun one to redo
|
|
And change it for my situation here
|
|
Because I'm in my basement
|
|
I am my own troll
|
|
And put on my ceiling here
|
|
Which is you know
|
|
Floor joys and just kind of just change
|
|
How that's done
|
|
At a right angle
|
|
And then I can have all that stuff
|
|
Rottered above me
|
|
That would actually be really neat
|
|
And then you can submit that to
|
|
Thingiverse and we could feature it
|
|
In the future episode
|
|
Yeah, why not
|
|
I could even do like a little like you
|
|
Yes, that would be awesome
|
|
Yeah, I have to look into what the
|
|
Pictures on that and that screw
|
|
But yeah, that's very cool. I like that. That's handy
|
|
It's like a little it is
|
|
A little problem solving right there
|
|
I like practical prints you know
|
|
Things that solve problems
|
|
Or create new ones
|
|
Sometimes
|
|
Well then that's new problems to solve
|
|
Exactly
|
|
Which creates some problems
|
|
You have to find a solution for
|
|
Yeah
|
|
Yes, someone else
|
|
Well, I can create a problem and someone else can find a solution
|
|
Right, yeah
|
|
I'm a master at creating problems
|
|
Oh, okay
|
|
I can try and find solutions for your problems
|
|
I am hoping
|
|
Right
|
|
So for us it's been a very short recording but the episode is
|
|
Going to be quite long because
|
|
This interview was an hour or so
|
|
It was a lot
|
|
A lot that you want this episode
|
|
Lots of meat
|
|
Lots of meat in this one
|
|
Very few bones to spit out, lots of meat
|
|
Exactly, great
|
|
If you're vegetarian, lots of eggplant, lots of eggplant
|
|
Eggplant Parmesan
|
|
Extra sauce
|
|
Extra sauce, wow
|
|
It's always better with the extra sauce
|
|
Yeah, it always is, yeah
|
|
Thank you for everyone
|
|
We don't already did our previous episodes
|
|
And for the kind feedback
|
|
Once again, thanks to
|
|
John and Phil for
|
|
Appearing on the show
|
|
You can get in contact with us by sending an email
|
|
At feedback at makeersconer.tech
|
|
Or by following us on Twitter
|
|
We are at makeersconer.pod
|
|
If you want to chat with us
|
|
In a more lively fashion, you can join our telegram group
|
|
At t.me slash makeersconer.pod
|
|
And that's otherwise stated
|
|
This podcast and the interview
|
|
Are released under a creative commons
|
|
By attribution Sherlock license
|
|
Whatever you want with it, as long as you create us
|
|
As the original authors
|
|
And if you publish anything based upon this episode
|
|
You have to release it under the same license
|
|
Well, thanks Nate for joining me
|
|
Once again, this fortnight
|
|
It's always great seeing you
|
|
So it's a good time
|
|
Yeah, even though this week has been quite short
|
|
But yeah, it's always a pleasure
|
|
A little high in buy and it's, you know, a little chat
|
|
Here and there, we're good to go
|
|
Yeah, yeah, absolutely
|
|
We will be back in two weeks with another episode of makeersconer
|
|
In the meantime, take care of yourselves
|
|
Ciao ciao
|
|
You've been listening to heckaPublicRadio at heckaPublicRadio.org
|
|
We are a community podcast network that releases shows every weekday Monday through Friday
|
|
Today's show, like all our shows, was contributed by an HBO listener like yourself
|
|
If you ever thought of recording a podcast
|
|
And click on our contributing to find out how easy it really is
|
|
HeckaPublicRadio was founded by the digital dog pound and the infonomicon computer club
|
|
And it's part of the binary revolution at binrev.com
|
|
If you have comments on today's show
|
|
Please email the host directly
|
|
Leave a comment on the website or record a follow-up episode yourself
|
|
Unless otherwise stated
|
|
Today's show is released under creative comments, attribution, share a life, 3.0 license
|
|
Thanks for watching
|