Thanks for the incredible reception. Your comments are helping me find the story for the next video. And sorry about the mic. Two lavaliers died during production. I have near zero experience producing videos so I prioritized getting it done for the experience instead of waiting for everything to be just right.
There's a learning curve. Most beginners assume video quality is more important than audio quality but the opposite is often true. Find a friend who knows this to help you discover what workflow and gear you need. You don't need to spend much. Technique is way more important than pixel count.
Clever use of the DMA channels & PIO to provide fast response to bus accesses without burning a whole core! It's amazing how we can now attach a $4 microcontroller to a retro CPU and basically emulate many types of hardware in software.
This is cool but nothing new. :-) I have a 6502 based computer that emulates an Apple I including serial and video and it uses a Propeller from Parallax. Which came out in 2003 I think (or about that time). And there are other examples going back to the 90's. Now don't get me wrong, the RP2040 definitely has some advantages in many ways (I have several Pico's that I am putting in 6502 designed computers).
Cool video, in a way a trip down memory lane. I once had an Apple II+ and was very fond of the 6502 ! I also have some Z80's left over... maybe for a future project ?!
I have been scouring the web for this exact project for weeks on end now. I can only find projects that use Arduino Nano setups, which is all good and well, but I happen to have a few extra RPi Pico's lying around, which don't require me to shell out extra cash so close to the holidays.
Really nice project! Just found it and can't wait to see it going! I have a view picos and also a Ben Eater breadboard kit.... maybe it's time to bring them together! :D Thanks!
I've been slowly building something very similar using a 65c816. Different end goals but seeing this shows me I wasn't being an idiot and it is actually a viable route to take. Can't wait to see more. Thanks for sharing.
I've been toying with the notion of placing the 65c816 on an ISA card to build a processor card, the end goal is to interface that to ISA Video and sound cards.
I forgot about the X16 in those three years without an update. Just got caught up. One Pi Pico could replace all those ROMs and add USB. The Pico RIA will not care if you use a different video chip like the VERA. You should even be able to control page banking with the monitor. Which someone could choose not to expose if another system like the VERA wanted control. All this can be done as of only 4 days ago. Perhaps you might see a Pi Pico in the cost reduced version he talks about. Keep in mind the projects have different goals. It's why we homebrew. The Picocomputer is hyperfocused on the interface between real 8-bit hardware and modern devices. The X16 will provide the full 8-bit experience, spiral bound manual and all. I can imagine not everyone will be keen on a couple 32-bit processors running the show.
Fascinating project but I'm not seeing the utility 😅 Maybe you can cyborg it a bit more, have some read and write registers handled by another PIO to use more memory and have the 6502 run the pico like some startrek brain parasite.
Cool project. What rom do you will use? some kind of basic like appple II? If you duplicate the pipeline for a kind of multi task buss? maybe you can handle a 68000 CPU? sorry if I ask so much. good job.
No ROM needed. There's a mechanism to install one, but you don't have to. This is an early video, I think a lot of your questions will be answered as you catch up on the playlist.
Hello Sir, I liked too much your tutorial. Do you know what is the maximum frequency handle by Pico on its ports? Is it much faster used DMA than port directly?
Each hardware block has its own limit. I think USB is fastest at 480MHz on a differential pair. I'm guessing you're asking about GPIO, which is limited to sys_clk. Practical GPIO limits are similar to other processors with PIO-like hardware.
Sorry if this has already been covered, but if you wanted to emulate a ROM in a 6502 system that has the 6502 writing to other physical components in the same address space as the ROM, how would you go about doing that? Is it possible to switch the GPIO data output pins to input pins when the 6502 is writing data (RWB asserted high) within PIO code, or would this have to be done by external logic? On my current board (which has no Pico at present), I feed A15 and RWB into a NAND gate and this gives me the right /OE signal for my ROM chip. This is the behaviour I am asking about but for a Pico PIO implementation. I did have a go at doing this in a pure C/C++ (non PIO) solution but it wasn't fast enough for my 8MHz 6502.
@@rumbledethumps OK I see you covered the CS determination with the external logic. I'll check out your vga video and see how you deal with the CS signal inside the Pico.. unless github holds the answer. Not at a computer at the moment but will check it out. I just want to see how to get the Pico to stop driving the bus and I believe the only way is to turn the data outputs into inputs?
@Rumbledethumps Have you recently changed the permissions on the source github link? I downloaded the archive on my desktop. I was just about to have another look with my laptop and it seems to be gone. :-(
good idea keeping both Pico's. Does that 128Kb store the 64k of video as well? How far ca you push the 8MHz 6502 before it becomes unstable (10MHz/12MHz)?
Half the SRAM isn't used. One 128K is currently cheaper than 2x32K but that may not always be the case. An additional 64K of virtual RAM is available on the Pi Pico (for VGA). The WDC 6502 datasheet doesn't provide guidance beyond 8MHz at 3.3V so that's where I stopped.
I think that's another architecture? that leads down the x86 route . I think this is a computer before that time intentionally. 8 bit but with modern connectivity and modern micro controller. I can only guess , this is well above my knowledge levels.
The perspective is unusual because this was the first time I explained it after throwing away months of work and starting over. You can read the docs, explore the schematic, or watch my future explanations if you need a different perspective.
@@rumbledethumps The WDC 6502 is, as you know, a 65C02. The C of course signalling the CMOS technology. Perhaps you should document it as such -- at least in the video and description. You can still bait viewers and "optimize" for the RUclips algorithm by using the wrong 6502 name in the video title...
Indeed. Pieces are missing and the picture is changing. I just released a video that brings everything together for the first time. It's #4: hello world.
Mic died halfway through production. Its backup died the next day. I then had to choose between popping plosives or bad SNR. Should be back on a lav next time.
I'd call this one the 'signature' video in the series. It has many rumbled thumps - I think not entirely unintentionally. It is the one where he says "If only I could double the clock speed (13:17) ...which I did." Although it is a few more until the red shirt (à la Star Trek) goes on.
Watch some more Ben Eater videos. You know what he doesn't do? Make unprofessional wet mouth sounds all over his video. And if he did, he edited them all out. Get some Poland Spring bottles if you get nervous and your mouth is dry. You have very, very good content, but it's spoiled by sloppy, wet noises every time you pause and open your mouth. Re-watch this video and take a shot every time there is a wet mouth sound on your soundtrack(s). You'll be wasted within the first 7 minutes. I really wanted to enjoy this as much as I enjoy Ben Eater videos. Seriously - this is a really cool project (I'm working on something similar with 65C816s and FPGAs). You can't know for sure, but I'd venture that a minimum of 1/3 of your potential audience found this as off-putting as I do and probably clicked away. Easy to fix in the editing.
NICE and informative content! Don't know if any custom PCBs ( as well as 3D printing) is required for your upcoming projects, would love to supply some free and help bring some great content like this together with you! Super excited if there's a chance to work together! (PCBWay zoey)🤗
Thanks for the incredible reception. Your comments are helping me find the story for the next video. And sorry about the mic. Two lavaliers died during production. I have near zero experience producing videos so I prioritized getting it done for the experience instead of waiting for everything to be just right.
There's a learning curve. Most beginners assume video quality is more important than audio quality but the opposite is often true. Find a friend who knows this to help you discover what workflow and gear you need. You don't need to spend much. Technique is way more important than pixel count.
Clever use of the DMA channels & PIO to provide fast response to bus accesses without burning a whole core! It's amazing how we can now attach a $4 microcontroller to a retro CPU and basically emulate many types of hardware in software.
This is cool but nothing new. :-) I have a 6502 based computer that emulates an Apple I including serial and video and it uses a Propeller from Parallax. Which came out in 2003 I think (or about that time). And there are other examples going back to the 90's. Now don't get me wrong, the RP2040 definitely has some advantages in many ways (I have several Pico's that I am putting in 6502 designed computers).
Nice! Adding you to my list with Ben Eater and bad6502
Jitjtijijijitjitji
Those PIO's, along with DMA are pretty incredible.
I'd love to see someone turn a PI Pico or PI Zero into a PIStorm for 6502 based computers.
Cool video, in a way a trip down memory lane. I once had an Apple II+ and was very fond of the 6502 ! I also have some Z80's left over... maybe for a future project ?!
Still have my Apple II+...
Cool. I felt compelled to subscribe early on.
This is so cool. On a side note, I've never seen an atten scope before.
Very interesting. Looking forward to your next video.
I have been scouring the web for this exact project for weeks on end now. I can only find projects that use Arduino Nano setups, which is all good and well, but I happen to have a few extra RPi Pico's lying around, which don't require me to shell out extra cash so close to the holidays.
Great video!
It's my first time watching your channel and I can't help but notice that you look uncannily similar to Keanu Reeves haha
Really nice project! Just found it and can't wait to see it going! I have a view picos and also a Ben Eater breadboard kit.... maybe it's time to bring them together! :D Thanks!
Cool! :D
I think I should have watched the second video before commenting on the first :D
I've been slowly building something very similar using a 65c816. Different end goals but seeing this shows me I wasn't being an idiot and it is actually a viable route to take. Can't wait to see more. Thanks for sharing.
you need a translator chip if you want to use more then 64k of ram have fun with your toy you have the power👍
I've been toying with the notion of placing the 65c816 on an ISA card to build a processor card, the end goal is to interface that to ISA Video and sound cards.
@@2000freefuel Cool notion!
Good stuff. I've been revisiting 8bit stuff again and found this video very useful
Now you have a native in-circuit 6502 emulator
Neat and fascinating. Thanks for sharing.
imagine how fast it could be pushed at 10 nm it may be able to hit 50 MHz🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣
NES is amazing good job sir
Cool stuff!
This is very interesting… I am following very closely…
Nicely done!
I LOVE C64 AND 6502 👍🥂🎩
Pretty cool, subscribed!
This is pretty cool!
Super cool project. Has David Murray (a.k.a The 8-Bit Guy) seen this?
I forgot about the X16 in those three years without an update. Just got caught up. One Pi Pico could replace all those ROMs and add USB. The Pico RIA will not care if you use a different video chip like the VERA. You should even be able to control page banking with the monitor. Which someone could choose not to expose if another system like the VERA wanted control. All this can be done as of only 4 days ago. Perhaps you might see a Pi Pico in the cost reduced version he talks about.
Keep in mind the projects have different goals. It's why we homebrew. The Picocomputer is hyperfocused on the interface between real 8-bit hardware and modern devices. The X16 will provide the full 8-bit experience, spiral bound manual and all. I can imagine not everyone will be keen on a couple 32-bit processors running the show.
Fascinating project but I'm not seeing the utility 😅 Maybe you can cyborg it a bit more, have some read and write registers handled by another PIO to use more memory and have the 6502 run the pico like some startrek brain parasite.
Внешне выглядит как наш поп.)
Cool project. What rom do you will use? some kind of basic like appple II? If you duplicate the pipeline for a kind of multi task buss? maybe you can handle a 68000 CPU? sorry if I ask so much. good job.
No ROM needed. There's a mechanism to install one, but you don't have to. This is an early video, I think a lot of your questions will be answered as you catch up on the playlist.
@@rumbledethumps Thank you for answer. I will see your playlist. BR
If I wanted to follow along with this project, do you have a recommendation for breadboards that aren't total junk?
I haven't run into any breadboard problems. I'm sure there's plenty of junk in the online marketplaces, but I got mine from an electronics supplier.
Hello Sir, I liked too much your tutorial. Do you know what is the maximum frequency handle by Pico on its ports? Is it much faster used DMA than port directly?
Each hardware block has its own limit. I think USB is fastest at 480MHz on a differential pair. I'm guessing you're asking about GPIO, which is limited to sys_clk. Practical GPIO limits are similar to other processors with PIO-like hardware.
Have you thought about emulating the 6502 on the RP2040?
Z80?
Wow nice!
Hello. I'm looking to build a similar system but I cannot find any source code on your GH repo. Is it available? Thanks.
Early Access to the Picocomputer source code is a Patreon benefit.
Sorry if this has already been covered, but if you wanted to emulate a ROM in a 6502 system that has the 6502 writing to other physical components in the same address space as the ROM, how would you go about doing that?
Is it possible to switch the GPIO data output pins to input pins when the 6502 is writing data (RWB asserted high) within PIO code, or would this have to be done by external logic?
On my current board (which has no Pico at present), I feed A15 and RWB into a NAND gate and this gives me the right /OE signal for my ROM chip. This is the behaviour I am asking about but for a Pico PIO implementation. I did have a go at doing this in a pure C/C++ (non PIO) solution but it wasn't fast enough for my 8MHz 6502.
Watch the next video in this series. I cover CS and RWB in that one.
@@rumbledethumps OK I see you covered the CS determination with the external logic. I'll check out your vga video and see how you deal with the CS signal inside the Pico.. unless github holds the answer. Not at a computer at the moment but will check it out. I just want to see how to get the Pico to stop driving the bus and I believe the only way is to turn the data outputs into inputs?
@Rumbledethumps Have you recently changed the permissions on the source github link? I downloaded the archive on my desktop. I was just about to have another look with my laptop and it seems to be gone. :-(
Early Access to the Picocomputer source code is a Patreon benefit.
good idea keeping both Pico's. Does that 128Kb store the 64k of video as well? How far ca you push the 8MHz 6502 before it becomes unstable (10MHz/12MHz)?
Half the SRAM isn't used. One 128K is currently cheaper than 2x32K but that may not always be the case. An additional 64K of virtual RAM is available on the Pi Pico (for VGA). The WDC 6502 datasheet doesn't provide guidance beyond 8MHz at 3.3V so that's where I stopped.
so cute uncle!
4:06 Why are you resetting the 6502 multiple times? The RESB (or -RES) needs to be held low for 2 clock cycles only. I get the 1ms waiting period.
The blue line is reset; yellow is clock.
Would a INTEL 8086 have been a better choice as it is easier to program as you have mul and div as well as imul and idiv instructions
I think that's another architecture? that leads down the x86 route . I think this is a computer before that time intentionally. 8 bit but with modern connectivity and modern micro controller. I can only guess , this is well above my knowledge levels.
I don't follow the memory map shown @1:59. The addresses overlap - can that be right?
The perspective is unusual because this was the first time I explained it after throwing away months of work and starting over. You can read the docs, explore the schematic, or watch my future explanations if you need a different perspective.
How did You level-shifted PICO's 3,3V to 6502's 5V TTL logic?
The WDC 6502 is CMOS. No need for level shifting if Vdd is 3.3V.
@@rumbledethumps The WDC 6502 is, as you know, a 65C02. The C of course signalling the CMOS technology.
Perhaps you should document it as such -- at least in the video and description.
You can still bait viewers and "optimize" for the RUclips algorithm by using the wrong 6502 name in the video title...
the explanation is a bit confusing. like some single pieces of a puzzle without explanation about the whole picture.
Indeed. Pieces are missing and the picture is changing. I just released a video that brings everything together for the first time. It's #4: hello world.
Get yourself a pop filter to cover you mic. It'll stop the popping in your audio when you speak.
Mic died halfway through production. Its backup died the next day. I then had to choose between popping plosives or bad SNR. Should be back on a lav next time.
I'd call this one the 'signature' video in the series. It has many rumbled thumps - I think not entirely unintentionally. It is the one where he says "If only I could double the clock speed (13:17) ...which I did." Although it is a few more until the red shirt (à la Star Trek) goes on.
What does RIA stand for?
RP6502 Interface Adapter
@@rumbledethumps Thanks
Watch some more Ben Eater videos. You know what he doesn't do? Make unprofessional wet mouth sounds all over his video. And if he did, he edited them all out. Get some Poland Spring bottles if you get nervous and your mouth is dry. You have very, very good content, but it's spoiled by sloppy, wet noises every time you pause and open your mouth. Re-watch this video and take a shot every time there is a wet mouth sound on your soundtrack(s). You'll be wasted within the first 7 minutes. I really wanted to enjoy this as much as I enjoy Ben Eater videos. Seriously - this is a really cool project (I'm working on something similar with 65C816s and FPGAs). You can't know for sure, but I'd venture that a minimum of 1/3 of your potential audience found this as off-putting as I do and probably clicked away. Easy to fix in the editing.
Yawn
NICE and informative content! Don't know if any custom PCBs ( as well as 3D printing) is required for your upcoming projects, would love to supply some free and help bring some great content like this together with you! Super excited if there's a chance to work together! (PCBWay zoey)🤗