It's insane how powerful this little chip is. My first few computers were way much slower: Commodore 16, IBM XT 4.77MHz, IBM AT 16 MHz, 386SX 33 MHz. But even the next one, 486 100MHz was slower than this chip (but the 486 had FPU). Audio mixing in software? Software synthetizer? We were still 5-7 years from that point. And what couldn't do even a very expensive PC back in the day, is now easily delivered by a SoC or SBC which costs max few dollars (even a hamburger is more expensive). In 2000, I had an AMD K6-II based computer. Maybe it had 64 MB, maybe just 32, I can't recall it. Now I can by an M1S SoC module which has: a high performance 64 bit RISC V CPU, a microcontroller, an audio DSP, a Neural Network coprocessor, JPEG and Video codec, and many peripheries... For the price of a Burger King menu or less... I worked as a software developer and runned Windows 2000, Borland C++, etc on a computer with less RAM.
You are soooo right. When I couldn't get a RasPi 4 during COVID I figured "work with what you can get". My first computer had one kilobyte of static RAM, and I built it myself. I had about $400 in 1976 dollars into it; the Pico only cost $4 in 2022 dollars. Moore's law proven! Thanks for watching!
RP2040 is not the fastest for the money - ESP32 is much more powerful, but RP2040 has programmable IO co-processors which cannot-bang any protocol at hundred megahertz! This is the power of RPiPico it can be and in fact used to hack/retrofit in many consoles and retro computers to add new features.
That's already been done. It's a cool project. Would be interesting to see a unique language be written for the Pico that could be done in a way that fits with David's style maybe done at the bare metal level. I've got a C as an interpreted language in one of my projects and I've reworked that to uses Lua as more of an 80's inspired computer.
That's quite a challenge. What I need to do first is to make the RP2040 think it's a stand-alone computer. If I could conquer the keyboard input and clean up the video out; then I'd have a chance. I know it's been done elsewhere; I just bull-headed enough to want to so it on my own. Thanks for the suggestion.
I was hoping to emulate an Apple 2 on the Pico. Yes, I know it's been done before by others who are much smarter than me. I just want to see if tenacity and bullheadedness can work. However, if I'm not careful my head will explode (again). LOL
A NAK is a packet from device to host to say data hasn't change. "Interrupt IN"s are scheduled during device setup, and not preceded by a host demand for each device packet. USB Complete 5th Edition, as recommended by Adafruit. Anybody more familiar feel free to correct any misconceptions I may have.
I decoded the PID as 1010 (NAK) Per table 8-1 of the USB spec this means: "Receiving device cannot accept data or transmitting device cannot send data". That's why I assumed that the host can't receive data.
How cool is that! That was very entertaining! Thank you!
Glad you enjoyed it. Thanks for watching!
Amazing.
I appreciate that. Thanks for watching!
It's insane how powerful this little chip is. My first few computers were way much slower: Commodore 16, IBM XT 4.77MHz, IBM AT 16 MHz, 386SX 33 MHz. But even the next one, 486 100MHz was slower than this chip (but the 486 had FPU). Audio mixing in software? Software synthetizer? We were still 5-7 years from that point.
And what couldn't do even a very expensive PC back in the day, is now easily delivered by a SoC or SBC which costs max few dollars (even a hamburger is more expensive).
In 2000, I had an AMD K6-II based computer. Maybe it had 64 MB, maybe just 32, I can't recall it. Now I can by an M1S SoC module which has: a high performance 64 bit RISC V CPU, a microcontroller, an audio DSP, a Neural Network coprocessor, JPEG and Video codec, and many peripheries... For the price of a Burger King menu or less...
I worked as a software developer and runned Windows 2000, Borland C++, etc on a computer with less RAM.
You are soooo right. When I couldn't get a RasPi 4 during COVID I figured "work with what you can get". My first computer had one kilobyte of static RAM, and I built it myself. I had about $400 in 1976 dollars into it; the Pico only cost $4 in 2022 dollars. Moore's law proven! Thanks for watching!
RP2040 is not the fastest for the money - ESP32 is much more powerful, but RP2040 has programmable IO co-processors which cannot-bang any protocol at hundred megahertz! This is the power of RPiPico it can be and in fact used to hack/retrofit in many consoles and retro computers to add new features.
Project Idea: Write a C compiler that runs on the RP2040, compiling programs for itself.
Or maybe start with just an assembler.
That's already been done. It's a cool project. Would be interesting to see a unique language be written for the Pico that could be done in a way that fits with David's style maybe done at the bare metal level.
I've got a C as an interpreted language in one of my projects and I've reworked that to uses Lua as more of an 80's inspired computer.
That's quite a challenge. What I need to do first is to make the RP2040 think it's a stand-alone computer. If I could conquer the keyboard input and clean up the video out; then I'd have a chance. I know it's been done elsewhere; I just bull-headed enough to want to so it on my own. Thanks for the suggestion.
I was hoping to emulate an Apple 2 on the Pico. Yes, I know it's been done before by others who are much smarter than me. I just want to see if tenacity and bullheadedness can work. However, if I'm not careful my head will explode (again). LOL
This is done already with FORTH
A NAK is a packet from device to host to say data hasn't change. "Interrupt IN"s are scheduled during device setup, and not preceded by a host demand for each device packet. USB Complete 5th Edition, as recommended by Adafruit. Anybody more familiar feel free to correct any misconceptions I may have.
I decoded the PID as 1010 (NAK) Per table 8-1 of the USB spec this means: "Receiving device cannot accept data or transmitting device cannot send data". That's why I assumed that the host can't receive data.
I think in both instances it's from device. Could be wrong though. And can't send vs no change... eh.