Тёмный
Rumbledethumps
Rumbledethumps
Rumbledethumps
Подписаться
Комментарии
@danpedersen55
@danpedersen55 23 дня назад
Fantastic👍 I think i'll have to build me one of these. Much more reasonable price range for me. Great project 😀
@MadsterV
@MadsterV Месяц назад
Great work! I wish something like this was available for Atari 800..... and that it wasn't necessary to gut a real Atari 800 to do it. It would need some meta keys anyway (menu, pair, mode, etc)
@colonthree
@colonthree Месяц назад
Thank you for using C without a mess of pointers and memory-management. UwU
@jankais3r
@jankais3r Месяц назад
Amazing work, I really enjoy following your progress.
@canou1967
@canou1967 Месяц назад
Hi, have you new projects or plan for PICOCOMPUTER?
@JSC3128
@JSC3128 2 месяца назад
I only stumbled across this today - and have binge-watched nearly all of them now ;) Love the idea and the fact it's using the real processor (I've got an FPGA-based board as well but find that lacks the real nostalgia factor). I'd better start saving up to get one for myself! Excellent project and videos.😎
@bitlong4669
@bitlong4669 2 месяца назад
Nice. Subbed. Thank you for making this series. I got plenty of picos laying around. Working a ttl computer at the moment, but will definitely get around to getting some 6502’s and trying this out.
@martinschader5859
@martinschader5859 2 месяца назад
I assembled the non-soldering picocomputer. It starts nicely and I get the "]" prompt and can enter bytes into ram. I entered the helloworld object code into 0200, 0201, etc. But what now? JMP $200 doesn't work at the ] prompt. So I entered 00 02 at fffc and pressed the rest button. No "Hello, World!" displayed. I also tried to enter RESET. Then the system seems to hang up. How do I get the program running?
@Ideasforthought
@Ideasforthought 2 месяца назад
Im having the same issue - would be great to know how to enter an assembly program
@Ideasforthought
@Ideasforthought 2 месяца назад
also, running v0.7 on the ria
@martinschader5859
@martinschader5859 2 месяца назад
@@Ideasforthought Also v0.7 here...
@johnm2012
@johnm2012 2 месяца назад
I think what you're trying to do worked with an early version of the RIA firmware but the project has moved on since then and the JMP command is no longer available. The idea of pointing the 6502 reset vector to the start of the machine code ought to work and there's even a RESET command provided for that. The address of the UART Tx register has changed to $FFE1 so edit the source code and reassemble. Paste the object code into the terminal. Set up the reset vector with FFFC 00 02 then type RESET. If you use an infinite loop to end the program (done: JMP done) you can break out of it to the monitor with CTL-ALT-DEL and run the program again by typing RESET or by pressing the Reset button. I hope this helps.
@johnm2012
@johnm2012 2 месяца назад
Code that works for me: * = $0200 LDX #0 loop: LDA text, X BEQ done STA $FFE1 JMP loop done: JMP done text: .ASCII "Hello, world!" .BYTE $0D $0A $00 0200: A2 00 BD 11 02 F0 07 8D 0208: E1 FF E8 4C 02 02 4C 0E 0210: 02 48 65 6C 6C 6F 2C 20 0218: 57 6F 72 6C 64 21 0D 0A 0220: 00 ]FFFC 00 02 ]RESET Hello, world!
@kjmullinz
@kjmullinz 2 месяца назад
Where is this sold?
@idolpx
@idolpx 3 месяца назад
Nice! Enjoyed the video. Thanks for sharing. :)
@kuro68000
@kuro68000 3 месяца назад
This reminds me of Japanese 8 bit machines, particularly the Fujitsu FM8. It had a second 6809 CPU for the video, with its own RAM and a bus connecting it to the main CPU. Bandwidth was limited. Similarly MSX had separate video RAM (usually 2x main RAM) with a slow bus connecting the CPU to it via the video chip. It's a shame no western micros adopted that set-up.
@JoeHamelin
@JoeHamelin 4 месяца назад
David H. Ahl was great. I remember calling him up to ask about the MID$ command since the Xerrox BASIC at school (1978, Yakima) didn't have that and I was trying to figure out a work-around. He took a half hour out of his evening to chat about computers with this kid.
@JoeHamelin
@JoeHamelin 4 месяца назад
I got the board from you today and ordered the parts from Mouser. I last soldered in a 6502 back in the mid 80s working for a start-up in PDX making telemarketing machines originally out of C64s and Code-a-Phones. We eventually made our own board (but borrowed the C64 kernel) which I drew up by hand in a basement not that far from where you live. Maybe someday we can meet up at the Barley Mill and swap stories. I'm back in PDX after decades away and now live in North Portland.
@canou1967
@canou1967 4 месяца назад
I hope you make more video around commodore and Picocomputer. I watched all the video a second time. I'm impatiently waiting for other videos and I'm building the picocomputer.
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR 4 месяца назад
What about a loop that waits till Verticle_Blanking is false.
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR 4 месяца назад
This is like VGA on a 6502.
@MrCoalmin
@MrCoalmin 4 месяца назад
Only the third version of the X16 is supposed to be under $100; still great video 👍🖖🙂
@thisisreallyme3130
@thisisreallyme3130 4 месяца назад
Hey Rumble. I've watched most of your videos (thanks), but today this video came right to the top when I searched for "llvm-mos". I'm fascinated by that project (regularly searching for it every few weeks), so I just want to give another thanks for having a talk about it. What great timing. Cheers.
@SuperCozMick
@SuperCozMick 4 месяца назад
Thanks for sharing. I'm really enjoying this project and can follow along mostly due to your clear presentation style. I would love to hear about you and how it is that you are so good at this :)
@canou1967
@canou1967 4 месяца назад
Greats video, many thanks. Does using an RP2040 TYPE-C 16MB make sense? Were you able to test it? Can they bring anything to this project?
@TomFoltz-dp5kq
@TomFoltz-dp5kq 4 месяца назад
I think I found an AC version of a gate that may work in place of the 74HC30. The pin-out is different but other than that, it looks like it might work. The chip I found was the 74AC20.
@smallduck1001001
@smallduck1001001 4 месяца назад
Watched some of these videos a few months ago, then started from the beginning tonight instead of bingeing some starwars show. You go rather fast through a lot of the hardware stuff for a mere software guy like myself, a bit tricky to follow some of it but it's all good. Impressive work dude!
@freddyvretrozone2849
@freddyvretrozone2849 4 месяца назад
Hi, Your work is insane, congratulations. Is it really possible to access a usb storage now on the Pi Pico ? I always did read comments saying it does not work.
@TheJobieadobe
@TheJobieadobe 4 месяца назад
Those is so cool!
@derekchristenson5711
@derekchristenson5711 5 месяцев назад
Neat!
@duncanwalduck7715
@duncanwalduck7715 5 месяцев назад
Can anyone re-assure me? : I think I see bus contention on the first half of the RAM write cycle. When I had assumed that the 6502 transacts the bus on the rising edge, I thought the cunning plan was to replay what had just been programmed into the RAM address in the face of the still-oncoming data - hopefully *the same* (!) but now having had a re-visit of Ben Eater's bus timing video for 6502, I see that the zero mark is the falling edge (of phi_2). So, doesn't the ¬WE of the RAM get cancelled (raised) at one gate delay (U6a) from this fall and then, because the other bus controls of the RAM are tied open, it begins to output on the address which the CPU presently, but not 'too' slowly, begins driving address #and# data for? If you went and single-stepped it like this, couldn't it burn out if you stopped the clock in the wrong half? I haven't delved hard into what the Pico-based clock generator does for its part, but I suppose that could be a very uneven duty cycle only just acceptable to spec on the low period, which might fix things good and well. Otherwise, is there any harm tying U7, pin 10 (U7c output: post-invert of 6502 R/¬W ["RWB"]) to RAM ¬OE (instead of a short to ground)? Bi-directional busses are an absolute terror : I suppose wiring double a data bus (even if only 8 bit) is likewise a board and chip packaging nightmare, so hardly ever done - definitely not the 'commodity' approach - so unavailable (plus we only have so much Pico!)
@RonnyOlufsen
@RonnyOlufsen 5 месяцев назад
c64 was my first computer. I have been into computers ever since ❤
@RonnyOlufsen
@RonnyOlufsen 5 месяцев назад
This is awesome! 😁
@RonnyOlufsen
@RonnyOlufsen 5 месяцев назад
Hello! I just found you and this wonderful project! I am very exited, this is fun stuff! ❤
@Ratnaic
@Ratnaic 5 месяцев назад
Sorry French here. I build (soldering) PicoComputer, I have the boot text and cursor blinking. I don't understand what Pico (RIA or VGA) is connected to your personnel computer. On MacOS (Silicon version) it is difficult for me the connection with the PicoComputer. I don't understand (one more time) how to communicated with external USB device (PicoComputer). Thanks for your help.
@rumbledethumps
@rumbledethumps 5 месяцев назад
Plug the Pico VGA into your computer.
@duncanwalduck7715
@duncanwalduck7715 5 месяцев назад
It's good to know there's still PIO space (and core/s) on a ScanVideo Pico (providing it's not driving the DVI layer too, I guess.) I could not figure that out from the code for myself.
@thesword31
@thesword31 5 месяцев назад
I wish I could go back to the late 70s/early 80s just to see the looks on the faces of the trailblazing genius engineers that first developed the 8 bit micros when they're told that in 45 years people will be building these in an hour on a desk in their bedroom. Long live the 6502. Great video and awesome project. Thank you.
@franciscunningham2631
@franciscunningham2631 5 месяцев назад
First off, thank you for all your time in creating this project and making it available. I have ordered my kit from PCBWay and am hoping to receive it soon. Just a heads up that, as of 3/20/2024, opting for the $30 ‘Build’ option has resulted in a 36 day delay in shipping. (I’m working with the sales rep now to either improve that date or remove & refund the $30 Build line item so that I can get going on working with the RP6502 as soon as possible. They wanted the Centroid file but accepted that it wasn’t absolutely necessary to place the order. The lack of it, however, does seem to have slowed down their ability to ship the order.)
@franciscunningham2631
@franciscunningham2631 4 месяца назад
I received by PCBWay built picoComputer, plugged in all of the IC's and it is working well. The component that slowed down the build was the '47uF Radial Ceramic Capacitor >=10V'.
@ceptimus
@ceptimus 5 месяцев назад
A brilliant project and excellent videos about it. I've enjoyed building an RP6502 and am enjoying learning how to program it. I also have a Commander X16, an Agon Light, and several other "retro" computers, but they're sitting unused because the picocomputer is more interesting and more fun! I hope to share my programs for it, once they're good enough to be worth sharing.
@rumbledethumps
@rumbledethumps 5 месяцев назад
Welcome to Team Pico.
@gregorymccoy6797
@gregorymccoy6797 5 месяцев назад
No experience with the 6502 but I do know C is a poor fit for the Z-80 due to the paucity of registers. What is your opinion on C for the 6502 for speed / efficiency?
@Corialtavi
@Corialtavi 5 месяцев назад
This looks fantastic and do-able for me.
@jell_pl
@jell_pl 6 месяцев назад
have you tried to replace x/8 with x>>3? dunno if that is generating the same asm in the case of cc65. also you should be probably using uint type instead of int. i really like that code as an example how to work with graphics on this board!
@rumbledethumps
@rumbledethumps 6 месяцев назад
This was done in LLVM-MOS. It's pretty smart about optimizing. The same program is 50x (not%) slower in cc65.
@IntenseGrid
@IntenseGrid 6 месяцев назад
If a propeller can do this: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tQQVVguMkSU.html and ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-yfkFCMLfBQo.html and even 1600x1200VGA, why would you use a pico?
@duncanwalduck7715
@duncanwalduck7715 5 месяцев назад
Isn't it most likely cheaper (by cash, and by power budget too, possibly)? Plus, it will do peripheral things as well: this part-time 'memulator' also gets to run the filesystem kernel [ep. 6] to offload work from the (not unexpectedly weak) main executive processor.
@IntenseGrid
@IntenseGrid 5 месяцев назад
@@duncanwalduck7715 The Propeller has 8 cores that run at 80MHz 1600x1200VGA takes 5 of those 8 cores and the others can be do FAT filesystem, microSD and other functions, and you would have more IO's left for that. A Propeller may be more expensive, but it is also more powerful unless you need larger memory or USB. As for power budget, that depends on frequency, which depends on your video requirements. You can run the Propeller at up to 100MHz, or as slow as you like, and when the cores are in wait, or not loaded, they don't use very much power at all. For USB would recommend a Parallax P2, which can do 1920x1200 VGA (maybe even 2 of them, depending on how memory is mapped), Ethernet, Serial, and dozens of other protocols on the 64 IO/s and 8x320MHz cycle accurate cores.
@dave_lawrence
@dave_lawrence 6 месяцев назад
VERY interesting and a great idea. I programmed life on a Sun Sparcstation in C in the 90's directly accessing the frame buffer for speed. Trying to get it fast is a great way to learn to optimise code :) Actually, why is this titled Life on a 6502?
@rumbledethumps
@rumbledethumps 6 месяцев назад
These old processors really make it apparent when your code needs optimization. This was done on a Picocomputer 6502. I had a SPARCstation 5 at work back in the day.
@GodmanchesterGoblin
@GodmanchesterGoblin 6 месяцев назад
This took me back... I wrote a version of Conway's Life in around 1982 in BCPL, compiled for a proprietary TMS9900 microcomputer with display on a serial display terminal (80x25 characters only). It wasn't fast, of course, but it was still a fun coding exercise.
@MichaelDoornbos
@MichaelDoornbos 6 месяцев назад
Now do it in assembly.
@rumbledethumps
@rumbledethumps 6 месяцев назад
I have some other assembly content in the works.
@MichaelDoornbos
@MichaelDoornbos 6 месяцев назад
@@rumbledethumps I’ve done this on 6502 and Z80 assembly a couple times, it’s an interesting assembly problem. Didn’t mean to be a troll, I did enjoy this a lot.
@75slaine
@75slaine 6 месяцев назад
@@MichaelDoornbosSame here, Was a great programming challenge when I was learning 6502 asm.
@faberfox
@faberfox 6 месяцев назад
Fantastic work, been planning to build something like this with a spare keyboard I have and my 3D printing plans were a lot more complex. Yours look really clever and functional. Will comment back once I'm done, thanks!
@danielthornburgh4485
@danielthornburgh4485 6 месяцев назад
Hey, great video. Have a quick clarification about the date of inception for llvm-mos. Any commits as old as 2001 in the llvm-mos repo would have to belong to Chris Lattner; LLVM itself dates back to around that time. While we do stand on the shoulders of giants, llvm-mos's inception as a fork is considerably more recent, starting with the initial assembler and linker work done by John Byrd. That was a couple years old by the time (Jan 2021) I independently started working on porting clang and the LLVM code generator to the 6502, initially targeting the ca65 assembly syntax. We merged the two projects together in Mar 2021 to form a full toolchain. So the fork is somewhere around 3-5 years old at this point, depending on on how you count.
@rumbledethumps
@rumbledethumps 6 месяцев назад
Thanks for the update. Fantastic tool!
@NULUSIOS
@NULUSIOS 6 месяцев назад
Interesting.
@twobob
@twobob 6 месяцев назад
you have a friendly face and a nice voice. Stop being so nervous. Good info
@thisisreallyme3130
@thisisreallyme3130 4 месяца назад
Haha. I hope he takes both our comments well, as they are intended, but yeah there's a little bit of deer-headlights going on. That said, huge props to him for making a great effort here and facing a challenge. There is nothing here except more encouragement, Rumblethumps. Cheers.
@bobweiram6321
@bobweiram6321 6 месяцев назад
I would be terrified of running out of precious RAM. It must have its own specialized 6502 backend to create an alternative to the standard stack frame given the minuscule size of the stack address space. I'm curious to know. During the 80s, there were a few 6502 C and Pascal compilers, but the code was horribly inefficient. We wrote everything in assembly, including our own RTOS and a boot loader.
@rumbledethumps
@rumbledethumps 6 месяцев назад
Both compilers have a second stack managed by the compiled code. The CPU stack is indeed too small to be practical for C.
@alimackenzie7742
@alimackenzie7742 6 месяцев назад
Promo-SM 😀
@KC-qc6cr
@KC-qc6cr 6 месяцев назад
would it be possible for you to provide a binary file for the pi pico, i'm having a hard time getting the development environment to run. thanks a lot!
@rumbledethumps
@rumbledethumps 6 месяцев назад
Binary releases are in the GitHub repository.
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR 6 месяцев назад
can you not do configure cmake make make should build and link I suspect.
@rumbledethumps
@rumbledethumps 6 месяцев назад
This is the setup I decided I could maintain. You can do other things if you know how, especially if you know cmake.
@Marc_Wolfe
@Marc_Wolfe 7 месяцев назад
'I'm not going to spend much time on the code; because I'm not actually trying to teach.' fuck you too