Ok a mistake was made. The Commodore 64's CPU runs on 1MHz. The chip itself is capable of 3MHz but the computer around it is not. I just assumed that with some tinkering it would be possible to get it up to 3MHz. (which I still think it is)
you can not simply overclock the c64 as the cpu's clock is tied to the video chip as one clock tick the cpu reads the ram, next clock tick the video chip reads the ram and so on, and if you increase the clock speed the video output will be no more pal/ntsc compatible. there are solutions but it always boils down the faster cpu having own ram and some mechanism to mirror this faster ram back to the machine, which is tied to 1mhz.
@@kangarht So he needs a Super CPU. Or a self made PCB with 3 Mhz quarz wich isolates the CPU and divides the external clock by 3 and also 3 times faster faster RAM on this PCB.
@@kangarht Well, you *can*, you just don't have any screen stuff anymore. I remember i read about a german guy building a overclock switch so he could calculate fractal images faster somewhere around 1990.
The colour choice was based on signal and TV quality. High contrast text would have had fringing making it disturbing to read so this was a good compromise. Commodore did a similar thing with the Amiga workbench and went so far as to buy the worst TV they could get and then get the best image quality.
@@ecernosoft3096That rather depends on what languages you're talking about. If you use a high level language that exists for many platforms, then you can technically program ALL those systems just using one language. But that doesn't make you any different to anybody else who's dabbled in programming. Good old BASIC was included with just about every home computer back in the day, so without much effort, you could write the same program for many systems, even if the hardware were vastly different. Today people use Python, C++, Java etc. Learning "Assembly" for each CPU architecture is very different to that.
FYI- yes, I know. Here’s a list- PC engine (haven’t done much) Sega Genesis (again, haven’t done much…. Yet) 32X (still learning) ZX spectrum (it’s too weak. I did some stuff but then gave up.) Amstrad CPC Atari 2600, 5200, 7800, 8bit line, and I attempted the lynx Commodore 64, but didn’t do much since it’s too slow Apple 2 (never made any games) NES And I attempted the CX16
The C64 was never running at 3MHz clock speed. The 6510 cpu runs at 0.985MHz on a PAL C64 and 1.023MHz on an NTSC C64. So, that's 3 times slower than what you think. 🙃
I tried to overclock my C64 when I got it (1984) but it didn't work. Turned out the Video Chip's frequency is synchronized with the CPU, so overclocking the CPU crashed the video signal.
Then also, the execution was based on a 2 phased clock (so less instructions than expected). Many instructions ran several clock cycles. Thus very slow. To use the C64 properly you needed to understand all the hardware accelerator chips. For graphics it was important to understand the video raster interrupt. E.g. you could draw the 8x hardware sprites at the top the screen and then do another 8x at the bottom. Digital sample sound was generated using the volume control. Poke 54296. 4 bits. Levels 0 to 15. A change caused a DC shift and doing that at "fast speed" resulted in a crude DAC effect. I wanted to build myself a Midi interface and hacked in an Intel UART to do the 31250bits per second. Never got that to work properly on the C64 but I did eventually on a 4.77MHz XT PC clone. The funny thing was that Elon Musk lived about 30km from me and used the same C64 model. Apparently he has a bit more money than me.
@@zerksus coding in C64 was bit different than coding these days, you ended up making direct machine code for C64 but these days you just try to figure out how someone programmed libraries you are trying to use and what parameters those need to work so it can be what ever compared to direct processor coding.
i dont know who you are, where you came from, but funny plad wearing man obsessed with impulsively programming whatever he could find in his garage may be the most interesting thing i've seen this week
Now you speaking my language. I got my C64 in 1982. 30 years later I am now retired. Writing games as a 13 year old to a retired computer scientist. I just came across your channel and love your spirit. You are going places young man !
@@YoreHistory 😄 The good old days 🤭 It has been an amazing ride for me. Loved coding as a kid, then I had a lovely career travelling the world. I got to see so many places and learn so much about other industries in order to design and code. Well done you Yore too ! I still dabble a bit with Python. Just automating stuff around the house. Good fun.
@@Lee.Willcox Sigh...100% agree. I honestly miss it at times...not being tethered to a cell phone and the simplicity but depth of a system like the C64...good days indeed :)
Actually, you don't have to use assembly language on the C-64 except for time critical stuff. BASIC is just fine for most things. Even most of the games published on the Commodore label were just BASIC programs with the occasional machine code subroutine (and not just the ones on floppies or tapes, but also the ones on cartridges, which suprised me a lot, when I was looking at some games on the C-64 and VIC-20 back in my teens, back in the day). Although there are lots of C-64 IDEs nowadays that run on modern systems, nothing can beat the authentic experience of coding everything on the machine itself. 😁
Taught myself to program on a 6502 Atari when I was 10. I couldn't afford an assembler so if write the codes down on paper and "compile" it my self. Later I wrote an assembly compiler IN BASIC so I could add things like fine scrolling to the games I was writing.
I worked in Finance for the US Army during the years 1983-85 in Wurzburg, GE. We had a Commodore 64 programmed to do simple travel vouchers to pay our soldiers per diem. Surprisingly, it worked well and saved us lots of time.
I was not expecting to see anyone touch my program. Thanks for checking it out, and most of all linking to it! I was just a beginner when I made that, so it's pretty rough. Thanks to you I just started to pick it back up and make it into something better (probably will have progress pushed in a few months). It's crazy looking back at my old work.
A tip for you: beware of the original power supply unit: it will go bad over time and fry a lot of chips on your C64. If I were you I'd buy an aftermarket one. :)
The C64 was very advanced for its time with sprite and scroll registers. If you want to make things real hard try to code a game on a VIC 20 with only softsprites and no raster interrupts 😁. Nice video 🤙
You can actually compile C to the C64. This is possible with CC65, which is a 6502 toolchain which can compile to a variety of 6502-based machines, like C64 and the NES. It has it's own assembler but you probably didn't care because you might want to use C instead of assembly.
I wrote an assembler before I knew what an assembler was. My one friend bought the C64 Master Reference Manual. Lots of gems in there. With it I figured out what the machine code instructions did. Took me ages to figure out that you can branch 127 locations forward and 128 backwards. Had to calculate everything with a calculator. The next step was to "automate" it with a Basic program.
-"3:03 also known as the sid chip. This chip gave the computer amazing sound capabilities which were almost unprecedented back in the day on personal computers". Actually 3 years earlier Jay Miner (father of Amiga) introduced the Atari 8bit line and the Pokey sound chip, an early implementation of Paula's capabilities(Amiga sound chip) in a four channel sound chip(SID only had 3) with High Pass Filter and a big number of tweak and tricks that programmers are still exploring to this day. The popularity of C64 has people confused on which machine did what first.
@@lovemadeinjapanThe POKEY was a perfectly fine chip, but it was designed as a PSG, not a synth on a chip like the SID was. There's a lot of great minds music that was written for the POKEY, AY-3-8910 and even the SN76489. People have managed to get great music from 1-bit beepers. But there's only one sound chip from that era that people actually hunt down to build rack mount synths with.
@@florisvandenberg7424 - Actually, there's more involved but BASIC existed before Bill Gates. They were making a version for the 8080 and then 6502. Commodore had some of their own individuals work on modifying BASIC for their computers over the years. However, BASIC began in the 1960s, as an FYI.
Nice video! It's always fun to see someone starting a new adventure with the C64. Best computer of all time -- although it's actually a 1 Mhz machine. In between interpreted BASIC and pure machine language, there were MANY programming language packages developed for the C64 with their own compilers, as well as several standalone BASIC compilers that would speed up your BASIC V2 programs immensely. Over here in North America, the RF shields are metal, and double as heat-sinks for the chips. For longevity, I would highly recommend putting a heatsink on the SID; you might also want to do the CPU and PLA. -- JC
FWIW the original MOS 6510 CPU was manufactured with NMOS technology, a variant or one manufactured with a different process (HMOS, CMOS) might be able to be clocked faster. And, in any case, as best I understand, the speed of the main memory would have forced them to go with a lower clock speed anyway. - The MOS 8502 runs at 2 MHz for instance.
@@jnharton The 8502 used in the Commodore 128 was indeed a 2 Mhz processor. The HMOS version of the 6510 was the 8500 used in the Commodore 64C "short-boards". It's a more thermally-efficient chip that is backwards compatible with the 6510, but still ran at 1 Mhz, because it was still a C64. As you rightly point out, the speed of the DRAMs was one of the limitations. The main memory in a C64 is effectively being accessed at 2 Mhz, since the CPU and VIC-II are constantly jumping on and off the bus to alternately access the RAM. -- JC
during the pandemic, I went on an eBay spree and re-created my childhood C64 setup, right down to the Compute's Gazette magazines and a 1980's Mountain Dew can. I've got: the C-64, 1541 Floppy Drive, the Cassette Drive, 1902A monitor, the 1660 300 Baud modem, and an Okimate 10 color printer (still prints too - I recently used Print Shop to print a birthday banner). No mods or emulators, all original and in their original boxes, and everything works 100%. Can still load up and play The Bard's Tale from floppies!
Exactly. Realising the fact that in the end software is nothing more than instructions for a state machine helped me tremendously with becoming a better programmer.
Yeah... Loading the Accumulator; Loading the X Register; Loading the Y Register. I tried to learn Commodore Assembly by using the Commodore Reference Guide (the thick one). I tortured myself for years with that, and could never get beyond printing ASCII to the screen. I don't understand how kids learned to make entire games and demos from raw Commodore Assembly. In fact, I actually revisited it around 1997 and tried to wrap my head around it again, but, alas, I was still using that same Commodore Reference Guide and failed to get any further. lol
@@florisvandenberg7424 "Still... it's not so hard. " --> Try writing any of the following C64 classics...Delta, Armalyte, Wizball, Blood Money etc etc in 100% assembly language (no game engine...EVERYTHING from scratch). Oh yes, an NO internet research/ability whatsoever beforehand or during - you are provided only with 'programming books/magazines of the day' !!! Writing top games in the 80's was(!!!)...INCREDIBLY HARD, requiring an encyclopaedic knowledge of every opcode 'variant'(!!) and operand, cycle counting and sound/gfx programming. Crucially, when compared to writing the engine + the game from scratch in the past, today's incredibly impressive and powerful game engines, effectively, reduce the difficulty of creating a game by at least 95%.
I loved my C64. It was my second computer after the VIC20 and was a massive upgrade from that. I taught myself BASIC from the manual that came with the VIC20 (no internet in those days of course) which was compatible with the C64. Then on the C64 I taught myself machine code. I couldn't afford an assembler back then as I was just a school kid. So I would POKE the machine code instructions into memory before running them.
I had mine in 1986 at age 10 and loved it! It was sold with double the specs of a PC at half the price, and Commodore just stole the market. Could you even imagine what it would be like if a company suddenly introduced a system like that today? I barely can't and I have a vivid imagination 😀 It's still the best selling home computer model of all time, and is credited with being the system that brought computers into ordinary people's homes, and I think the history behind all of that is truly fascinating. It still have a very strong following and people are still writing games and software for it, and others are making hardware. Pretty impressive for such an old system. Also, if you wanted to show an impressive game, probably should have gone with Creatures though it was released in 1990 🙂
Not sure if it's been mentioned yet but I recommend replacing the old psu or get a overvoltage protector as the old psu have a habit of killing the system when they eventually go bad, love your videos btw..
There's dual voltage out. Ac and dc. I believe it's just the dc output that you need fo regulate. I was going to make and sell a inline filter so you could still have an original supply hooked up but didn't continue the project
Machine language on the C64 - 8 bit processor was the horror. But if you could get used to hexadecimal numbers, high and low bytes, sprites and so on, you wouldn't shy away from any other machine language.
6502's machine language is very similar to Motorola 6800. The 6800 architecture and instruction set were influenced by the popular Digital Equipment Corporation PDP-11 mini computer. On C-64 there was an assembler capable of generate executables and object files. The language was beautiful compared to 8086. I wrote thousand of lines in 6502's assembler, and was a very instructive way to understand the architecture. One of my best memorie of my childhood.
Nobody in their right mind wrote in raw machine language except to do bootstrapping or if they had no alternative. The moment you needed to do anything remotely complex, you'd either find a half decent assembler that somebody else had written or hack one together yourself.
So much fun to watch someone learn and experience an 80s microcomputer using comparisons with Python. "Someone had to create BASIC in assembly, poor guy" -> You know who that was in this case? Bill Gates
I just found your channel and automatically subscribed. I know nothing about programming but I'm finding your videos very entertaining. Keep up the great work!
Great video - you gave a good overview of the machine, and as someone who used a C64 back in the day, your "21st century" response to using it was highly entertaining! Keep up the great work.
LOL. When you opened that breadbox I got a phantom, nostalgic, tingling in my fingertips when I saw that glass fuse on the board. Y'see, I was using this as a kid and I didn't own an Action Replay cartridge which can "freeze" game states to allow code, or pokes, to modify the game to cheat and such. So, some smart chap found out that if you hit 2 pins at the same time on the cartridge slot with a paper clip, that was how the Action Replay activated its own. Problem was, get it wrong and you're gonna get zapped. Nothing too painful, the fuse on the inside blew before you got anywhere near a lethal shock. I went through a few fuses before I got a cart.
Ahh, I remember getting our C64 in 1987, our very first computer, as a Christmas present from my aunt and uncle. They would always bring their C64 with them when they came to visit and we would all play Jumpman together, so they eventually got us one, complete with a Commodore disk drive, monitor, and dot matrix printer.
im not used to having good headphones so those keyboard sounds were really making me think someone was making loud clicking noises right behind me and i was afraid for my life
I learned Assembly by myself, and I really enjoy it. Im really into low level stuff, virtual machines, emulation and so on. Its pretty fun and challenging. (Im self taught - no Degree)
Geoff Grammond programmed the physics engine for the Grand Prix formula 1 simulation racing games, and still up to this day you can feel that the physics engine runs smoother than any other physics engine programmed in C. Niels Heusinkveld did a nice review on his channel in that regard.
I've started learning MIPS Assembly for the PS1 after your videos, let's see if I can make a game by myself Considering the C64, its demoscene is also pretty bonkers. It would be a nice idea for your next video to try and make a graphics demo for the C64, or maybe remake your first PS1 game in C64 (not the 3D one it's gonna be torture)
Despite of some mistakes (CPU speed, etc) and judgements (“Horrible” blue screen), I admire the efforts you put into this video even though this computer is much older than You. For me, it was my first computer, and back then it was state of art, top of the line, best in class, absolutely amazing graphics / music. The sample music you played is from 1983 which is super early in the platform, try Last Ninja 2 (1988). I still use sid chips and an 1982 SX64 during live music performances in 2022.
It is quite common that we 40+ old people go back for these machines for the nostalgia but it is a nice surprise that someone from the generation of our children is taking the time and effort to program them.
you are one class act of a channel....great content...and I loved your tour of the c64...I am 52 now...and got my c64 in 1982 when i was 12.....such a great trip down memory lane that I am slowly learning how to write assembly NOW....and finally make some sense on how to program my favorite games of all time
This was my first computer. And it is not only assembly, first we had to write in machine codes, simply putting numbers into memory and then point the CPU to start executing from there. I still remember some codes (JSR = $20). Actually that computer had great sound chip (for the era) and reasonable graphics.
I actually have an interest for old computers like the Commodore 64. I sometimes code a bunch of little programs for these old computers. (Not exactly games, since I'm bad at making games in Unity, let alone 6502 or Z80 assembly) Also, it's because I have a mini-nostalgia for these computers (Back in 1990s Poland, the best computer you could buy at the time was a Commodore Amiga, and it was very expensive, hence the Commodore 64 and many other older computers became popular there due to its cheap price, as well as its availability)
I just stumbled over your channel. Go on with it. What i like about the old times there were really different platforms with different hardware and concepts. Today you have basically the same hardware. ARM as processor as exception, most Intel/AMD. Boards are similar too. You have different chipsets but still it is very similar. At that time (80s) there were really differences
Get a new power supply or some overvoltage protection for it. BTW I love what you got out of this great computer. The Commodore 64C was my first computer. I got it in '88 at age 11 😎
C64 was my first computer and all I did was BASIC stuff, my brain back then wasn't even aware that there was such thing as assembler... we even didn't have internet back then and we needed to walk to the library to read how to code
I’m still a begginer programmer, as I started studies in computer engineering. Studying the 6502 have helped me understand more CPU architecture and how it works. I’m just learning how it works because I want to make a NES Emulator ☺️☺️☺️
I’d gotten my C64 in grade 9. The school had a computer course with VIC20s at the time. I’d also taken a typing course with electric typewriters not because of girls but wanted to type faster. Cool to see another generation get into this!
Being able to "hit the hardware" directly is actually very freeing, but if you find it difficult you should look into what was required to program the Atari 2600 back in the day! It had only 128 bytes - yes BYTES - of RAM and no video buffer: The program itself had to keep track of where the display beam was and write sprite data at the appropriate time. It could also only access 8k of ROM though most games were 4k.
Gotta love the fact that when you say "Somebody actually had to create BASIC in assembly - poor guy"... You're actually talking about BILL GATES! XD I made a video on that.. And yes - with some serious tinkering you can get the C64 to run at 3 MHz.. Like if you run the graphics off a separate clock :)
“Poor guy” who wrote basic is Bill Gates, the richest guy. 😂 Commodore Basic 2.0 is Microsoft Basic, which is why they needed peek a s poke for more advanced functionality.
You don't know anything about Computing History. John Kemeny was a professor at Dartmouth College when he was 27 years old. Tom Kurtz also had a PhD and joined the College where he met Kemeny. FORTRAN came out for their IBM 704 computer in 1956 and inspired them to work on a similar language with IF, PRINT and GO TO statements in it. A new machine arrived at the college in 1959 with 15 Kilobytes of RAM organised into 4K of 30 bit words. Kemeny and Kurtz designed a language that could be used by a complete beginner, and worked via dumb terminals, rather than a system where cards had holes punched in them and were sent away to be processed in batches with the result of the computation coming back the following week. The very first BASIC was a compiler, but it was fast, so it supported interactive exploratory programming suitable for beginners. It had line numbers as labels for the GO TO statement to refer to. Bill Gates had no involvement in the design and development of BASIC whatsoever. Bill Gates collaborated with Paul Allen to make an interpreter inspired by Kemeny and Kurtz's Dartmouth BASIC to run on the MIT Altair 8800 home computer in 1975, which was popular in the Homebrew computer club that Steve Wozniak attended. Wozniak made the first PC when he made the Apple-I in 1976, with 4Kb of RAM, cassette based BASIC programming language also written by Steve Wozniak - before he built the computer: "I had no assembler, that was another thing. To use an assembler, they figured that somebody was going to buy this processor to use for a company, and their company can pay a few thousand dollars in time-sharing charges to use an assembler that was available in time-share. I didn’t have any money like that, so a friend taught me that you just sort of look at each instruction, you write your instructions on the right side of the page, you write the addresses over on the left side, and you then look up the hex data for each instruction-you could assemble it yourself. So I would just sit there and assemble it myself. The BASIC, which we shipped with the first Apple II’s, was never assembled - ever. There was one handwritten copy, all handwritten, all hand-assembled. So we were in an era that we could not afford tools." - Steve Wozniak Apple Computers was founded by Steve Jobs (employee #1) and Steve Wozniak (employee #2) with the money from the sale of Jobs' VW Camper van, which he had paid for by mowing people's lawns. There is no connection between Jobs and the 1992 film _The Lawnmower Man_ or between that film and the 1975 short story of the same title by Stephen King, who sued the film makers because they were going to call their film _Stephen King's The Lawnmower Man_ and it bore no relation to his story, which wasn't about computers or VR or Steve Jobs. Apple were behind the microcomputer revolution from its inception. Bill Gates snuck in because IBM realised they had mainframes and mini computers but no microcomputers, so they made one out of off the shelf parts, and went to Gary Kildall of Digital Research to see if he would license his Control Program/Monitor operating system (CP/M) for use on their IBM PC and he was out of the house flying his plane, and his plane crashed, and he died. They called Gates, who didn't have an OS and Gates made out he did, and then bought the rights to 86-DOS from Seattle Computer Products for $75,000. Ultimately this led to Microsoft being sued for $60,000,000 and Microsoft eventually settled for $925,000. 86-DOS from which DOS was based, was originally called QDOS (for Quick and Dirty Operating System), and was completed in 1980 by Seattle Computer Product's employee Tim Paterson, who doesn't appear to have financially benefitted in proportion to his contribution to Microsoft's DOS, without which there would have been no relationship with IBM (or subsequent IBM compatibles), for there to be Windows. Apple didn't steal the idea of the GUI from Xerox PARC making it "a moot point whether Microsoft Windows ripped off the Macintosh Finder", as Apple gave Xerox stock in Apple in order to see what was happening at the Palo Alto Research Center. Steve Jobs was ousted from his own company, and went off to make the NeXT Cube computer for the University market, based on the UNIX operating system, but with an OOPS-lite GUI based on Objective-C a bit more similar to the full-OOPS of Smalltalk-80 on the Xerox Star mini computer which allowed every part of its OS to have its code modified at runtime by the end user. NeXT only let you use Interface Builder to make new Applications that worked within the existing UNIX OS. Bill Gates took this opportunity of Jobs' absence to pressure Apple CEO John Sculley to license Apple's software to all PC manufacturers, so it would become the _de facto_ standard. This way Microsoft would get the Mac without having to make their own Windows from scratch. This was rejected by Jean-Louis Gassee (who later made the BeOS based computers). There was more money to be made for Gates out of selling Word and Multiplan than DOS anyway, hence the push to have the Macintosh UI on all PCs. Bill Gates revealed Windows in 1985 at the COMDEX trade show and people were not at all impressed, as Digital Research's GEM was far better. Windows could not overlap each other, they could only tile. John Sculley saw it as a rip off of Apple's Macintosh Finder and threatened a lawsuit, but it transpired that Microsoft had ALSO licensed GUI elements from Xerox and begun work on Windows before they had first seen the Mac, so an agreement was made to permit Windows 1.x but nothing thereafter, tolerating Microsoft's coincidental design based off the same source influence in exchange for 2 year exclusivity of Excel on Mac. Windows 2.0 was seen by Sculley as a breach of contract, as was HP's NewWave, and the Apple v. Microsoft GUI court case ran from 1988-1993 and was decided in Microsoft's favor. Sculley had given Microsoft permission to use substantial elements of its GUI in 1985 in exchange for Word and Excel. Had Sculley pushed development of Pages and Numbers (or their equivalents) much earlier then its possible Microsoft would not be legally permitted to have such a similar UI to the Macintosh. Bill Gates is not the "richest guy". Elon Musk is. He has $254,000,000,000+ Most versions of BASIC vary quite a bit from Dartmouth BASIC. Bill Gates and Paul Allen's BASIC was nothing significant. They didn't write their own DOS for IBM PCs. They got it off someone else too sappy to realise they could sell it direct to IBM themselves. Gates has done nothing of any worth in Computing.
@@____uncompetative Bill Gates didn't invent BASIC, but he and Paul Allen did write the C64 BASIC interpreter. @Keyboard G is absolutely right about that. I can't say how significant Microsoft's BASIC was in terms of technology, but it was significant enough to be included in one of the most if not the most sold home computer in the world. And it was significant enough for Steve Wozniak to replace his own Integer BASIC for Microsoft's BASIC on the Apple 2 because of its floating point capabilities. So I guess it was pretty swell. Your summary of the history of Microsoft is interesting, but not really related to what @Keyboard G said nor to the Commodore 64. You mentioned Digital Research. There's a very interesting TH-cam video out there about how Digital Research didn't license or sell CP/M to IBM. The computing world would have been very different if Gary Kildall hadn't been so stupid. And that Gates did nothing of any worth in computing is obviously completely wrong.
@@florisvandenberg7424 - While yes, Microsoft made the first 6502 port of BASIC Interpreter. So, yes, Commodore BASIC is based on Microsoft BASIC that was used in CP/M and later MS-DOS. However, Commodore bought the proprietary rights to 6502 BASIC which was a tad costly to Microsoft because royalties from those variations on the 6502 cpu like found in Apple and Atari 8 bits had to be paid to Commodore instead of Microsoft. Microsoft had to do this MS-DOS deal or they would be out of business. Lets remember that Microsoft was a software company and they made software for the various computer platforms including applications, games, etc. into the 1980s. This was before MS-DOS became as dominant which occured in the second half of the 1980s and then Windows around mid-1990s. This is before Microsoft became the supergiant they are.
Just wait until you get to scrolling a screen in assembly. Then you experience full body pain, including a head case, lol. Miss this ole machine and all it's bits and bytes. Have your friend to try use a timer as a delay since it can sync with the machine better also. I didn't see the full code, but caught the brief glimpse of a nested loop.
There is a compiler for the c64 called basicboss, which is a big step up in performance without having to resort to assembly, if anyone's interested in taking the easy route.
Now you need the Mapping the Commodore 64, which is available in PDF. Also C64 Programmers Reference Guide, and a Machine Language Monitor cartridge. 6502 is my second favorite language.
It boots up quickly in part because it doesn’t have to load megabytes of data from a disk drive. Technically, a PC boots quickly, the raw PC board that is, via its BIOS, that’s stored on ROM. What happens after that is the bit that takes the time.
Assembly was for those who could afford £50 for an assembler. My first computer, when I was about 8, was an Amstrad CPC with a Z80 chip. There were these mysterious 'pokes': cheats for games that involved using the POKE basic command to write bytes into memory. I never understood then, but wish I had, how they programmers were writing assembler with pen and paper, and hand assembling them to make the machine code numbers to be POKEd into memory and CALLd. I think the modern world has lost too much of the 'do a lot with very little' ethos of computers back in those days.
The C64, along with the Spectrum (and compatibles) and Atari 8-bit were very popular as video game machines over here in Poland. I'm currently working on my own game for the ZX Spectrum, and while that computer has weaker graphical capabilities than C64, its Z80 cpu is more powerful and from what I have heard, also easier to program for than 6502, but that's balanced out by the lack of hardware for tiles, sprites or scrolling, only the screen bitmap, and anything moving has to be done by redrawing it in software, and it has a few hardware quirks.
It is not a horrible system. It's something YOU and all should be learning in school. C64 is the best computer to start learning to code on. C64 is real hardware coding. Same with Amiga and Atari from the era.
I think a clearer understanding, would be that CPUs process instructions as Binary, either looking at it in HEX or what base format tickles your fancy. Assembly language is a mnonic form of these instructions into human readable format. So LDA to the CPU is $A9. In the case of the C64. Before Assembly language was compiled or assembled into this binary format, you use to enter data directly into memory with a hex data entry system, and it was no fun. If you want to go back even further, than punch cards were kind of something I did once also. That was well shit!
That is funny to see the new generation to interest a bit about that old technology, yes, it was very painful to develop a program in assembler on earlier processors, the chip 6510 as a legacy of 6502 had a small instructions set in comparison with Amiga and Atari ST, I had to learn in on a laboratory tesdting machine Tina II, to program inputs and outputs to interfaces, that was the good old period, I know much about it as I was cr@cker as well ;-)
Ok a mistake was made. The Commodore 64's CPU runs on 1MHz. The chip itself is capable of 3MHz but the computer around it is not. I just assumed that with some tinkering it would be possible to get it up to 3MHz. (which I still think it is)
you can not simply overclock the c64 as the cpu's clock is tied to the video chip as one clock tick the cpu reads the ram, next clock tick the video chip reads the ram and so on, and if you increase the clock speed the video output will be no more pal/ntsc compatible. there are solutions but it always boils down the faster cpu having own ram and some mechanism to mirror this faster ram back to the machine, which is tied to 1mhz.
@@kangarht So he needs a Super CPU.
Or a self made PCB with 3 Mhz quarz wich isolates the CPU and divides the external clock by 3 and also 3 times faster faster RAM on this PCB.
@@SirGeldi not only that the isolated cpu needs to access the onboard ram somehow aswell.
Overclocking is hardly doable... many many challenges, many headaches and very small speed up (if you use faster RAM for programs)
@@kangarht Well, you *can*, you just don't have any screen stuff anymore. I remember i read about a german guy building a overclock switch so he could calculate fractal images faster somewhere around 1990.
"horrible blue screen" he says.....I still think the C64 startup is one the nicest things a screen can show, even after almost 40 years.
It is quite friendly. It's just being overly dramatic.
The colour choice was based on signal and TV quality. High contrast text would have had fringing making it disturbing to read so this was a good compromise. Commodore did a similar thing with the Amiga workbench and went so far as to buy the worst TV they could get and then get the best image quality.
Plus, it could be worse too. Imagine if they went with Comic Sans for the default C64 font. LOL
I love it too.
The Fallout 4 Pip Boy has the same number of bytes of free memory.
A zoomer touching a commodore 64 is like a gen Xer touching a radar unit from WW2, god bless you sir
And yet, I'm 15 and can program all sorts of systems.
@@ecernosoft3096 Really all? 8)
@@tomsaltner3011the phrase "all sorts of" doesnt mean "EVERYTHING THERE IS", but several different languages 🙂
@@ecernosoft3096That rather depends on what languages you're talking about. If you use a high level language that exists for many platforms, then you can technically program ALL those systems just using one language. But that doesn't make you any different to anybody else who's dabbled in programming. Good old BASIC was included with just about every home computer back in the day, so without much effort, you could write the same program for many systems, even if the hardware were vastly different. Today people use Python, C++, Java etc. Learning "Assembly" for each CPU architecture is very different to that.
FYI- yes, I know.
Here’s a list-
PC engine (haven’t done much)
Sega Genesis (again, haven’t done much…. Yet)
32X (still learning)
ZX spectrum (it’s too weak. I did some stuff but then gave up.)
Amstrad CPC
Atari 2600, 5200, 7800, 8bit line, and I attempted the lynx
Commodore 64, but didn’t do much since it’s too slow
Apple 2 (never made any games)
NES
And I attempted the CX16
The C64 was never running at 3MHz clock speed. The 6510 cpu runs at 0.985MHz on a PAL C64 and 1.023MHz on an NTSC C64. So, that's 3 times slower than what you think. 🙃
The 6510 datasheet specifies 3MHz as the maximum clock frequency it supports, that's where the confusion came from.
Try over clocking the c64 🤣
I tried to overclock my C64 when I got it (1984) but it didn't work. Turned out the Video Chip's frequency is synchronized with the CPU, so overclocking the CPU crashed the video signal.
Then also, the execution was based on a 2 phased clock (so less instructions than expected). Many instructions ran several clock cycles. Thus very slow.
To use the C64 properly you needed to understand all the hardware accelerator chips. For graphics it was important to understand the video raster interrupt. E.g. you could draw the 8x hardware sprites at the top the screen and then do another 8x at the bottom.
Digital sample sound was generated using the volume control. Poke 54296. 4 bits. Levels 0 to 15. A change caused a DC shift and doing that at "fast speed" resulted in a crude DAC effect.
I wanted to build myself a Midi interface and hacked in an Intel UART to do the 31250bits per second. Never got that to work properly on the C64 but I did eventually on a 4.77MHz XT PC clone.
The funny thing was that Elon Musk lived about 30km from me and used the same C64 model. Apparently he has a bit more money than me.
@@zerksus coding in C64 was bit different than coding these days, you ended up making direct machine code for C64 but these days you just try to figure out how someone programmed libraries you are trying to use and what parameters those need to work so it can be what ever compared to direct processor coding.
i dont know who you are, where you came from, but funny plad wearing man obsessed with impulsively programming whatever he could find in his garage may be the most interesting thing i've seen this week
That feels oddly relatable
IKR it's just light, original and fun, love it!
He is Polish all right...
@@michaelksiezopolski he is Czech i think
Poor guy? Nah, I feel bad for the person that wrote the first assembler. They didn't even get to code in assembly.
Now you speaking my language. I got my C64 in 1982. 30 years later I am now retired. Writing games as a 13 year old to a retired computer scientist. I just came across your channel and love your spirit. You are going places young man !
40 years later :) I know as im 50 :)
@@YoreHistory 😄 The good old days 🤭 It has been an amazing ride for me. Loved coding as a kid, then I had a lovely career travelling the world. I got to see so many places and learn so much about other industries in order to design and code. Well done you Yore too ! I still dabble a bit with Python. Just automating stuff around the house. Good fun.
@@Lee.Willcox Sigh...100% agree. I honestly miss it at times...not being tethered to a cell phone and the simplicity but depth of a system like the C64...good days indeed :)
Actually, you don't have to use assembly language on the C-64 except for time critical stuff. BASIC is just fine for most things. Even most of the games published on the Commodore label were just BASIC programs with the occasional machine code subroutine (and not just the ones on floppies or tapes, but also the ones on cartridges, which suprised me a lot, when I was looking at some games on the C-64 and VIC-20 back in my teens, back in the day). Although there are lots of C-64 IDEs nowadays that run on modern systems, nothing can beat the authentic experience of coding everything on the machine itself. 😁
Taught myself to program on a 6502 Atari when I was 10.
I couldn't afford an assembler so if write the codes down on paper and "compile" it my self. Later I wrote an assembly compiler IN BASIC so I could add things like fine scrolling to the games I was writing.
I worked in Finance for the US Army during the years 1983-85 in Wurzburg, GE. We had a Commodore 64 programmed to do simple travel vouchers to pay our soldiers per diem. Surprisingly, it worked well and saved us lots of time.
I was not expecting to see anyone touch my program. Thanks for checking it out, and most of all linking to it!
I was just a beginner when I made that, so it's pretty rough. Thanks to you I just started to pick it back up and make it into something better (probably will have progress pushed in a few months).
It's crazy looking back at my old work.
Great job! It is truly amazing!
Actually the download link does not work. I couldn't try it 💔🥹
A tip for you: beware of the original power supply unit: it will go bad over time and fry a lot of chips on your C64. If I were you I'd buy an aftermarket one. :)
Use a inline filter on the dc output and your ok
Yes get rid of the brick of death ☠
The C64 was very advanced for its time with sprite and scroll registers. If you want to make things real hard try to code a game on a VIC 20 with only softsprites and no raster interrupts 😁. Nice video 🤙
You can actually compile C to the C64. This is possible with CC65, which is a 6502 toolchain which can compile to a variety of 6502-based machines, like C64 and the NES. It has it's own assembler but you probably didn't care because you might want to use C instead of assembly.
I wrote an assembler before I knew what an assembler was. My one friend bought the C64 Master Reference Manual. Lots of gems in there. With it I figured out what the machine code instructions did. Took me ages to figure out that you can branch 127 locations forward and 128 backwards. Had to calculate everything with a calculator. The next step was to "automate" it with a Basic program.
6510 not 6502...... get it right...
@@chloedevereaux1801 the differences between a 6502 and the C64's 6510 are minor, nothing to get upset about.
-"3:03 also known as the sid chip. This chip gave the computer amazing sound capabilities which were almost unprecedented back in the day on personal computers".
Actually 3 years earlier Jay Miner (father of Amiga) introduced the Atari 8bit line and the Pokey sound chip, an early implementation of Paula's capabilities(Amiga sound chip) in a four channel sound chip(SID only had 3) with High Pass Filter and a big number of tweak and tricks that programmers are still exploring to this day.
The popularity of C64 has people confused on which machine did what first.
Too bad there is no Pokey love right now, it sounds so much better than the bubbly SID garbage we've heard too much (like OD'ed on 303 acid).
@@lovemadeinjapanThe POKEY was a perfectly fine chip, but it was designed as a PSG, not a synth on a chip like the SID was. There's a lot of great minds music that was written for the POKEY, AY-3-8910 and even the SN76489. People have managed to get great music from 1-bit beepers. But there's only one sound chip from that era that people actually hunt down to build rack mount synths with.
@@talideon You said it: build rack mount synths. Nuf said. The perfect bubble for a SID bubble overdose.
"somebody had to create BASIC in assembly, poor guy." Three people did, and one of them was Bill Gates.
Bill Gates, Paul Allen and who?
@@florisvandenberg7424 - Actually, there's more involved but BASIC existed before Bill Gates. They were making a version for the 8080 and then 6502. Commodore had some of their own individuals work on modifying BASIC for their computers over the years. However, BASIC began in the 1960s, as an FYI.
@@DysoniaMultiverseNews Yes, but Microsoft BASIC, didn't , which was his point
And that want a patch on the basic created by just one person. That person was Sophie Wilson.
@@cjmillsnun which has an assembly language interpreter built into the BASIC, I think
If you think the Commodore 64's bootscreen is horrible, then you aren't worthy of touching any computer.
C64 = instant like. Assembly programming is like opening a magic box.
Nice video! It's always fun to see someone starting a new adventure with the C64. Best computer of all time -- although it's actually a 1 Mhz machine. In between interpreted BASIC and pure machine language, there were MANY programming language packages developed for the C64 with their own compilers, as well as several standalone BASIC compilers that would speed up your BASIC V2 programs immensely. Over here in North America, the RF shields are metal, and double as heat-sinks for the chips. For longevity, I would highly recommend putting a heatsink on the SID; you might also want to do the CPU and PLA. -- JC
I realized my mistake and corrected it in a pinned comment. Thank you for telling me.
FWIW the original MOS 6510 CPU was manufactured with NMOS technology, a variant or one manufactured with a different process (HMOS, CMOS) might be able to be clocked faster. And, in any case, as best I understand, the speed of the main memory would have forced them to go with a lower clock speed anyway. - The MOS 8502 runs at 2 MHz for instance.
@@jnharton The 8502 used in the Commodore 128 was indeed a 2 Mhz processor. The HMOS version of the 6510 was the 8500 used in the Commodore 64C "short-boards". It's a more thermally-efficient chip that is backwards compatible with the 6510, but still ran at 1 Mhz, because it was still a C64. As you rightly point out, the speed of the DRAMs was one of the limitations. The main memory in a C64 is effectively being accessed at 2 Mhz, since the CPU and VIC-II are constantly jumping on and off the bus to alternately access the RAM. -- JC
during the pandemic, I went on an eBay spree and re-created my childhood C64 setup, right down to the Compute's Gazette magazines and a 1980's Mountain Dew can. I've got: the C-64, 1541 Floppy Drive, the Cassette Drive, 1902A monitor, the 1660 300 Baud modem, and an Okimate 10 color printer (still prints too - I recently used Print Shop to print a birthday banner). No mods or emulators, all original and in their original boxes, and everything works 100%. Can still load up and play The Bard's Tale from floppies!
That's so funny looking at young guys trying to get aware with artefacts of the past!
It's really not until you've seen Assembly that you understand that programming is nothing more than reading from and writing to memory.
Exactly. Realising the fact that in the end software is nothing more than instructions for a state machine helped me tremendously with becoming a better programmer.
Yeah... Loading the Accumulator; Loading the X Register; Loading the Y Register.
I tried to learn Commodore Assembly by using the Commodore Reference Guide (the thick one). I tortured myself for years with that, and could never get beyond printing ASCII to the screen. I don't understand how kids learned to make entire games and demos from raw Commodore Assembly. In fact, I actually revisited it around 1997 and tried to wrap my head around it again, but, alas, I was still using that same Commodore Reference Guide and failed to get any further. lol
Still... it's not so hard. Asm is nothing more than registers, memory, calculations and branching. On the 6502 cpu anyway.
@@florisvandenberg7424 "Still... it's not so hard. "
--> Try writing any of the following C64 classics...Delta, Armalyte, Wizball, Blood Money etc etc in 100% assembly language (no game engine...EVERYTHING from scratch). Oh yes, an NO internet research/ability whatsoever beforehand or during - you are provided only with 'programming books/magazines of the day' !!!
Writing top games in the 80's was(!!!)...INCREDIBLY HARD, requiring an encyclopaedic knowledge of every opcode 'variant'(!!) and operand, cycle counting and sound/gfx programming.
Crucially, when compared to writing the engine + the game from scratch in the past, today's incredibly impressive and powerful game engines, effectively, reduce the difficulty of creating a game by at least 95%.
@@ChrisM541 Writing those games is hard. That's not what I'm talking about.
Dude... for a young guy on the scene, you are funny as hell!!! Love it!!
you should continue this as a series, finding old hardware and attempting to code simple games on them. id watch em all. subbed
I loved my C64. It was my second computer after the VIC20 and was a massive upgrade from that. I taught myself BASIC from the manual that came with the VIC20 (no internet in those days of course) which was compatible with the C64. Then on the C64 I taught myself machine code. I couldn't afford an assembler back then as I was just a school kid. So I would POKE the machine code instructions into memory before running them.
A Text based adventure is one of the kind of games, you can perfectly do in basic.
first game i ever made was on c64 as text adventure with basic
The poor guy who had to write the BASIC Interpreter in assembly was Bill Gates, so not that poor…
I was about to mention Microsoft, but your beat me. 🙂
The owner of this channel might have heard of Microsoft?
i mean... he still had to write the basic interpreter, soo
If the path to being a billionaire involved writing basic interpreters for the Commodore 64 there would be hardly any billionaire in the world
I wrote an assembly compiler in BASIC..not as impressive but I was 10 so .
I had mine in 1986 at age 10 and loved it! It was sold with double the specs of a PC at half the price, and Commodore just stole the market. Could you even imagine what it would be like if a company suddenly introduced a system like that today? I barely can't and I have a vivid imagination 😀
It's still the best selling home computer model of all time, and is credited with being the system that brought computers into ordinary people's homes, and I think the history behind all of that is truly fascinating. It still have a very strong following and people are still writing games and software for it, and others are making hardware. Pretty impressive for such an old system.
Also, if you wanted to show an impressive game, probably should have gone with Creatures though it was released in 1990 🙂
“Poor guy…” Wasn’t that Bill Gates himself?? 😂😂
Not sure if it's been mentioned yet but I recommend replacing the old psu or get a overvoltage protector as the old psu have a habit of killing the system when they eventually go bad, love your videos btw..
There's dual voltage out. Ac and dc. I believe it's just the dc output that you need fo regulate. I was going to make and sell a inline filter so you could still have an original supply hooked up but didn't continue the project
Machine language on the C64 - 8 bit processor was the horror. But if you could get used to hexadecimal numbers, high and low bytes, sprites and so on, you wouldn't shy away from any other machine language.
6502's machine language is very similar to Motorola 6800. The 6800 architecture and instruction set were influenced by the popular Digital Equipment Corporation PDP-11 mini computer. On C-64 there was an assembler capable of generate executables and object files. The language was beautiful compared to 8086. I wrote thousand of lines in 6502's assembler, and was a very instructive way to understand the architecture. One of my best memorie of my childhood.
Nobody in their right mind wrote in raw machine language except to do bootstrapping or if they had no alternative. The moment you needed to do anything remotely complex, you'd either find a half decent assembler that somebody else had written or hack one together yourself.
Another good channel for C64 stuff is the andrian's digital basement, he's always fixing those computers.
Loved your PS1 programming videos and i am glad to see you continuing this style of video. Subscribed!
So much fun to watch someone learn and experience an 80s microcomputer using comparisons with Python.
"Someone had to create BASIC in assembly, poor guy" -> You know who that was in this case? Bill Gates
Great job, and great videos! Keep up the great work! Merry Christmas! Josh from Chicago.
Good haircut and very important video.
Tip:(pay this kid in the basement 0,0001 dollars per week he worth it, it's hard to code in assembly nowadays)
I just found your channel and automatically subscribed. I know nothing about programming but I'm finding your videos very entertaining. Keep up the great work!
thank you little silly man who program stuff you help me sleep at night, i have no idea what your talking about and that’s fascinating.
Great video - you gave a good overview of the machine, and as someone who used a C64 back in the day, your "21st century" response to using it was highly entertaining! Keep up the great work.
LOL. When you opened that breadbox I got a phantom, nostalgic, tingling in my fingertips when I saw that glass fuse on the board. Y'see, I was using this as a kid and I didn't own an Action Replay cartridge which can "freeze" game states to allow code, or pokes, to modify the game to cheat and such. So, some smart chap found out that if you hit 2 pins at the same time on the cartridge slot with a paper clip, that was how the Action Replay activated its own. Problem was, get it wrong and you're gonna get zapped. Nothing too painful, the fuse on the inside blew before you got anywhere near a lethal shock. I went through a few fuses before I got a cart.
@2:00 "somebody had to program BASIC in assembly, poor guy" - haha, how about Bill Gates and crew in Redmond Washington. Not poor.
Ahh, I remember getting our C64 in 1987, our very first computer, as a Christmas present from my aunt and uncle. They would always bring their C64 with them when they came to visit and we would all play Jumpman together, so they eventually got us one, complete with a Commodore disk drive, monitor, and dot matrix printer.
im not used to having good headphones so those keyboard sounds were really making me think someone was making loud clicking noises right behind me and i was afraid for my life
I remember programming Assembler during uni as one of the most unpleasant things ever... still there is use to it when it comes to optimizing stuff
I learned Assembly by myself, and I really enjoy it. Im really into low level stuff, virtual machines, emulation and so on. Its pretty fun and challenging. (Im self taught - no Degree)
I taught myself assembler in 6502, 6800, Z80 when I was between the ages of 12 and 16.
Loved every minute of it.
@@deang5622 Same experience and ages for me, back around 1984. My C64 was my first and still favorite girlfriend.
Still better than all modern languages, since basically every language has become a variant of C ..
Geoff Grammond programmed the physics engine for the Grand Prix formula 1 simulation racing games, and still up to this day you can feel that the physics engine runs smoother than any other physics engine programmed in C. Niels Heusinkveld did a nice review on his channel in that regard.
I've started learning MIPS Assembly for the PS1 after your videos, let's see if I can make a game by myself
Considering the C64, its demoscene is also pretty bonkers. It would be a nice idea for your next video to try and make a graphics demo for the C64, or maybe remake your first PS1 game in C64 (not the 3D one it's gonna be torture)
Despite of some mistakes (CPU speed, etc) and judgements (“Horrible” blue screen), I admire the efforts you put into this video even though this computer is much older than You. For me, it was my first computer, and back then it was state of art, top of the line, best in class, absolutely amazing graphics / music. The sample music you played is from 1983 which is super early in the platform, try Last Ninja 2 (1988). I still use sid chips and an 1982 SX64 during live music performances in 2022.
i used to watch 8 bit guy years ago but when i switched accounts i forgot to resubscribe. thanks for reminding me lol.
It is quite common that we 40+ old people go back for these machines for the nostalgia but it is a nice surprise that someone from the generation of our children is taking the time and effort to program them.
BABE WAKE UP NEW BANDWIDTH VIDEO
you are one class act of a channel....great content...and I loved your tour of the c64...I am 52 now...and got my c64 in 1982 when i was 12.....such a great trip down memory lane that I am slowly learning how to write assembly NOW....and finally make some sense on how to program my favorite games of all time
This was my first computer. And it is not only assembly, first we had to write in machine codes, simply putting numbers into memory and then point the CPU to start executing from there. I still remember some codes (JSR = $20). Actually that computer had great sound chip (for the era) and reasonable graphics.
Rly interesting the stuff you do greetings from Belgium ;)
I was really into the Playstation videos, but this one got me to sub :)
If any consolation:
you are not the only who who struggled with the c64 :)
Lol.... i'm trying to image your shock ;)
Brain can indeed hurt after this experience for unprepared ;)
I actually have an interest for old computers like the Commodore 64. I sometimes code a bunch of little programs for these old computers. (Not exactly games, since I'm bad at making games in Unity, let alone 6502 or Z80 assembly) Also, it's because I have a mini-nostalgia for these computers (Back in 1990s Poland, the best computer you could buy at the time was a Commodore Amiga, and it was very expensive, hence the Commodore 64 and many other older computers became popular there due to its cheap price, as well as its availability)
I just stumbled over your channel. Go on with it. What i like about the old times there were really different platforms with different hardware and concepts. Today you have basically the same hardware. ARM as processor as exception, most Intel/AMD. Boards are similar too. You have different chipsets but still it is very similar. At that time (80s) there were really differences
I still have one from the early 80s. What a great time to be alive at the forefront of the computer revolution! Now I am old. lol
I''ll second the mention of the power supply! Beware.. it can cook your C64
Get a new power supply or some overvoltage protection for it. BTW I love what you got out of this great computer. The Commodore 64C was my first computer. I got it in '88 at age 11 😎
I like the way you make your videos!
Keep going! :D
C64 was my first computer and all I did was BASIC stuff, my brain back then wasn't even aware that there was such thing as assembler... we even didn't have internet back then and we needed to walk to the library to read how to code
I’m still a begginer programmer, as I started studies in computer engineering. Studying the 6502 have helped me understand more CPU architecture and how it works. I’m just learning how it works because I want to make a NES Emulator ☺️☺️☺️
I guess you have already found Ben Eater's YT channel then? If not, you should look at it. Ben Eater.
@@bodan1196 Yes, I've watched Ben Eater's videos. Thanks for recommending it anyway :)
I’d gotten my C64 in grade 9. The school had a computer course with VIC20s at the time. I’d also taken a typing course with electric typewriters not because of girls but wanted to type faster. Cool to see another generation get into this!
Being able to "hit the hardware" directly is actually very freeing, but if you find it difficult you should look into what was required to program the Atari 2600 back in the day! It had only 128 bytes - yes BYTES - of RAM and no video buffer: The program itself had to keep track of where the display beam was and write sprite data at the appropriate time. It could also only access 8k of ROM though most games were 4k.
What a great young person keep going haha almost makes me want to start coding my atari st again
Gotta love the fact that when you say "Somebody actually had to create BASIC in assembly - poor guy"... You're actually talking about BILL GATES! XD I made a video on that..
And yes - with some serious tinkering you can get the C64 to run at 3 MHz.. Like if you run the graphics off a separate clock :)
subscribed! this channel has potential.
You'll want to get a newly made power supply for that C64, the original PSUs have a bad habit of wearing out and causing board-killing voltage spikes.
Yes I got warned about it a lot but the new PSU didn't arrive in time so I just had to grit my teeth and go with it.
Wow, you make one awesome video after the other and meet exactly my interests with them. Thank you for your content!
haha, your "horrible blue screen" was the warm welcome screen to gaming in my childhood, anyways, nice to see young lads taking a look at old tech :)
You are my new fav TH-camr
Give us more :D It'd be awesome to see how you actually programmed it in Assembly :)
“Poor guy” who wrote basic is Bill Gates, the richest guy. 😂 Commodore Basic 2.0 is Microsoft Basic, which is why they needed peek a s poke for more advanced functionality.
You don't know anything about Computing History. John Kemeny was a professor at Dartmouth College when he was 27 years old. Tom Kurtz also had a PhD and joined the College where he met Kemeny. FORTRAN came out for their IBM 704 computer in 1956 and inspired them to work on a similar language with IF, PRINT and GO TO statements in it. A new machine arrived at the college in 1959 with 15 Kilobytes of RAM organised into 4K of 30 bit words. Kemeny and Kurtz designed a language that could be used by a complete beginner, and worked via dumb terminals, rather than a system where cards had holes punched in them and were sent away to be processed in batches with the result of the computation coming back the following week. The very first BASIC was a compiler, but it was fast, so it supported interactive exploratory programming suitable for beginners. It had line numbers as labels for the GO TO statement to refer to. Bill Gates had no involvement in the design and development of BASIC whatsoever. Bill Gates collaborated with Paul Allen to make an interpreter inspired by Kemeny and Kurtz's Dartmouth BASIC to run on the MIT Altair 8800 home computer in 1975, which was popular in the Homebrew computer club that Steve Wozniak attended. Wozniak made the first PC when he made the Apple-I in 1976, with 4Kb of RAM, cassette based BASIC programming language also written by Steve Wozniak - before he built the computer:
"I had no assembler, that was another thing. To use an assembler, they figured that somebody was going to buy this processor to use for a company, and their company can pay a few thousand dollars in time-sharing charges to use an assembler that was available in time-share. I didn’t have any money like that, so a friend taught me that you just sort of look at each instruction, you write your instructions on the right side of the page, you write the addresses over on the left side, and you then look up the hex data for each instruction-you could assemble it yourself. So I would just sit there and assemble it myself. The BASIC, which we shipped with the first Apple II’s, was never assembled - ever. There was one handwritten copy, all handwritten, all hand-assembled. So we were in an era that we could not afford tools." - Steve Wozniak
Apple Computers was founded by Steve Jobs (employee #1) and Steve Wozniak (employee #2) with the money from the sale of Jobs' VW Camper van, which he had paid for by mowing people's lawns. There is no connection between Jobs and the 1992 film _The Lawnmower Man_ or between that film and the 1975 short story of the same title by Stephen King, who sued the film makers because they were going to call their film _Stephen King's The Lawnmower Man_ and it bore no relation to his story, which wasn't about computers or VR or Steve Jobs.
Apple were behind the microcomputer revolution from its inception. Bill Gates snuck in because IBM realised they had mainframes and mini computers but no microcomputers, so they made one out of off the shelf parts, and went to Gary Kildall of Digital Research to see if he would license his Control Program/Monitor operating system (CP/M) for use on their IBM PC and he was out of the house flying his plane, and his plane crashed, and he died. They called Gates, who didn't have an OS and Gates made out he did, and then bought the rights to 86-DOS from Seattle Computer Products for $75,000. Ultimately this led to Microsoft being sued for $60,000,000 and Microsoft eventually settled for $925,000. 86-DOS from which DOS was based, was originally called QDOS (for Quick and Dirty Operating System), and was completed in 1980 by Seattle Computer Product's employee Tim Paterson, who doesn't appear to have financially benefitted in proportion to his contribution to Microsoft's DOS, without which there would have been no relationship with IBM (or subsequent IBM compatibles), for there to be Windows.
Apple didn't steal the idea of the GUI from Xerox PARC making it "a moot point whether Microsoft Windows ripped off the Macintosh Finder", as Apple gave Xerox stock in Apple in order to see what was happening at the Palo Alto Research Center. Steve Jobs was ousted from his own company, and went off to make the NeXT Cube computer for the University market, based on the UNIX operating system, but with an OOPS-lite GUI based on Objective-C a bit more similar to the full-OOPS of Smalltalk-80 on the Xerox Star mini computer which allowed every part of its OS to have its code modified at runtime by the end user. NeXT only let you use Interface Builder to make new Applications that worked within the existing UNIX OS. Bill Gates took this opportunity of Jobs' absence to pressure Apple CEO John Sculley to license Apple's software to all PC manufacturers, so it would become the _de facto_ standard. This way Microsoft would get the Mac without having to make their own Windows from scratch. This was rejected by Jean-Louis Gassee (who later made the BeOS based computers). There was more money to be made for Gates out of selling Word and Multiplan than DOS anyway, hence the push to have the Macintosh UI on all PCs. Bill Gates revealed Windows in 1985 at the COMDEX trade show and people were not at all impressed, as Digital Research's GEM was far better. Windows could not overlap each other, they could only tile. John Sculley saw it as a rip off of Apple's Macintosh Finder and threatened a lawsuit, but it transpired that Microsoft had ALSO licensed GUI elements from Xerox and begun work on Windows before they had first seen the Mac, so an agreement was made to permit Windows 1.x but nothing thereafter, tolerating Microsoft's coincidental design based off the same source influence in exchange for 2 year exclusivity of Excel on Mac. Windows 2.0 was seen by Sculley as a breach of contract, as was HP's NewWave, and the Apple v. Microsoft GUI court case ran from 1988-1993 and was decided in Microsoft's favor. Sculley had given Microsoft permission to use substantial elements of its GUI in 1985 in exchange for Word and Excel. Had Sculley pushed development of Pages and Numbers (or their equivalents) much earlier then its possible Microsoft would not be legally permitted to have such a similar UI to the Macintosh.
Bill Gates is not the "richest guy". Elon Musk is. He has $254,000,000,000+
Most versions of BASIC vary quite a bit from Dartmouth BASIC. Bill Gates and Paul Allen's BASIC was nothing significant. They didn't write their own DOS for IBM PCs. They got it off someone else too sappy to realise they could sell it direct to IBM themselves. Gates has done nothing of any worth in Computing.
@@____uncompetative Bill Gates didn't invent BASIC, but he and Paul Allen did write the C64 BASIC interpreter. @Keyboard G is absolutely right about that. I can't say how significant Microsoft's BASIC was in terms of technology, but it was significant enough to be included in one of the most if not the most sold home computer in the world. And it was significant enough for Steve Wozniak to replace his own Integer BASIC for Microsoft's BASIC on the Apple 2 because of its floating point capabilities. So I guess it was pretty swell. Your summary of the history of Microsoft is interesting, but not really related to what @Keyboard G said nor to the Commodore 64. You mentioned Digital Research. There's a very interesting TH-cam video out there about how Digital Research didn't license or sell CP/M to IBM. The computing world would have been very different if Gary Kildall hadn't been so stupid. And that Gates did nothing of any worth in computing is obviously completely wrong.
Here it is: th-cam.com/video/sDIK-C6dGks/w-d-xo.html
@@florisvandenberg7424 - While yes, Microsoft made the first 6502 port of BASIC Interpreter. So, yes, Commodore BASIC is based on Microsoft BASIC that was used in CP/M and later MS-DOS. However, Commodore bought the proprietary rights to 6502 BASIC which was a tad costly to Microsoft because royalties from those variations on the 6502 cpu like found in Apple and Atari 8 bits had to be paid to Commodore instead of Microsoft. Microsoft had to do this MS-DOS deal or they would be out of business. Lets remember that Microsoft was a software company and they made software for the various computer platforms including applications, games, etc. into the 1980s. This was before MS-DOS became as dominant which occured in the second half of the 1980s and then Windows around mid-1990s. This is before Microsoft became the supergiant they are.
@@____uncompetative tldr
The good thing about learning 6502 m/c is that every other language seems really easy.
I found a C64 in a thrift show in box with a 150$ sticker on it, the lady goes, "oh you're buying a keyboard 2$" haha this was in 2005 or sometime.
Just wait until you get to scrolling a screen in assembly. Then you experience full body pain, including a head case, lol. Miss this ole machine and all it's bits and bytes. Have your friend to try use a timer as a delay since it can sync with the machine better also. I didn't see the full code, but caught the brief glimpse of a nested loop.
There is a compiler for the c64 called basicboss, which is a big step up in performance without having to resort to assembly, if anyone's interested in taking the easy route.
Now you need the Mapping the Commodore 64, which is available in PDF. Also C64 Programmers Reference Guide, and a Machine Language Monitor cartridge. 6502 is my second favorite language.
Guys, every day we are getting closer to getting him to write a program for the Konix Multisystem
You inspire me to start my TH-cam channel, don't stop what you're doing !
It boots up quickly in part because it doesn’t have to load megabytes of data from a disk drive. Technically, a PC boots quickly, the raw PC board that is, via its BIOS, that’s stored on ROM. What happens after that is the bit that takes the time.
Assembly was for those who could afford £50 for an assembler. My first computer, when I was about 8, was an Amstrad CPC with a Z80 chip. There were these mysterious 'pokes': cheats for games that involved using the POKE basic command to write bytes into memory. I never understood then, but wish I had, how they programmers were writing assembler with pen and paper, and hand assembling them to make the machine code numbers to be POKEd into memory and CALLd. I think the modern world has lost too much of the 'do a lot with very little' ethos of computers back in those days.
6502/6510 is fun. Complex and fun.
Next up, SEGA!
Good job Filip, have some white tea
Writing a good for nothing calculator sounds like a rite of passage for any aspiring programmer…
BABE WAKE UP!!!! BANDWIDTH POSTED ANOTHER VIDEO!!!
WOOOOOOOO
3:14 oh my god??? i remember this song from a background music in spore lmao what a way to find out
The C64, along with the Spectrum (and compatibles) and Atari 8-bit were very popular as video game machines over here in Poland.
I'm currently working on my own game for the ZX Spectrum, and while that computer has weaker graphical capabilities than C64, its Z80 cpu is more powerful and from what I have heard, also easier to program for than 6502, but that's balanced out by the lack of hardware for tiles, sprites or scrolling, only the screen bitmap, and anything moving has to be done by redrawing it in software, and it has a few hardware quirks.
I love 6510/6502 assembly
Your friend just casually writing assembly 💀
It's really not difficult to use once you understand the basic ideas of it
I am sure he is Czech and yeah, its weird but in my late 30s I enjoy these videos. Looking for next series.
It is not a horrible system. It's something YOU and all should be learning in school. C64 is the best computer to start learning to code on. C64 is real hardware coding. Same with Amiga and Atari from the era.
he will end making a pc made pcb hot glued with a 6502
finally a video thanks bandwidth
Not sure how I found this but defo enjoyed
Wait until he discovers raster interrupts... 🤣
I think a clearer understanding, would be that CPUs process instructions as Binary, either looking at it in HEX or what base format tickles your fancy. Assembly language is a mnonic form of these instructions into human readable format. So LDA to the CPU is $A9. In the case of the C64.
Before Assembly language was compiled or assembled into this binary format, you use to enter data directly into memory with a hex data entry system, and it was no fun. If you want to go back even further, than punch cards were kind of something I did once also. That was well shit!
That is funny to see the new generation to interest a bit about that old technology, yes, it was very painful to develop a program in assembler on earlier processors, the chip 6510 as a legacy of 6502 had a small instructions set in comparison with Amiga and Atari ST, I had to learn in on a laboratory tesdting machine Tina II, to program inputs and outputs to interfaces, that was the good old period, I know much about it as I was cr@cker as well ;-)