David got a Commodore PC; I never knew they made one. You should get one, if you dont have one. Would be interesting to see if Windows could run on it, et al.
Amazing to see your comment here, 8-bit guy! I love your channel! It would be awesome if you did something like what @Nibbles and Bytes is doing and go into a bit of technical detail on how you programmed your Planet X games, like a tutorial on assembler language.
How have I only just seen this? Welcome to the scene - the more the merrier - and well done on a fantastic early video! Your friend in retro, Perifractic 👍🕹️
Congrats on your first video! I've been getting many requests to do more programming videos on my channel, and I agree that this is a great area to explore. I'm looking forward to more!
As a Commodore 64/128 computer nerd going way back (I owned both machines as a youngster - both of which I bought myself with lawn mowing money,) I love this presenter for her passion!
Great start to the channel! After having grown up with a C64 and an Amiga, I've just started learning assembly for the Amiga 68k CPU and I can already see some similarities in the chip architecture. I really like the simple approach and explanations. Nicely structured and presented :-). Keep it up!
I'm getting extreme Fran Blanche vibes from here. It's an amazing channel with tons of interesting content. I wish you all the best and looking forward to the new videos.
Well done for spotting the big gap - and why I had stopped watching this type of videos - but when I have seen the title: "Commodore 128D" then I had to check out this video on my old first computer (or was it my second or perhaps my third computer) -- Hey ! the only machine having 2 CPUs (8502 + Z80) and 2 Operating Systems (I mean BASIC V7 + CP/M)
Love this new focus - huge breath of fresh air to stop focusing on the hardware non-stop and getting into the software side of things. I also love the D! Subscribed.
What a recommendation! As a developer and tinkerer myself with an interest in these retro machines (and an ever growing collection) this channel looks like it will be *right* up my street. Best of luck with the channel and I'm looking forward to seeing more!
I'll admit, I just recently picked up a C128 because it seemed like an interesting machine, and I wanted to be able to demo its library of software, and also experiment with CPM. It's the first 8-bit micro I've owned, and the first one I've used since elementary school.
I stopped getting notified by UA-cam two years ago. Glad I've found you again. I've wanted to finish watching the C128 series. I don't have a D version but I was looking to modify mine to interface to a serial I/O stream through the audio cassette port as well as add an external 3.5FD.
Well, welcome back! There's much more to the 128D series coming. Once work clears up, I can spend more time on the channel again. Shouldn't be much longer, I think.
This is so cool! You're absolutely right, there is a lack of actual programming stuff for the old 1980s home computers. And the C64 was such an amazing little machine.
Amazing to see someone talking about the stuff from 35 years ago! (amazing any of it still works). I will link to your vid from FB and if you ever join c128.com feel free to promote your retro video's there, doesn't have to just be Commodore related. Sadly the "real" C128D as we called it, wasn't released in the US in any real numbers, the metal version "bleck diesel" was re-engineered a few years after I left and can be identified by the large amount of character clock noise on the screen. The plastic C128D was my favorite one of the series, the one with the keyboard clipped to the bottom and also had a handle, though it could bang you in the shin if not careful. I look forward to your next videos! Bil Herd
BilHerd Have to admit, I would like the earlier design like you mention. The keyboard cable is very short! Since you're here, what the heck does that switch next to the RF connector do? I thought it was a channel switch, but given the labelling, I'm not so sure.
CHANNEL SELECTOR SWITCH- Set television channel for viewing com puter display {L channel 3; H channel 4) ftp://www.zimmers.net/pub/cbm/manuals/c128/C128D_Introductory_Guide.pdf
but I see n understand what you mean Nybbles and Bytes why L & H instead of just 3 ch n 4 ch unless it was different in Europe , this may be the reason .. ?
Love the philosophy of writing new software for a vintage computer, instead of just playing games on it, or worse, keeping on a display shelf. Looking forward to this series!
Great. I hope we see some cool stuff done with the 128. This machine was sorely underutilized and really deserves some love. I'm definitely one of those hardware-centric guys but it's always good to explore something new.
I'm really glad I found this channel. I've decided to learn some assembly programming and decided on the C128 as the platform on which to do it. I'm having some trouble with Vice on a mac though. Hopefully I'll muddle through and actually figure out how to get all the keyboard commands I need to work.
In the 70s, I programmed in z-80 and 8080 assembly code, APL, and BASIC at home on my TRS-80 Model 1. I also programmed for Control Data Corp for a while in a business BASIC called TAC BB2. Later I had a Vic-20 at home and loved it! If you were tight, you could do a lot in 3.5K of RAM. My friends had Apple IIs. This architecture looks the same as the 6502. I would guess, however there are a few extra commands available. Nice video, well explained. All good wishes!
Instant like for the Full Metal Jacket reference. Stanley Kubrick is the best director of all time, by a wide margin. What he produced was something other than films. He will make even the real geniuses feel humble when you truly start to research his films.
I love this! Like you, I was an avid C64 gamer and always wanted to make my own games. BASIC just never cut it. At first glance, it’s a little over my head but I could use a challenge and think I’ll get the hang of it quickly. Keep up the great work.
I remember writing a complete lengthy guide for it, including where everything was, and uploading it to the BBSs of the day. Wish I had been able to keep it.
Great to see in depth technical coverage of the 128! Looking forward to more videos! Of course, the 8502 can only address 64K but a key feature of the 128 was bank switching. It will be good to cover when necessary.
@@NybblesandBytes Thanks, that video helped clear up a lot. The 64 had its own MMU configurations for swapping in RAM/ROM/IO (which I knew), which was made even more complex by the 128 (which I didn't). That, combined with the bank and page selection in the VIC-II can lead to a lot of power, but also a lot of confusion.
When I was in high school, I wrote a cheesy flight simulator game in BASIC on a notepad with a pen because my parents couldn't afford to buy me a computer. When I typed in the program at school, I wasn't able to debug it in the 50 minutes or so of class time I had available. Only one person believed in me, everyone else (including the teacher), thought what I was trying to do wasn't possible. Joke's on them: I now make a good living.
UA-cam algorithms seem to think I would like this channel, and golly it's right! I'm nearly 50, my first game published when I was just 14, it was terrible. But the cool shortcuts we learned back then are finding a new lease of life with modern shader programming. Subbed. And thank you.
Great stuff. It’s almost like a new golden age of 8-bit computing. Like very many here, I got my start with the C64 as a kid and always dreamed of writing a game for that amazing machine. As a kid it was very hard to get a start though. With the widely available information about these machines and a growing community of people interested in reviving the hardware there is a thirst for scratching old software itches that were left unattended. Looking forward to future installments.
This is awesome! I just started learning the 6502 assembler language myself this past month. I found the documentation for it on archive.org, but I've been trying to write my own emulator for it in Haskell just to get a handle on how the thing works. I haven't had the time to go into the detail of the CPU's circuitry/block diagram the way you did here, but I will have to eventually if I want my emulator to operate realistically. For now, I've just focused on understanding the instructions and address modes well enough to write them as math equations in Haskell. Anyway, keep up the good work!
@J. Walter Hawkes You might want to check out my ISA reference, then. It's based on the one on the 6502.org site, but made to be a single page with quick reference clicks. nybblesandbytes.net/6502
UA-cam recommends is really working great nowadays. This channel just popped up a few minutes ago and I see its brand new. Really enjoyed the video. I didn't even know this computer existed. I had a C64 and knew there was a 128 but not this beast. Anywho looking forward to more, you're off to a great start here.
Your timing is pretty crazy. I just started dabbling with assembly on the 64, so this stuff is of interest to me. It's hard to find good content about this.. keep it up
Same here. A very good book to read: doc.lagout.org/programmation/asm/Machine%20Language%20for%20the%20Commodore%2064%20and%20Other%20Commodore%20Computers%20%5BButterfield%201984-11%5D.pdf
Great video. As a software engineer, this brings back the warm memories of learning the machines of that time. Computers of that time were new, exciting and full of potential, yet still simple enough to comprehend for the young mind. Learning to program back then kept me captivated for years, I still cherish those times greatly. Looking forward for the next video!
So many warm fuzzy memories like that! Sometimes I do wonder, though, if they were warm and fuzzy because of the monitors, though... :D Seriously, though, nostalgia is amazing. =o)
Awesome video! Looking forward to more videos. Lately I have been very motivated to try some coding. I am thinking to give Atari BASIC a go since that was the first language I tinkered with. I always wanted to program, but Atari BASIC is where it stopped for me, LOL. -- AmigaBill
I love your new channel. But if I could make a suggestion for you going forward. I am not sure if you are looking at a teleprompter next to your camera or the camera's monitor. Either way, it's a bit distracting if you shift your focus (your eyes) from the camera lens to the thing off screen. Preferably, you would simply talk to the camera lens and forget the monitor is there. That way, we feel like you are simply talking to us. If you are using a teleprompter, you can invest in one that uses a reflective screen so you can still look into the lens of the camera. Focus on the lens. That's us! :-) Hope this helps and I mean no disrespect. You are off to a great start! Cheers!
Pull My Focus I was actually using my iPad as a teleprompter in this video. The problem was that I didn't have a mount for it to put it in the right place. :-) I went out and got one, though, so it should be better in the next one -- I can put it right below the camera lens, which seems to help quite a bit.
@@NybblesandBytes you might eventually want to invest in something like this. glidegear.net/products/glide-gear-tmp-100-500-replacement-glass?variant=5914855735335&gclid=Cj0KCQiA-c_iBRChARIsAGCOpB39GvrulvOGEaz9rZQ9SaXLzSGlCCb1WX-uB7z93svnRNP2LiS__jgaAkOLEALw_wcB
jin choung Yeah, I nearly did last time I was in Fry's. Ended up getting a tablet mount that can fit it in just under the lens, so hopefully that should work out better. If not, I'll see about getting one.
Fantastic!! "I also remember a deep longing to make my own games, and my own software", hearing those words on UA-cam is like a glass of cool water in the desert.
Excellent initiative. Best of wishes for the new series! It's so comforting to watch a knowledgeable girl presenting a retro channel in a mostly male retroworld.
Oh, nice. Used to program my c64 as a kid and learning to create sprites and music (good old mid-80's :) ). Basically the very start of my career as a developer. Consider me a new subscriber.
Good luck with your channel. I am always happy to see more people who love vintage tech but aren't 'retro' - which basically means looking back on what has been done. It's much better to look forward at what can be done.
I WRITE C64 MUSIC SOFTWARE. Good job trying to explain this stuff !! You should check out the NEW C256 Foenix , a 6502 compatible cpu with 15 mhz speed.
This is wildly incorrect. Stefanie is hard at work on it and has even produced fully populated boards here: c256foenix.com/news/?v=7516fd43adaa While her project isn't my cup of tea (neither is the Commander X16), it's still an awesome project worthy of respect. Please be patient with her -- hardware is insanely hard to build properly, especially when using modern FPGAs like she is.
@@NybblesandBytes Can you elaborate a bit on these projects not being your cup of tea? - I have the same feeling, mainly because it distracts from the classical retro platforms splitting the community further.
@@NuntiusLegis I'm not sure it does anything to split the community, TBH. There's plenty of room in folks hearts for all kinds of machines, including new-old-retro machines. It's just not something I'm all that interested in -- if I'm going to build a new machine, I'd rather it be a new machine using modern techniques but still be programmer friendly, since we've learned a freaking ton since the '70s. In fact, I'm in the process of building one myself in fits and starts, but using modern systems like RISC-V as the starting point. See also www.hypercube.computer/
@@NybblesandBytes I like the idea that C64 and DOS are eternal platforms now, with new software written this year or 20 years ago still running on cherished original hardware, replicas, or in an emulator on current machines anytime in the foreseeable future. I can't imagine the same happening to either the current mainstream platforms or one of the retroish new hobby computers.
Thanks for posting this , it's great to see the C128 get some love! I had the original (non D) 128 and sadly had mostly c64 software for it. Always thought the 128 was much more stylish, not to mention the improved specs
fyi i have zero understanding of any of this and i STILL thought it was a good video! Everyone nodding sagely at your vast knowledge of the 128d and i'm over here shouting SHE HAS MAGNETIC PENS!
Although I think that the restoration aspect of vintage computer is a very important one. Lets be honest, if they weren't kept running - they would be around to program on :) Admittedly that is what mine concentrate on, but thats mainly because I couldnt write a line of code to save my life :D BUT! You are correct. The programming side is generally missed, with the probably exception of the 8-Bit Guy who frequently goes into things like memory maps etc, and did cover the development of Planet X2 quite well. Absolutely best of luck on the new channel. I've certainly subscribed and will be watching with keen interest.
Definitely -- I think the restoration aspect is hugely important. We need it to keep these machines alive, so yeah, definitely need that. Unfortunately, I'm not particularly good at that aspect, but I can do software, hence the thought. =o) I would have preferred if the 8-Bit Guy had gone into a bit more detail on the memory mapping for Planet X2, and maybe some of the assembler challenges he would have inevitably run into while cross assembling and testing between emulators and the real thing. Still, he did a great job -- I just hope to get a bit more detailed if I can.
@@NybblesandBytes I think you taking that more detailed look at the programming side is a fantastic idea, and as you pointed out - its certainly a gap in the YT-retro-computing community. BTW - Twitter?
@@NybblesandBytes glad to see you are on Twitter - there has been quite a few people noticing you over there in some of the retro circles. Look me up at @10marc1
Great, now I want to buy a commodore 128D. I almost bought one many years ago, but the obsession faded because I knew I wouldn't do very much with it, but now I have an opportunity to learn, and that is exciting.
@Chola Tech I've already somehow made it to nearly 5k subs over two weeks with basically one video. I have no idea how this happened -- frankly I'm a little frightened! O.o
@@NybblesandBytes Because you're essentially a pioneer. I haven't really seen any youtube videos diving this deep into this sort of stuff. It was almost shocking to see you actually getting into it. Less relevant, but still noteworthy, is my anecdotal experience - whenever I saw any geeky content, if there was anyone female involved, it was either non-IT-related science, like psychology or physics, or, cultural geeky stuff (like Marvel comics/DC Comics/stuff like that). Until now
Cool vid. Suggestion: Get rid of the background music, or at least turn it way down. It's distracting and makes it a lot harder to understand you. Best of luck.
@@Johanniscool Aha! I've been playing with the equalizer settings in Final Cut Pro X, but couldn't come up with anything that sounded good to my ears, but I'll give this a shot -- I don't remember tweaking anything in the 1kHz range before, and the built in "voice enhance" equalizer doesn't seem to help much. Worth a look, and thanks for the tip!
Nybbles and Bytes if you want to get really nerdy then throw a RTA (real time analyser) on your voice track and you’ll be able to see the common frequencies specific to your voice, and then armed with this info you can scoop the same frequencies from the music track, giving your voice some room in the mix. I usually just drop 1khz 3-6 dB and then either side of 1khz half as much again so it’s more of a scoop and less of a notch. There’s a rta in final cut but it’s not called that, can’t remember where I found it, I think it’s built into one of the eqs. It basically just shows visually which frequencies are loudest, usually with bars. Happy to help 😊
@Johann Cerecke Ah-hah! Okay, yeah, I'll give that a look see in episode 3. In the meantime, I cut down on that range a bit, and it seems to have really helped. Also dropped the dB on the music track some. It's a bit too quiet now, TBH, so hopefully the RTA (if I can find the blasted thing -- X is a mess!) in Final Cut Pro will help. Thank you very much! ^,^
I really want to learn about machine language. I can program with Basic, VB, C, C++, Java script and many other languages but I know nothing about machine language. Here is a problem I'm having here. First you've explained A as being a register, but later you've referred to A as being an accumulator. This is very confusing. Are you expecting your viewer to know what an accumulator or register is? If that's so then unfortunately this is too hard to understand for me without some basic assembly or machine language conventions or concepts. What I'm asking is actually missing in UA-cam. I would really appreciate if you would first provide a basic knowledge about how assembly works. stuff like what are the possible variable types such as integers, strings or floats. how can we make a for loop. how do you get user input assigned in to a variable or how do you output a value of a variable... do you have to write the code into a specific area of the memory or is it loaded to where ever the loader decides to code to go? do you have to compile it or is it interpreted? for example you've mentioned opcodes, so checked on wikipedia what the hell is an opcode. so apparently there has to be an opcode table and it is different for every processor. so, I found the opcode table for 6502 but still it is confusing... you've indicated A9 is an opcode and also you've mentioned about the mnemonics are creating the opcodes, ok but I've checked the opcode table of 6502 here: www.oxyron.de/html/opcodes02.html and there are many different LDA mnemonics so how do you make an LDA with a different opcode also what is the significance... A9 is LDA but opcode B5 is also LDA... what does that mean? What are the mnemonic types and are there different types and what are they for really?? Can write the assembly code on a text editor like notepad? if I can, how do I make the txt file an executable such as an exe or PRG??? Please explain everything while considering the viewer either already knows Basic or C since I can not think of anything simpler and certainly knows nothing about assembly. Please do not expect your viewer to already know assembly. Please explain all basic concepts of assembly.
@Tonguç Endem I'll see what I can do in the next few videos to start describing in more detail what this stuff is and how it works. In the meantime, maybe I can answer some of your questions here: - A register is a temporary memory that holds information so that the CPU can work with it. Think of these as your "variables" in machine language. You only have a set number of them at one time. In the case of the 6502, you have three that are directly manipulatable: A, X, and Y. - "A" is one of the registers of the 6502. It's also known as the "accumulator" because it accumulates the outputs of various operations that the opcodes instruct the CPU to perform. In other words, if you instruct the CPU to, for example, add two values together, the results of the addition will be stored in the A register. - An opcode is just a number. This number happens to have a format to it that is decoded deep inside the CPU and instructs the Arithmetic/Logic Unit to do some form of work. We don't usually write opcodes because it's too tedious, and instead use mnemonics. - Most opcodes have an "operand", or set of parameters. Some don't. Depending on how those operands are written determines which opcode is used. The way we write those operands is known as an "addressing mode" because it changes how the CPU has to fetch that data. - For instance, in the video I use "LDA #$00" the "LDA" part tells the assembler that I want to use the "LDA" base opcode, and the operand is written with a "#" prefixing a hex value of "00". The "#" tells the assembler that I want to use the "immediate" addressing mode of the "LDA" opcode. In this case, A9 is the correct opcode for immediate addressing. B5 is used for a different addressing mode. I'll take these notes down and see about doing a series of short videos explaining this stuff. Thanks for the feedback!
@@NybblesandBytes Does all this apply to modern x86_64/ARM64 processors, too? Of course, instead of 3 registers I'm guessing there are millions or billions or trillions, or is the instruction set completely different? An opcode that wouldn't have operands would be, say, some kind of NOT which flips all of the bits to the opposite state?
@Liran Piade the points I make about registers and opcodes, operands, and mnemonics still hold true today, even for x86_64 and ARM64 CPUs. The only major difference is that modern architectures are heavily pipelined, have crazy long opcodes (128-bits wide in some cases!), do crazy vector math, and have *tons* of registers. Yes. An opcode that doesn't have operands might be something like the stack instructions PHA and PLA, which "PusH A" and "PuLl A" to and from the stack.
Nybbles and Bytes, Thanks a lot. I really appreciate your attention. I know if i can just get the basics and be able to write a couple of simplest programs, i will be able to built on it. It’s such a shame that I can not even write a ‘hello world’ kind of thing in assembly. I’m really trying to learn assembly so that I can program my CBM 8096, C64 and Arduino to be fast and efficient. Thanks a lot again.
@@Mr_ToR Well, until I get a basics video up, try following along with the assembly I do in the channel -- the screen clear program is about as simple as you can get, and includes a single "for" loop, which is exactly why I chose it to start the channel with. All you need to do is grab a book on assembler for the 6502, and you'll pretty much get it -- most of it is just jargon, honestly. Follow the links in the description of the video for the programmer's reference -- it has a chapter on machine language and how it works. Give it a read through: that part of the book is pretty easy to digest.
Hey, glad I found you! This is what I've been looking for as I want to re-acquire some assembly skills that I once had as a teenager with the 6502. I want to get hold of a C128 because of the included monitor/assembler it has. I much prefer to program in assembly than BASIC, but of course it's handy to still be able to make use of the BASIC subroutines in ROM. I'll check out the rest of your series soon.
Came across your video based on recommendations and never even knew of this machine. Still have the old Commodore Vic-20 little bit off colour yet the computer still works. The Vic-20 was my first computer still a proud owner till this day even more so it whooped Apple 2 in sales. Thank you for sharing and posting your video!
It's definitely good to see this kind of content in my recommendations. Coming from the Apple II world, it's nice to see the C64/C128's screen RAM is linear. My "clear screen" program for the Apple II would have had to do 8 STAs, one for each set of 128 bytes of screen RAM from $400-$7FF, only filling the first 120. This is because the last 8 in each group weren't used as screen RAM. These "screen holes" store important data (DOS track numbers, 80-column states, etc.). Amazing on my C64 is my non-precise observation that machine language is, in some cases, literally 1000 times faster than BASIC. I wrote a BASIC program that POKEd a random char into the screen RAM, then POKEd a random color into the same location in color RAM, and just looped after the screen was full. It was fast enough for BASIC, but then I wrote the same thing in machine language (with the added bonus of learning how to use SID as a random number generator). It appears I could do a whole screen from machine language in the time it takes BASIC to do a single character. I never thought I'd meet something slower than Applesoft!
@junker15 Yep, this is literally the reason why I try to stay away from BASIC except for explorations of the hardware. It's good for prototyping something, but if speed is needed, ML/ASM is the right tool for the job.
I’m impressed. So many well known content creators saw you video! I think you’ll do well, you you’re impressing these chaps! Good luck, and keep going!
I loved programming on the C128. With the built in sprite editor, improved graphics commands, sprite moving tools, and the built-in compiler....it was awesome.
Awesome! I have a Commodore 64 still in the box with all the manuals and stuff. This video makes me want to break it out and experiment again like when i was a kid! C64 was my first computer when I was 6 years old. Now I teach Video Game design, computer graphics and animation. Thanks c64! Keep up the great work!!!!!!
Nicely done! It's always great to see a new channel dedicated to retro computing, and you're right, there are very few (or none) that focus on the programming side of things. I hope you'll also be working with C64 stuff, but even if not, learning about the C128 will be pretty cool.
@00Skyfox I actually wasn't planning on working on the C64 stuff because I think most others have covered that quite well. On the flipside, most of what I'll be doing should be backward portable to the C64 with minor changes, so you should be able to follow along, assuming you have a monitor cart for the C64.
I used to have a C64 with a Hesmon (ML Monitor) Cartridge. This brings it all back. I spent most of my time tinkering with the SID and the VIC using machine language programs.
Great idea! Glad I clicked this thumbnail. I love the C128, and I noticed the same gap in other retro computer videos. I hope I can follow along with my C128 each upcoming video.
Love it! Internet content has plenty of gaps and you've definitely identified a void that has long needed filling. We seem far too pre-occupied with retr0brighting, unboxing, and consuming the works of the 80s. This is exactly the kind of content that I would have devoured as I embarked on my engineering career many years ago. Hope you can inspire and inform. Keep it up, and very much looking forward to the next!
Great video. I had an Amstrad CPC 464 when I was a child. I loved typing in programs in basic, but that was as far as it went. Hadn't a clue about assembler back then. I feel there is a sense of achievement in even understanding how assembler works, whether or not I can do anything with it. It's a pity things have to change and we can't keep developing on the same systems! Hope your series is a success.
wow that was a fast 10 minutes - the time flew by! great work done here, great entertainment and information; I can't wait for the next episdode on sprites! much success to you and your channel
@John D Robinson electronic drums Unfortunately I couldn't get into sprites just yet. Had to cover quite a bit of ground about how the VIC works with the RAM and the MMU, which took a ton of time. Fortunately, it shouldn't be all that long before I get the third episode out, where I really will cover sprites. Honest! =o)
Loved this! I've never been one for the architectural side but your explanation was really clear and accessible. You've got a new sub! Keep doing you and keep up the awesomeness sister!
Good Work! I owned a 128 back in the day. Programming on it in BASIC and Assembly is what blossomed my career as a software developer today... sounds like you had the same experience! I look forward to upcoming episodes!
Recently pulled my 128C out of storage. spent so much time writing BASIC7 code back in the day. looking forward to this series. Keep up the great work.
Excellent idea, will be awaiting future episodes with anticipation! Originally thought 128 mode was running on the z80, so thanks for putting things in the right order.
Good luck with the series! I found digital design, computer architecture, assembly and machine language most interesting and rewarding topics in electronics and software engineering. Also, your first lesson in machine language for Commodore computers reminds me a lot to first type-in machine language program from Jim Butterfield's "Machine language for the Commodore 64".
38 years ago when I was 13 I fell in love with computers after my maths teacher gave me the exact same lesson... And I was so proud to get a screen full of @-signs!!!!!!!!!!!!! Now I fell in love again, so I subbed!
The 8-Bit guy did a 24 minute history of Basic, showed examples of Basic programming and listed several books you can get to make your own games. It's about a year old, but I only saw it for the first time the other day. I remember trying to program my C64 when I was younger, around 7-8 years old and the text games were fine, but when I got to the graphics it was like I was reading hieroglyphics and I couldn't understand the commands at all. I'm 35 now and the examples of the line commands he showed looked just as baffling all these years later! I'm looking forward to this channel's progress as I was thinking about grabbing a Commodore and trying programming again after watching that- hopefully you will manage to allow me to finally understand it! Glad to see a new channel in this area, good luck! Liked and subbed. Edit: You know what could be cool? A "program along with me" thing where we could sit and watch on a tablet/phone etc. while entering the code on a Commodore or emulator on a PC, able to pause while we type and you explain the code as you go so we learn as we watch it come to life- is that what kind of thing you've got in mind for this series?
Name Commingled That was the idea. The goal is to have at least one application each video you can follow along with that explains each idea in as much detail to get a beginner's level mastery of it. I've already had a few mention they followed along with me in this video, so I'd like to keep that going. I'll have links to all sorts of tools and books and stuff along with it to help with, too -- including some I write to help solidify ideas, too, like my instruction reference and memory map.
Very cool! Years ago in high school (early 90's) I took a whole summer and learned to program my 128 in assembly. My goal was to create a 'Public Domain' quality version of Tetris. I succeed, and learned more that summer than at any point in my life. If you want to see some amazing/talented programming, look up the demoscene. People are still writing code to make the C64 do unbelievable things to this day!
@Damon Sisk I founded a veeeery tiny group called the Wired Pirates back when I was attending DeVry waay back in the day. The group never went anywhere, but we did try to push our limits as much as we could. I did this because I adored groups like the Future Crew, Cascada, and others -- still do to this day!
Ooh, good stuff thus far! Always wanted a 128D due to its desktop form factor.
Will be looking forward to more in the future :)
Yeah man, would love to see a video from you on a 128D and it's games/software!
You are literally everywhere I go... And I like that! ;-)
Eyyyy official endorsement from the man himself.
i had 2 of these... damn.. i gave em away at some point...
David got a Commodore PC; I never knew they made one. You should get one, if you dont have one. Would be interesting to see if Windows could run on it, et al.
Good luck with the series. This sort of thing is difficult to make interesting.
Thanks! Your channel has been a *huge* inspiration to me. I only hope to live up to the same quality you've managed to put out!
Yep...for average joe these might not be interesting...but for that limited number of joes who have some ideas it is quite interesting :)
Says the guy who makes imac g3 cases into cat trees for click bait.
Amazing to see your comment here, 8-bit guy! I love your channel!
It would be awesome if you did something like what @Nibbles and Bytes is doing and go into a bit of technical detail on how you programmed your Planet X games, like a tutorial on assembler language.
The 8bit Guy , your content is awesome!
This was a nice surprise in my UA-cam recommendations, looking forward to more videos, thanks for sharing your experience with us 👍
Getting the same recommendations, it means UA-cam recommendations are working again as they should! Happy days!
same here - saw on front page! liked the video a lot!
How have I only just seen this? Welcome to the scene - the more the merrier - and well done on a fantastic early video! Your friend in retro, Perifractic 👍🕹️
Glad you liked it! ^,^
Congrats on your first video! I've been getting many requests to do more programming videos on my channel, and I agree that this is a great area to explore. I'm looking forward to more!
You were one of the ones I hoped she would find on my sub list - great to see more people coding on our old machines!
@@10MARC Thanks! Who else would you recommend that's doing 8-bit programming videos? I haven't found many at all.
@@8_Bit check out Jeffrey Birts Channel for starters. ua-cam.com/channels/2V0T-vGOewtuCW3pazzczQ.html
this is great. keep up the good work and cant wait to see more !
The UA-cam recommendation algorithm _actually_ doing a good job! Great video, looking forward to this series -
New channel, introducing the C128D. And diving right into 6510/8502 assembly language. Love it!
This channel is trippy! Everything from the music, wardrobe, set and presenter is retro. I feel like I entered a time warp.
Absolutely the point! :D
As a Commodore 64/128 computer nerd going way back (I owned both machines as a youngster - both of which I bought myself with lawn mowing money,) I love this presenter for her passion!
I found this channel via UA-cam recommendations. Looking forward to going through your back catalogue of videos. Time to hit that sub button.
Great start to the channel! After having grown up with a C64 and an Amiga, I've just started learning assembly for the Amiga 68k CPU and I can already see some similarities in the chip architecture. I really like the simple approach and explanations. Nicely structured and presented :-). Keep it up!
@Arron Metcalf Thanks! I plan on it. More to come! :D
I'm getting extreme Fran Blanche vibes from here. It's an amazing channel with tons of interesting content. I wish you all the best and looking forward to the new videos.
Well done for spotting the big gap - and why I had stopped watching this type of videos - but when I have seen the title: "Commodore 128D" then I had to check out this video on my old first computer (or was it my second or perhaps my third computer) -- Hey ! the only machine having 2 CPUs (8502 + Z80) and 2 Operating Systems (I mean BASIC V7 + CP/M)
Love this new focus - huge breath of fresh air to stop focusing on the hardware non-stop and getting into the software side of things. I also love the D! Subscribed.
So many bad jokes that could be made here. lol
What a recommendation! As a developer and tinkerer myself with an interest in these retro machines (and an ever growing collection) this channel looks like it will be *right* up my street. Best of luck with the channel and I'm looking forward to seeing more!
I'll admit, I just recently picked up a C128 because it seemed like an interesting machine, and I wanted to be able to demo its library of software, and also experiment with CPM. It's the first 8-bit micro I've owned, and the first one I've used since elementary school.
I stopped getting notified by UA-cam two years ago. Glad I've found you again. I've wanted to finish watching the C128 series. I don't have a D version but I was looking to modify mine to interface to a serial I/O stream through the audio cassette port as well as add an external 3.5FD.
Well, welcome back! There's much more to the 128D series coming. Once work clears up, I can spend more time on the channel again. Shouldn't be much longer, I think.
Although I am and was never a Commodore owner, I am a 6502 and Z80 code lover, so all subscribed and enjoying the series so far
This is so cool! You're absolutely right, there is a lack of actual programming stuff for the old 1980s home computers. And the C64 was such an amazing little machine.
Amazing to see someone talking about the stuff from 35 years ago! (amazing any of it still works). I will link to your vid from FB and if you ever join c128.com feel free to promote your retro video's there, doesn't have to just be Commodore related.
Sadly the "real" C128D as we called it, wasn't released in the US in any real numbers, the metal version "bleck diesel" was re-engineered a few years after I left and can be identified by the large amount of character clock noise on the screen. The plastic C128D was my favorite one of the series, the one with the keyboard clipped to the bottom and also had a handle, though it could bang you in the shin if not careful.
I look forward to your next videos!
Bil Herd
BilHerd FYI, your advertisers on c128.com just hijacked my whole browser with an ad. Not going there again until that's fixed -- too dangerous.
BilHerd Have to admit, I would like the earlier design like you mention. The keyboard cable is very short!
Since you're here, what the heck does that switch next to the RF connector do? I thought it was a channel switch, but given the labelling, I'm not so sure.
Antenna connector for connecting to TVs in 40 char mode (left of it: L-H for channel adjustment (optional)). www.c64-wiki.com/wiki/Commodore_128
CHANNEL SELECTOR SWITCH-
Set television channel for viewing com
puter display {L channel 3; H
channel 4)
ftp://www.zimmers.net/pub/cbm/manuals/c128/C128D_Introductory_Guide.pdf
but I see n understand what you mean Nybbles and Bytes why L & H instead of just 3 ch n 4 ch unless it was different in Europe , this may be the reason .. ?
Love the philosophy of writing new software for a vintage computer, instead of just playing games on it, or worse, keeping on a display shelf. Looking forward to this series!
Great. I hope we see some cool stuff done with the 128. This machine was sorely underutilized and really deserves some love.
I'm definitely one of those hardware-centric guys but it's always good to explore something new.
I'm really glad I found this channel. I've decided to learn some assembly programming and decided on the C128 as the platform on which to do it. I'm having some trouble with Vice on a mac though. Hopefully I'll muddle through and actually figure out how to get all the keyboard commands I need to work.
Looking forward to new content! Stay Awesome from China 加油
Not someone I expected to see on this comments list!
Not that I'm complaining, I'd love to see an ADVC64SERPZA computer game. The more letters the better.
awesome. I miss writing in machine language. Used to do a bit writing for the c64. it'll be good to get my hands dirty again! Keep up the great work!
In the 70s, I programmed in z-80 and 8080 assembly code, APL, and BASIC at home on my TRS-80 Model 1. I also programmed for Control Data Corp for a while in a business BASIC called TAC BB2. Later I had a Vic-20 at home and loved it! If you were tight, you could do a lot in 3.5K of RAM. My friends had Apple IIs. This architecture looks the same as the 6502. I would guess, however there are a few extra commands available. Nice video, well explained. All good wishes!
Anton Nym Nah. Only difference is clock rates and PIO pins.
Instant like for the Full Metal Jacket reference. Stanley Kubrick is the best director of all time, by a wide margin. What he produced was something other than films. He will make even the real geniuses feel humble when you truly start to research his films.
OMG this is amazing. Was looking for a long time for a channel like this. Good luck & please keep the episodes coming! :D
I love this! Like you, I was an avid C64 gamer and always wanted to make my own games. BASIC just never cut it. At first glance, it’s a little over my head but I could use a challenge and think I’ll get the hang of it quickly. Keep up the great work.
I've been gaming on my C-128 for the last 33 years. I'm still trying to finish Ultima 4. I've been playing the same game since I got it.
I remember writing a complete lengthy guide for it, including where everything was, and uploading it to the BBSs of the day. Wish I had been able to keep it.
1:43 I think I'm in love. That game sounds delightful!
This is awesome! I've always told myself I'd learn 6502 assembly one day, and looks like that day is here!
As someone who grew up on Commodore this was a welcome recommendation. Great content so far, I'm learning some new things!
Oooh. She did an R-Shift-U for run! Nice. I always used the shortcuts when I learned Commodore BASIC on the PET.
Except pressing three keys as a shortcut for a three letter command isn't much of a shortcut.
Three keys to press vs. three letter keys to press...
Kind of pointless.
Yes, I noted that.. blew my mind when I first discovered these L(SHIFT O) "*",8,1
Well for me R(Shift-U) does have a point as you press the latter two keys together, so it's faster than pressing three keys after each other 😎
@@Edwing77 I tested it; with optimally positioned fingers for each case therer is no difference. ;-)
Great to see in depth technical coverage of the 128! Looking forward to more videos!
Of course, the 8502 can only address 64K but a key feature of the 128 was bank switching. It will be good to cover when necessary.
@JSRFFD2 I actually cover that in episode 2. Have a gander!
@@NybblesandBytes Thanks, that video helped clear up a lot. The 64 had its own MMU configurations for swapping in RAM/ROM/IO (which I knew), which was made even more complex by the 128 (which I didn't). That, combined with the bank and page selection in the VIC-II can lead to a lot of power, but also a lot of confusion.
When I was in high school, I wrote a cheesy flight simulator game in BASIC on a notepad with a pen because my parents couldn't afford to buy me a computer. When I typed in the program at school, I wasn't able to debug it in the 50 minutes or so of class time I had available. Only one person believed in me, everyone else (including the teacher), thought what I was trying to do wasn't possible. Joke's on them: I now make a good living.
When I was in primary school I would write basic programs in a notebook at break time. Then when I got home I tried them on the C64.
UA-cam algorithms seem to think I would like this channel, and golly it's right! I'm nearly 50, my first game published when I was just 14, it was terrible. But the cool shortcuts we learned back then are finding a new lease of life with modern shader programming.
Subbed. And thank you.
I like the professional monitor stand. Mine is a stack of books. xD
Great stuff. It’s almost like a new golden age of 8-bit computing. Like very many here, I got my start with the C64 as a kid and always dreamed of writing a game for that amazing machine. As a kid it was very hard to get a start though. With the widely available information about these machines and a growing community of people interested in reviving the hardware there is a thirst for scratching old software itches that were left unattended. Looking forward to future installments.
This is awesome! I just started learning the 6502 assembler language myself this past month. I found the documentation for it on archive.org, but I've been trying to write my own emulator for it in Haskell just to get a handle on how the thing works. I haven't had the time to go into the detail of the CPU's circuitry/block diagram the way you did here, but I will have to eventually if I want my emulator to operate realistically. For now, I've just focused on understanding the instructions and address modes well enough to write them as math equations in Haskell.
Anyway, keep up the good work!
I was just diving back into 8 bit commodore assembly. Your timing couldn’t have been better. Subscribed. 🤓
@J. Walter Hawkes You might want to check out my ISA reference, then. It's based on the one on the 6502.org site, but made to be a single page with quick reference clicks. nybblesandbytes.net/6502
Overall, I quite liked this. You're right, there's too many channels that only talk about restoration, not enough good stuff.
UA-cam recommends is really working great nowadays. This channel just popped up a few minutes ago and I see its brand new. Really enjoyed the video. I didn't even know this computer existed. I had a C64 and knew there was a 128 but not this beast. Anywho looking forward to more, you're off to a great start here.
Your timing is pretty crazy. I just started dabbling with assembly on the 64, so this stuff is of interest to me. It's hard to find good content about this.. keep it up
Same here. A very good book to read:
doc.lagout.org/programmation/asm/Machine%20Language%20for%20the%20Commodore%2064%20and%20Other%20Commodore%20Computers%20%5BButterfield%201984-11%5D.pdf
Same here!
Great video. As a software engineer, this brings back the warm memories of learning the machines of that time. Computers of that time were new, exciting and full of potential, yet still simple enough to comprehend for the young mind. Learning to program back then kept me captivated for years, I still cherish those times greatly. Looking forward for the next video!
So many warm fuzzy memories like that! Sometimes I do wonder, though, if they were warm and fuzzy because of the monitors, though... :D
Seriously, though, nostalgia is amazing. =o)
Today, computers are just a means to an end. Back then, the computer was the end.
Awesome video! Looking forward to more videos. Lately I have been very motivated to try some coding. I am thinking to give Atari BASIC a go since that was the first language I tinkered with. I always wanted to program, but Atari BASIC is where it stopped for me, LOL. -- AmigaBill
@@Kobold666 Thank you!
@@Kobold666 Oh wow, thank you so much! You made my day. I plan on making more like that, but time has been my enemy. I will do it though, I promise
Oh the things I could have done with my Commodore 64s when I was a kid if only UA-cam and videos like this had existed. :) Great stuff!
I love your new channel. But if I could make a suggestion for you going forward. I am not sure if you are looking at a teleprompter next to your camera or the camera's monitor. Either way, it's a bit distracting if you shift your focus (your eyes) from the camera lens to the thing off screen. Preferably, you would simply talk to the camera lens and forget the monitor is there. That way, we feel like you are simply talking to us. If you are using a teleprompter, you can invest in one that uses a reflective screen so you can still look into the lens of the camera. Focus on the lens. That's us! :-) Hope this helps and I mean no disrespect. You are off to a great start! Cheers!
Pull My Focus I was actually using my iPad as a teleprompter in this video. The problem was that I didn't have a mount for it to put it in the right place. :-)
I went out and got one, though, so it should be better in the next one -- I can put it right below the camera lens, which seems to help quite a bit.
@@NybblesandBytes you might eventually want to invest in something like this. glidegear.net/products/glide-gear-tmp-100-500-replacement-glass?variant=5914855735335&gclid=Cj0KCQiA-c_iBRChARIsAGCOpB39GvrulvOGEaz9rZQ9SaXLzSGlCCb1WX-uB7z93svnRNP2LiS__jgaAkOLEALw_wcB
jin choung Yeah, I nearly did last time I was in Fry's. Ended up getting a tablet mount that can fit it in just under the lens, so hopefully that should work out better. If not, I'll see about getting one.
Fantastic!! "I also remember a deep longing to make my own games, and my own software", hearing those words on UA-cam is like a glass of cool water in the desert.
Excellent initiative. Best of wishes for the new series! It's so comforting to watch a knowledgeable girl presenting a retro channel in a mostly male retroworld.
Male... infested? That's some pretty hateful rhetoric you're employing there.
Snowflake.
Oh, nice. Used to program my c64 as a kid and learning to create sprites and music (good old mid-80's :) ). Basically the very start of my career as a developer. Consider me a new subscriber.
"There are many like it but this one is mine" - love it!
Good luck with your channel. I am always happy to see more people who love vintage tech but aren't 'retro' - which basically means looking back on what has been done. It's much better to look forward at what can be done.
I WRITE C64 MUSIC SOFTWARE. Good job trying to explain this stuff !! You should check out the NEW C256 Foenix , a 6502 compatible cpu with 15 mhz speed.
Looks like they cancelled that project sadly.
This is wildly incorrect. Stefanie is hard at work on it and has even produced fully populated boards here: c256foenix.com/news/?v=7516fd43adaa
While her project isn't my cup of tea (neither is the Commander X16), it's still an awesome project worthy of respect. Please be patient with her -- hardware is insanely hard to build properly, especially when using modern FPGAs like she is.
@@NybblesandBytes Can you elaborate a bit on these projects not being your cup of tea? - I have the same feeling, mainly because it distracts from the classical retro platforms splitting the community further.
@@NuntiusLegis I'm not sure it does anything to split the community, TBH. There's plenty of room in folks hearts for all kinds of machines, including new-old-retro machines. It's just not something I'm all that interested in -- if I'm going to build a new machine, I'd rather it be a new machine using modern techniques but still be programmer friendly, since we've learned a freaking ton since the '70s. In fact, I'm in the process of building one myself in fits and starts, but using modern systems like RISC-V as the starting point. See also www.hypercube.computer/
@@NybblesandBytes I like the idea that C64 and DOS are eternal platforms now, with new software written this year or 20 years ago still running on cherished original hardware, replicas, or in an emulator on current machines anytime in the foreseeable future. I can't imagine the same happening to either the current mainstream platforms or one of the retroish new hobby computers.
Thanks for posting this , it's great to see the C128 get some love! I had the original (non D) 128 and sadly had mostly c64 software for it. Always thought the 128 was much more stylish, not to mention the improved specs
fyi i have zero understanding of any of this and i STILL thought it was a good video! Everyone nodding sagely at your vast knowledge of the 128d and i'm over here shouting SHE HAS MAGNETIC PENS!
Same
I had good feels going into this, but I fell in love with this idea the moment you started typing in the assembly. Can't wait to see more!
Although I think that the restoration aspect of vintage computer is a very important one. Lets be honest, if they weren't kept running - they would be around to program on :) Admittedly that is what mine concentrate on, but thats mainly because I couldnt write a line of code to save my life :D
BUT! You are correct. The programming side is generally missed, with the probably exception of the 8-Bit Guy who frequently goes into things like memory maps etc, and did cover the development of Planet X2 quite well.
Absolutely best of luck on the new channel. I've certainly subscribed and will be watching with keen interest.
Definitely -- I think the restoration aspect is hugely important. We need it to keep these machines alive, so yeah, definitely need that. Unfortunately, I'm not particularly good at that aspect, but I can do software, hence the thought. =o)
I would have preferred if the 8-Bit Guy had gone into a bit more detail on the memory mapping for Planet X2, and maybe some of the assembler challenges he would have inevitably run into while cross assembling and testing between emulators and the real thing. Still, he did a great job -- I just hope to get a bit more detailed if I can.
@@NybblesandBytes I think you taking that more detailed look at the programming side is a fantastic idea, and as you pointed out - its certainly a gap in the YT-retro-computing community.
BTW - Twitter?
@Mr Lurch -- yep! @jtgans on Twitter.
@@NybblesandBytes glad to see you are on Twitter - there has been quite a few people noticing you over there in some of the retro circles. Look me up at @10marc1
Great, now I want to buy a commodore 128D. I almost bought one many years ago, but the obsession faded because I knew I wouldn't do very much with it, but now I have an opportunity to learn, and that is exciting.
>There are many like it, but this one is mine.
Without my C128D, I am nothing! Without me, my C128D is actually still a cool machine...
Just found this channel via my recommendations about to watch all five existing episodes very excite
A female with passion for hardware and old tech.
You my dear are gonna explode.
Expect to gain ~100k subs very fast.
@Chola Tech I've already somehow made it to nearly 5k subs over two weeks with basically one video. I have no idea how this happened -- frankly I'm a little frightened! O.o
@@NybblesandBytes
Because you're essentially a pioneer. I haven't really seen any youtube videos diving this deep into this sort of stuff. It was almost shocking to see you actually getting into it.
Less relevant, but still noteworthy, is my anecdotal experience - whenever I saw any geeky content, if there was anyone female involved, it was either non-IT-related science, like psychology or physics, or, cultural geeky stuff (like Marvel comics/DC Comics/stuff like that). Until now
finally!!! i've always wondered what these old machines can actually do and how the apps were made.
Cool vid. Suggestion: Get rid of the background music, or at least turn it way down. It's distracting and makes it a lot harder to understand you. Best of luck.
This. I started to get a headache trying to keep my attention focused on what was being said, so I had to stop watching.
Here’s a tip for background audio, just drop the frequencies around the 1k hz range and it allows the voice to be much clearer in the mix.
@@Johanniscool Aha! I've been playing with the equalizer settings in Final Cut Pro X, but couldn't come up with anything that sounded good to my ears, but I'll give this a shot -- I don't remember tweaking anything in the 1kHz range before, and the built in "voice enhance" equalizer doesn't seem to help much. Worth a look, and thanks for the tip!
Nybbles and Bytes if you want to get really nerdy then throw a RTA (real time analyser) on your voice track and you’ll be able to see the common frequencies specific to your voice, and then armed with this info you can scoop the same frequencies from the music track, giving your voice some room in the mix. I usually just drop 1khz 3-6 dB and then either side of 1khz half as much again so it’s more of a scoop and less of a notch.
There’s a rta in final cut but it’s not called that, can’t remember where I found it, I think it’s built into one of the eqs. It basically just shows visually which frequencies are loudest, usually with bars. Happy to help 😊
@Johann Cerecke Ah-hah! Okay, yeah, I'll give that a look see in episode 3. In the meantime, I cut down on that range a bit, and it seems to have really helped. Also dropped the dB on the music track some. It's a bit too quiet now, TBH, so hopefully the RTA (if I can find the blasted thing -- X is a mess!) in Final Cut Pro will help.
Thank you very much! ^,^
The 128D was my first computer. I wish I still had it. Good luck with your new channel.
I really want to learn about machine language. I can program with Basic, VB, C, C++, Java script and many other languages but I know nothing about machine language.
Here is a problem I'm having here. First you've explained A as being a register, but later you've referred to A as being an accumulator. This is very confusing. Are you expecting your viewer to know what an accumulator or register is? If that's so then unfortunately this is too hard to understand for me without some basic assembly or machine language conventions or concepts.
What I'm asking is actually missing in UA-cam. I would really appreciate if you would first provide a basic knowledge about how assembly works. stuff like what are the possible variable types such as integers, strings or floats. how can we make a for loop. how do you get user input assigned in to a variable or how do you output a value of a variable... do you have to write the code into a specific area of the memory or is it loaded to where ever the loader decides to code to go? do you have to compile it or is it interpreted?
for example you've mentioned opcodes, so checked on wikipedia what the hell is an opcode. so apparently there has to be an opcode table and it is different for every processor. so, I found the opcode table for 6502 but still it is confusing... you've indicated A9 is an opcode and also you've mentioned about the mnemonics are creating the opcodes, ok but I've checked the opcode table of 6502 here: www.oxyron.de/html/opcodes02.html and there are many different LDA mnemonics so how do you make an LDA with a different opcode also what is the significance... A9 is LDA but opcode B5 is also LDA... what does that mean? What are the mnemonic types and are there different types and what are they for really?? Can write the assembly code on a text editor like notepad? if I can, how do I make the txt file an executable such as an exe or PRG???
Please explain everything while considering the viewer either already knows Basic or C since I can not think of anything simpler and certainly knows nothing about assembly.
Please do not expect your viewer to already know assembly. Please explain all basic concepts of assembly.
@Tonguç Endem I'll see what I can do in the next few videos to start describing in more detail what this stuff is and how it works. In the meantime, maybe I can answer some of your questions here:
- A register is a temporary memory that holds information so that the CPU can work with it. Think of these as your "variables" in machine language. You only have a set number of them at one time. In the case of the 6502, you have three that are directly manipulatable: A, X, and Y.
- "A" is one of the registers of the 6502. It's also known as the "accumulator" because it accumulates the outputs of various operations that the opcodes instruct the CPU to perform. In other words, if you instruct the CPU to, for example, add two values together, the results of the addition will be stored in the A register.
- An opcode is just a number. This number happens to have a format to it that is decoded deep inside the CPU and instructs the Arithmetic/Logic Unit to do some form of work. We don't usually write opcodes because it's too tedious, and instead use mnemonics.
- Most opcodes have an "operand", or set of parameters. Some don't. Depending on how those operands are written determines which opcode is used. The way we write those operands is known as an "addressing mode" because it changes how the CPU has to fetch that data.
- For instance, in the video I use "LDA #$00" the "LDA" part tells the assembler that I want to use the "LDA" base opcode, and the operand is written with a "#" prefixing a hex value of "00". The "#" tells the assembler that I want to use the "immediate" addressing mode of the "LDA" opcode. In this case, A9 is the correct opcode for immediate addressing. B5 is used for a different addressing mode.
I'll take these notes down and see about doing a series of short videos explaining this stuff. Thanks for the feedback!
@@NybblesandBytes
Does all this apply to modern x86_64/ARM64 processors, too? Of course, instead of 3 registers I'm guessing there are millions or billions or trillions, or is the instruction set completely different?
An opcode that wouldn't have operands would be, say, some kind of NOT which flips all of the bits to the opposite state?
@Liran Piade the points I make about registers and opcodes, operands, and mnemonics still hold true today, even for x86_64 and ARM64 CPUs. The only major difference is that modern architectures are heavily pipelined, have crazy long opcodes (128-bits wide in some cases!), do crazy vector math, and have *tons* of registers.
Yes. An opcode that doesn't have operands might be something like the stack instructions PHA and PLA, which "PusH A" and "PuLl A" to and from the stack.
Nybbles and Bytes, Thanks a lot. I really appreciate your attention. I know if i can just get the basics and be able to write a couple of simplest programs, i will be able to built on it. It’s such a shame that I can not even write a ‘hello world’ kind of thing in assembly. I’m really trying to learn assembly so that I can program my CBM 8096, C64 and Arduino to be fast and efficient. Thanks a lot again.
@@Mr_ToR Well, until I get a basics video up, try following along with the assembly I do in the channel -- the screen clear program is about as simple as you can get, and includes a single "for" loop, which is exactly why I chose it to start the channel with. All you need to do is grab a book on assembler for the 6502, and you'll pretty much get it -- most of it is just jargon, honestly.
Follow the links in the description of the video for the programmer's reference -- it has a chapter on machine language and how it works. Give it a read through: that part of the book is pretty easy to digest.
Hey, glad I found you! This is what I've been looking for as I want to re-acquire some assembly skills that I once had as a teenager with the 6502. I want to get hold of a C128 because of the included monitor/assembler it has. I much prefer to program in assembly than BASIC, but of course it's handy to still be able to make use of the BASIC subroutines in ROM. I'll check out the rest of your series soon.
The 16-Bit Gal ♥
Guy
@@scannaunderscore1 no she's a Gal not a Guy and I wish her good luck.😀
@@iyfranco151 so obviously a guy
Came across your video based on recommendations and never even knew of this machine. Still have the old Commodore Vic-20 little bit off colour yet the computer still works. The Vic-20 was my first computer still a proud owner till this day even more so it whooped Apple 2 in sales.
Thank you for sharing and posting your video!
Woot I'm the 64th subscriber :-D
It's definitely good to see this kind of content in my recommendations.
Coming from the Apple II world, it's nice to see the C64/C128's screen RAM is linear. My "clear screen" program for the Apple II would have had to do 8 STAs, one for each set of 128 bytes of screen RAM from $400-$7FF, only filling the first 120. This is because the last 8 in each group weren't used as screen RAM. These "screen holes" store important data (DOS track numbers, 80-column states, etc.).
Amazing on my C64 is my non-precise observation that machine language is, in some cases, literally 1000 times faster than BASIC. I wrote a BASIC program that POKEd a random char into the screen RAM, then POKEd a random color into the same location in color RAM, and just looped after the screen was full. It was fast enough for BASIC, but then I wrote the same thing in machine language (with the added bonus of learning how to use SID as a random number generator). It appears I could do a whole screen from machine language in the time it takes BASIC to do a single character. I never thought I'd meet something slower than Applesoft!
@junker15 Yep, this is literally the reason why I try to stay away from BASIC except for explorations of the hardware. It's good for prototyping something, but if speed is needed, ML/ASM is the right tool for the job.
I’m impressed. So many well known content creators saw you video! I think you’ll do well, you you’re impressing these chaps! Good luck, and keep going!
I loved programming on the C128. With the built in sprite editor, improved graphics commands, sprite moving tools, and the built-in compiler....it was awesome.
Awesome! I have a Commodore 64 still in the box with all the manuals and stuff. This video makes me want to break it out and experiment again like when i was a kid! C64 was my first computer when I was 6 years old. Now I teach Video Game design, computer graphics and animation. Thanks c64! Keep up the great work!!!!!!
Love the way you synced the sped up whiteboard presentation with the audio, that's a neat and unusual touch.
Nicely done! It's always great to see a new channel dedicated to retro computing, and you're right, there are very few (or none) that focus on the programming side of things. I hope you'll also be working with C64 stuff, but even if not, learning about the C128 will be pretty cool.
@00Skyfox I actually wasn't planning on working on the C64 stuff because I think most others have covered that quite well. On the flipside, most of what I'll be doing should be backward portable to the C64 with minor changes, so you should be able to follow along, assuming you have a monitor cart for the C64.
I don't think I have a monitor cartridge, but I think I do have monitor programs on my collection of disks somewhere.
Niche topic? Technically and thoroughly presented? Count me the heck in!
This is going to be the best new Retro Channel of 2019!!! So glad this showed up as a recommendation. Looking forward to seeing more
This is fantastic material!
Reminds me of programming 68HC11s in uni - I think I'll be watching this with my daughter!
I used to have a C64 with a Hesmon (ML Monitor) Cartridge. This brings it all back. I spent most of my time tinkering with the SID and the VIC using machine language programs.
Nice! After 25 years of wondering I finally get an idea of how assembler coding looks like .. I never understood where people did even start...
Great idea! Glad I clicked this thumbnail. I love the C128, and I noticed the same gap in other retro computer videos. I hope I can follow along with my C128 each upcoming video.
@waldowoc That's the idea! =o)
Love it! Internet content has plenty of gaps and you've definitely identified a void that has long needed filling. We seem far too pre-occupied with retr0brighting, unboxing, and consuming the works of the 80s. This is exactly the kind of content that I would have devoured as I embarked on my engineering career many years ago. Hope you can inspire and inform. Keep it up, and very much looking forward to the next!
Great video. I had an Amstrad CPC 464 when I was a child. I loved typing in programs in basic, but that was as far as it went. Hadn't a clue about assembler back then. I feel there is a sense of achievement in even understanding how assembler works, whether or not I can do anything with it. It's a pity things have to change and we can't keep developing on the same systems! Hope your series is a success.
wow that was a fast 10 minutes - the time flew by! great work done here, great entertainment and information; I can't wait for the next episdode on sprites! much success to you and your channel
@John D Robinson electronic drums Unfortunately I couldn't get into sprites just yet. Had to cover quite a bit of ground about how the VIC works with the RAM and the MMU, which took a ton of time. Fortunately, it shouldn't be all that long before I get the third episode out, where I really will cover sprites. Honest! =o)
Loved this! I've never been one for the architectural side but your explanation was really clear and accessible. You've got a new sub! Keep doing you and keep up the awesomeness sister!
This is awesome. It actually is making me go digging for books on assembler programming for 6502 and variants.
This is fantastic! Can't wait to see how your project progresses!
This is great! I remember Peeking and Poking my way to applications on my 64 so many years ago. Looking forward to your next videos.
Good Work! I owned a 128 back in the day. Programming on it in BASIC and Assembly is what blossomed my career as a software developer today... sounds like you had the same experience! I look forward to upcoming episodes!
WOW Power to you girl! so looking forward to what you do with this channel!. I am now going to have to dust off that old cbm6! ah the nostalgia
Thank you for starting these series. While I grew up with a different machine from that era, this is very informative and refreshing. 🙂
Recently pulled my 128C out of storage. spent so much time writing BASIC7 code back in the day. looking forward to this series. Keep up the great work.
Excellent idea, will be awaiting future episodes with anticipation! Originally thought 128 mode was running on the z80, so thanks for putting things in the right order.
Good luck with the series! I found digital design, computer architecture, assembly and machine language most interesting and rewarding topics in electronics and software engineering. Also, your first lesson in machine language for Commodore computers reminds me a lot to first type-in machine language program from Jim Butterfield's "Machine language for the Commodore 64".
38 years ago when I was 13 I fell in love with computers after my maths teacher gave me the exact same lesson... And I was so proud to get a screen full of @-signs!!!!!!!!!!!!! Now I fell in love again, so I subbed!
The 8-Bit guy did a 24 minute history of Basic, showed examples of Basic programming and listed several books you can get to make your own games. It's about a year old, but I only saw it for the first time the other day. I remember trying to program my C64 when I was younger, around 7-8 years old and the text games were fine, but when I got to the graphics it was like I was reading hieroglyphics and I couldn't understand the commands at all.
I'm 35 now and the examples of the line commands he showed looked just as baffling all these years later! I'm looking forward to this channel's progress as I was thinking about grabbing a Commodore and trying programming again after watching that- hopefully you will manage to allow me to finally understand it!
Glad to see a new channel in this area, good luck! Liked and subbed.
Edit: You know what could be cool? A "program along with me" thing where we could sit and watch on a tablet/phone etc. while entering the code on a Commodore or emulator on a PC, able to pause while we type and you explain the code as you go so we learn as we watch it come to life- is that what kind of thing you've got in mind for this series?
Name Commingled That was the idea. The goal is to have at least one application each video you can follow along with that explains each idea in as much detail to get a beginner's level mastery of it. I've already had a few mention they followed along with me in this video, so I'd like to keep that going.
I'll have links to all sorts of tools and books and stuff along with it to help with, too -- including some I write to help solidify ideas, too, like my instruction reference and memory map.
A belated welcome back
Very cool! Years ago in high school (early 90's) I took a whole summer and learned to program my 128 in assembly. My goal was to create a 'Public Domain' quality version of Tetris. I succeed, and learned more that summer than at any point in my life. If you want to see some amazing/talented programming, look up the demoscene. People are still writing code to make the C64 do unbelievable things to this day!
@Damon Sisk I founded a veeeery tiny group called the Wired Pirates back when I was attending DeVry waay back in the day. The group never went anywhere, but we did try to push our limits as much as we could. I did this because I adored groups like the Future Crew, Cascada, and others -- still do to this day!