Out of all the electronics channels I follow you have the best "raspy old school electrician voice", the videos are a pleasure to watch and I've revisited them multiple times in my own pico projects! Love the channel, keep up the good work!
I really like the comparisons drawn between your 6502 assembly experience and this... as someone who is actively developing a 6502 emulator for the Pico, it's been a wild ride to combine both worlds.
Sounds cool! I'm hoping to make a 6502 emulator also. I've never done one, but I have a couple ideas on how to make it fast. Not sure if it will work though. Thanks for watching!
Hi David, Love machine code - it's so fast, precise and concise. And thanks for figuring out the fiddly details that jump-starts things for the rest of us.
I loved your assembly listing from 1976... by the time I got into 6502 we had a lovely assembler built in to BBC BASIC... But before then I did Z80 with good old fashioned pencil and paper. :)
That's great! Although you can't write massive programs using paper and pencil; it still gives me satisfaction to manually work with machine code. I did write a rudimentary DOS for the 6502 using paper and pencil; but that was the limit for me.
Ah, the 6502, such fond memories 🙂 I worked at IBM developing the XGA display driver Windows driver back in 1989, and we had the luxury of using the 80186; I remember a life of counting cycles and using clever tricks because every cycle you saved made the display hardware seem faster, and that's what counted in those days.
That really brings back memories. I designed a hobbyist one-off disk operating system and had to count cycles to process the disk data in time. All in all, those early days were a lot more fun and satisfying for me than the later stuff. Thanks for watching!
I cut my teeth on 6502 single board computer SYM-1 from SynterTec , hand assemble to hex codes and poke them via the keyboard. No assembler, no compiler, just bare metal programming. This is a skill set that is now days frowned upon because nobody wants to know the machine that well. I am glad to know I am not alone, THANKS !
My first "Eureka!" came as a result of an instructor taking us on a 'working trip' through the hardware of a PDP11-05, at the TTL level, understanding that a "register" was a vrpup of D flip-flops, connected with multiplexers to an ALU, address registers/counters, memory dats bus, cchip selects...and that the 'software' was a bunch of bits in memory that controlled muxes, and register selection, and add/subtract, and...wait! 'Software....that's just hardware states controlling counters, operations, location selections...' Suddenly, as a hardware guym this "bare metal" view allowed my thoughts to work "up the stack" to "languages"!! Then, being very professional, using a POP Assembler (pencil on paper), the professionalism showed up by using lined computer paper! MC6801! First MCU with hardware muliply, in 1978..
Thanks for the insights. Machine language really does strip back the "magic" and helps both hardware and software people get a feel for the entire computing process. Check out my emulator videos; I found the process fascinating. Thanks for watching!
Hi, I've been enjoying your Raspberry Pi Pico programming videos. I have a suggestion of something you could do that I'd like to see a video on: Using the MicroPython assembler for the Raspberry Pi Pico. I just made a video showing it but only with a few tiny examples. The only other videos I could find on it just showed some output, not showing the process of programming it. It seems like it could be easy to get started with since it didn't need much set up on the host computer.
Thank you. I didn't know much about the MicroPython in-line assembler; I learned more by watching your video. I have a couple more bare metal videos I'd like to do; then I might try melding MicroPython, C/C++ and assembly all together. Thanks for the suggestion!
I've thought about using VS more; but then I get bogged down in trying to get videos out in a timely manner. I wind up sticking to what I know. Something about old dogs and new tricks. I'll look into it again. Thanks for the tip.
Im going to enjoy this series. I have a little hobby x86-64 OS and am very familiar with the architecture. Arm is completely unfamiliar to me, but I've written my OS in a "portable" way. Time to port to Arm and se how portable my design really is! Won't be doing the whole thing in assembly, but this series will be a great start for getting my asm stubs written! Thank you.
@LifewithDavid1 thanks for the reply. Looking forward to getting there with the full barebones. Not looking forward to wrestling with the linker! I have my picoprobe and breadboard at the ready. Really nice that with the picoprobe I can upload code completely hands-off and have a nice way of connecting with gdb too.
I like so many others started programming on the 6502 all those years ago and took to assembler because the alternate was basic which was so so slow. P.S do I get a prize for noticing the deliberate mistake on line 25 of the blink program.............shows I was following what was going on🙂
Ah yes; but WHICH one is wrong? They both work. That's why I didn't notice it. :-) Now I'm gravitating toward hex numbers and atomic registers so I don't get into these pickles. Thanks for the comment; and for watching! Chapters 9 and 10 feature a pico/6502 emulator; and I'm currently working on getting the 6502 TIM monitor running on the Pico.
Hello. Tell me how to make two external interrupts for counting pulses with a frequency of 1200Hz-2200Hz and a second counter 1Hz-600Hz. Thank you for your work.
Check out my bare metal interrupt video (ua-cam.com/video/GyxlBpIZ28I/v-deo.html) or my PIO interrupt videos (ua-cam.com/video/AaxrtL4SZHQ/v-deo.html) or (ua-cam.com/video/iTxJ22GZz9Y/v-deo.html). Hope this helps. Good luck!
After years of programming z80, 6502,8048,8051 and way too much pic assembler , i wonder why i'm watching this. I guess Istill find it interesting :-) . I'll (hopefully) probably never use arm assembler - well not beyond a little inline in micropython - since my brain seem to have atrophied in the last few years and even the thought of looking at opcodes gives me the shudders ;-)
I thought so too; but assembly works like "Prevagen" for me! I do seem to think clearer and have better memory function than before (although my head hurts just a little). lol
21:25 str r1, [r0, #36] 36 decimal is 0x24 not 0x20. It should be #32. I tested the code with this change and it seems to work fine. Is this a mistake?
You are right. MIKE-kd4sf pointed this out about a month ago (see previous comment). I changed the code in the Github repository. Thanks for pointing out the discrepancy.
@@LifewithDavid1I see now. Btw, excellent presentation and teaching methods without using the pico SDK as a crutch. Maybe it would be great if you could write a book on the same, make some money 😅. I bought Stephen Smith's RP2040 ALP, but then again, the entire book uses the pico SDK as a walking stick.
AND you are one of tge very few on here who uses flow charts Too many just dive straight in and write code with the inevitable errors. The viewer is lost and this includes one famous Harvard Pico course.
Thanks. When I wrote the emulator; I filled an entire yellow pad with flow charts. I just can't think without pencil and paper. BTW, "The Prisoner" takes me back to those wonderful shows of the late sixties (including "The Avengers"). They don't make them like that anymore.
Out of all the electronics channels I follow you have the best "raspy old school electrician voice", the videos are a pleasure to watch and I've revisited them multiple times in my own pico projects! Love the channel, keep up the good work!
Wow, thanks! And thanks for watching!
ASM more like ASMR amiriteeee
I really like the comparisons drawn between your 6502 assembly experience and this... as someone who is actively developing a 6502 emulator for the Pico, it's been a wild ride to combine both worlds.
Sounds cool! I'm hoping to make a 6502 emulator also. I've never done one, but I have a couple ideas on how to make it fast. Not sure if it will work though. Thanks for watching!
Hi David,
Love machine code - it's so fast, precise and concise.
And thanks for figuring out the fiddly details that jump-starts things for the rest of us.
Absolutely! Thanks for watching!
Thanks David, these video are amazing, they have helped me go from using SDK to truly using bare metal ASM.
You're welcome. That was my goal; programming at its lowest level!
I loved your assembly listing from 1976... by the time I got into 6502 we had a lovely assembler built in to BBC BASIC... But before then I did Z80 with good old fashioned pencil and paper. :)
That's great! Although you can't write massive programs using paper and pencil; it still gives me satisfaction to manually work with machine code. I did write a rudimentary DOS for the 6502 using paper and pencil; but that was the limit for me.
Ah, the 6502, such fond memories 🙂 I worked at IBM developing the XGA display driver Windows driver back in 1989, and we had the luxury of using the 80186; I remember a life of counting cycles and using clever tricks because every cycle you saved made the display hardware seem faster, and that's what counted in those days.
That really brings back memories. I designed a hobbyist one-off disk operating system and had to count cycles to process the disk data in time. All in all, those early days were a lot more fun and satisfying for me than the later stuff. Thanks for watching!
Wow, what an impressive and interesting series! Thank you!
Thanks for the kind words. I hope UA-cam will share this with more people.
thank you for your helpful input
You're very welcome. Thanks for watching!
Nicely done. I look forward to more vids in this series.
Thank you. I just published one today. Enjoy!
I think there are many of us who programmed the old 8 bit cpu's. And now we have come full circle. Still same processes just more powerful cpu
I had a blast writing a 6502 emulator for the Pico. That's in my more recent videos.
I cut my teeth on 6502 single board computer SYM-1 from SynterTec , hand assemble to hex codes and poke them via the keyboard. No assembler, no compiler, just bare metal programming. This is a skill set that is now days frowned upon because nobody wants to know the machine that well. I am glad to know I am not alone, THANKS !
I really appreciate your comment. It IS good to know that we're not alone. Thanks for watching!
My first "Eureka!" came as a result of an instructor taking us on a 'working trip' through the hardware of a PDP11-05, at the TTL level, understanding that a "register" was a vrpup of D flip-flops, connected with multiplexers to an ALU, address registers/counters, memory dats bus, cchip selects...and that the 'software' was a bunch of bits in memory that controlled muxes, and register selection, and add/subtract, and...wait! 'Software....that's just hardware states controlling counters, operations, location selections...'
Suddenly, as a hardware guym this "bare metal" view allowed my thoughts to work "up the stack" to "languages"!!
Then, being very professional, using a POP Assembler (pencil on paper), the professionalism showed up by using lined computer paper!
MC6801! First MCU with hardware muliply, in 1978..
Thanks for the insights. Machine language really does strip back the "magic" and helps both hardware and software people get a feel for the entire computing process. Check out my emulator videos; I found the process fascinating. Thanks for watching!
Hi, I've been enjoying your Raspberry Pi Pico programming videos.
I have a suggestion of something you could do that I'd like to see a video on:
Using the MicroPython assembler for the Raspberry Pi Pico.
I just made a video showing it but only with a few tiny examples. The only other videos I could find on it just showed some output, not showing the process of programming it.
It seems like it could be easy to get started with since it didn't need much set up on the host computer.
Thank you. I didn't know much about the MicroPython in-line assembler; I learned more by watching your video. I have a couple more bare metal videos I'd like to do; then I might try melding MicroPython, C/C++ and assembly all together. Thanks for the suggestion!
Well done !! 😀
Thank you! 😃
Excellent class on assembly language! Thanks.
VS code is good IDE. My suggestion - visual studio code arm assembly
I've thought about using VS more; but then I get bogged down in trying to get videos out in a timely manner. I wind up sticking to what I know. Something about old dogs and new tricks. I'll look into it again. Thanks for the tip.
Im going to enjoy this series. I have a little hobby x86-64 OS and am very familiar with the architecture.
Arm is completely unfamiliar to me, but I've written my OS in a "portable" way. Time to port to Arm and se how portable my design really is!
Won't be doing the whole thing in assembly, but this series will be a great start for getting my asm stubs written! Thank you.
I hope you enjoy it. The real fun begins in Chapter 4 where we dive into truly bare metal (no SDK). Thanks for watching!
@LifewithDavid1 thanks for the reply. Looking forward to getting there with the full barebones. Not looking forward to wrestling with the linker! I have my picoprobe and breadboard at the ready. Really nice that with the picoprobe I can upload code completely hands-off and have a nice way of connecting with gdb too.
I like so many others started programming on the 6502 all those years ago and took to assembler because the alternate was basic which was so so slow.
P.S do I get a prize for noticing the deliberate mistake on line 25 of the blink program.............shows I was following what was going on🙂
Ah yes; but WHICH one is wrong? They both work. That's why I didn't notice it. :-) Now I'm gravitating toward hex numbers and atomic registers so I don't get into these pickles. Thanks for the comment; and for watching! Chapters 9 and 10 feature a pico/6502 emulator; and I'm currently working on getting the 6502 TIM monitor running on the Pico.
Hello.
Tell me how to make two external interrupts for counting pulses with a frequency of 1200Hz-2200Hz and a second counter 1Hz-600Hz.
Thank you for your work.
Check out my bare metal interrupt video (ua-cam.com/video/GyxlBpIZ28I/v-deo.html) or my PIO interrupt videos (ua-cam.com/video/AaxrtL4SZHQ/v-deo.html) or (ua-cam.com/video/iTxJ22GZz9Y/v-deo.html). Hope this helps. Good luck!
After years of programming z80, 6502,8048,8051 and way too much pic assembler , i wonder why i'm watching this. I guess Istill find it interesting :-) . I'll (hopefully) probably never use arm assembler - well not beyond a little inline in micropython - since my brain seem to have atrophied in the last few years and even the thought of looking at opcodes gives me the shudders ;-)
I thought so too; but assembly works like "Prevagen" for me! I do seem to think clearer and have better memory function than before (although my head hurts just a little). lol
21:25 str r1, [r0, #36]
36 decimal is 0x24 not 0x20. It should be #32. I tested the code with this change and it seems to work fine. Is this a mistake?
You are right. MIKE-kd4sf pointed this out about a month ago (see previous comment). I changed the code in the Github repository. Thanks for pointing out the discrepancy.
@@LifewithDavid1I see now. Btw, excellent presentation and teaching methods without using the pico SDK as a crutch. Maybe it would be great if you could write a book on the same, make some money 😅. I bought Stephen Smith's RP2040 ALP, but then again, the entire book uses the pico SDK as a walking stick.
Hey noted you undertook rp2040 challenge
Not sure what the RP2040 challenge is; but I've enjoyed that chip for over two years now. Thanks for watching!
AND you are one of tge very few on here who uses flow charts Too many just dive straight in and write code with the inevitable errors. The viewer is lost and this includes one famous Harvard Pico course.
Thanks. When I wrote the emulator; I filled an entire yellow pad with flow charts. I just can't think without pencil and paper. BTW, "The Prisoner" takes me back to those wonderful shows of the late sixties (including "The Avengers"). They don't make them like that anymore.
Who invented this term "bare metal"❓I found it's the humiliation of Semi Conductor 😂
I guess Captain Pico is going "commando'. LOL