RP6502 Ep2 - 6502 reads Raspberry Pi Pico @ 8 MHz - PIO and DMA

Поделиться
HTML-код
  • Опубликовано: 20 авг 2024
  • Homebrew 6502 computer. Powered by Raspberry Pi Pico.
    Playlist: • Picocomputer 6502
    GitHub: github.com/pic...

Комментарии • 76

  • @rumbledethumps
    @rumbledethumps  Год назад +16

    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.

    • @chromosundrift
      @chromosundrift Год назад +1

      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.

  • @bauwks
    @bauwks Год назад +10

    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.

    • @cbmeeks
      @cbmeeks Год назад +2

      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).

  • @PatrioticGestalt
    @PatrioticGestalt 2 года назад +4

    Nice! Adding you to my list with Ben Eater and bad6502

  • @unregistereduser2
    @unregistereduser2 Год назад +1

    Those PIO's, along with DMA are pretty incredible.

  • @stevemcknelly5036
    @stevemcknelly5036 Год назад +5

    I'd love to see someone turn a PI Pico or PI Zero into a PIStorm for 6502 based computers.

  • @PhG1961
    @PhG1961 Год назад +5

    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 ?!

    • @treynolen
      @treynolen Год назад +3

      Still have my Apple II+...

  • @JoelIvoryJohnson
    @JoelIvoryJohnson Год назад +1

    Cool. I felt compelled to subscribe early on.

  • @jstro-hobbytech
    @jstro-hobbytech Год назад +1

    This is so cool. On a side note, I've never seen an atten scope before.

  • @jackdaniels8898
    @jackdaniels8898 Год назад +2

    Very interesting. Looking forward to your next video.

  • @evilmonkeywithissues
    @evilmonkeywithissues Год назад +1

    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.

  • @NullPointer
    @NullPointer Год назад

    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

  • @Electrix6502
    @Electrix6502 Год назад +1

    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!

  • @sysPanda
    @sysPanda Год назад +1

    Cool! :D
    I think I should have watched the second video before commenting on the first :D

  • @MechanicaMenace
    @MechanicaMenace Год назад +2

    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.

    • @raven4k998
      @raven4k998 Год назад +1

      you need a translator chip if you want to use more then 64k of ram have fun with your toy you have the power👍

    • @2000freefuel
      @2000freefuel Год назад +2

      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.

    • @ducksonplays4190
      @ducksonplays4190 8 месяцев назад

      @@2000freefuel Cool notion!

  • @broklee
    @broklee Год назад +2

    Good stuff. I've been revisiting 8bit stuff again and found this video very useful

  • @Clancydaenlightened
    @Clancydaenlightened Год назад +5

    Now you have a native in-circuit 6502 emulator

  • @stephenhookings1985
    @stephenhookings1985 Год назад +1

    Neat and fascinating. Thanks for sharing.

    • @raven4k998
      @raven4k998 Год назад +1

      imagine how fast it could be pushed at 10 nm it may be able to hit 50 MHz🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣

  • @shadimurwi7170
    @shadimurwi7170 Год назад +1

    NES is amazing good job sir

  • @arcadeshopper
    @arcadeshopper Год назад +1

    Cool stuff!

  • @devcybiko
    @devcybiko Год назад +1

    This is very interesting… I am following very closely…

  • @darrenwarner7994
    @darrenwarner7994 Год назад +1

    Nicely done!

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 Год назад +1

    I LOVE C64 AND 6502 👍🥂🎩

  • @mariobrito427
    @mariobrito427 Год назад +1

    Pretty cool, subscribed!

  • @blackhole7818
    @blackhole7818 2 года назад +5

    This is pretty cool!

  • @twopoint71
    @twopoint71 Год назад +1

    Super cool project. Has David Murray (a.k.a The 8-Bit Guy) seen this?

    • @rumbledethumps
      @rumbledethumps  Год назад +1

      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.

  • @fluiditynz
    @fluiditynz Год назад +1

    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.

  • @kotnapromke
    @kotnapromke Год назад +1

    Внешне выглядит как наш поп.)

  • @ice2642
    @ice2642 Год назад +1

    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.

    • @rumbledethumps
      @rumbledethumps  Год назад +2

      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.

    • @ice2642
      @ice2642 Год назад +1

      @@rumbledethumps Thank you for answer. I will see your playlist. BR

  • @brittman914
    @brittman914 Год назад +3

    If I wanted to follow along with this project, do you have a recommendation for breadboards that aren't total junk?

    • @rumbledethumps
      @rumbledethumps  Год назад +1

      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.

  • @nelsonamador5412
    @nelsonamador5412 Год назад +1

    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?

    • @rumbledethumps
      @rumbledethumps  Год назад +2

      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.

  • @devcybiko
    @devcybiko Год назад +1

    Have you thought about emulating the 6502 on the RP2040?

  • @drfreak01
    @drfreak01 Год назад +2

    Z80?

  • @Pritam252
    @Pritam252 2 года назад +3

    Wow nice!

  • @cbmeeks
    @cbmeeks Год назад +1

    Hello. I'm looking to build a similar system but I cannot find any source code on your GH repo. Is it available? Thanks.

    • @rumbledethumps
      @rumbledethumps  Год назад +1

      Early Access to the Picocomputer source code is a Patreon benefit.

  • @paulspark7287
    @paulspark7287 Год назад +1

    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
      @rumbledethumps  Год назад +2

      Watch the next video in this series. I cover CS and RWB in that one.

    • @paulspark7287
      @paulspark7287 Год назад +1

      @@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?

    • @paulspark7287
      @paulspark7287 Год назад +1

      @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. :-(

    • @rumbledethumps
      @rumbledethumps  Год назад +2

      Early Access to the Picocomputer source code is a Patreon benefit.

  • @paulwratt
    @paulwratt Год назад +1

    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)?

    • @rumbledethumps
      @rumbledethumps  Год назад +1

      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.

  • @shuaikangtian1092
    @shuaikangtian1092 Год назад +1

    so cute uncle!

  • @edgarmatzinger9742
    @edgarmatzinger9742 Год назад +1

    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.

  • @DAVIDGREGORYKERR
    @DAVIDGREGORYKERR Год назад +2

    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

    • @tobiwonkanogy2975
      @tobiwonkanogy2975 Год назад +2

      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.

  • @CapnAhabChannel
    @CapnAhabChannel Год назад

    I don't follow the memory map shown @1:59. The addresses overlap - can that be right?

    • @rumbledethumps
      @rumbledethumps  Год назад

      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.

  • @Atad64
    @Atad64 2 года назад +1

    How did You level-shifted PICO's 3,3V to 6502's 5V TTL logic?

    • @rumbledethumps
      @rumbledethumps  2 года назад +9

      The WDC 6502 is CMOS. No need for level shifting if Vdd is 3.3V.

    • @oldguy9051
      @oldguy9051 Год назад

      @@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...

  • @stefanweilhartner4415
    @stefanweilhartner4415 Год назад +1

    the explanation is a bit confusing. like some single pieces of a puzzle without explanation about the whole picture.

    • @rumbledethumps
      @rumbledethumps  Год назад +2

      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.

  • @vincei4252
    @vincei4252 Год назад +1

    Get yourself a pop filter to cover you mic. It'll stop the popping in your audio when you speak.

    • @rumbledethumps
      @rumbledethumps  Год назад +2

      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.

    • @duncanwalduck7715
      @duncanwalduck7715 5 месяцев назад

      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.

  • @sipos0
    @sipos0 Год назад

    What does RIA stand for?

  • @jonathanstein6056
    @jonathanstein6056 7 месяцев назад

    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.

  • @rjbrake
    @rjbrake Год назад +1

    Yawn

  • @zoeyzhang9866
    @zoeyzhang9866 Год назад +1

    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)🤗