The 6502 port of MS BASIC was done by someone else at MS, not by Bill Gates as far as I know. So we don't know if BG can write 6502 code, but the joke falls flat anyway since it is acknowledged that he was quite good in Assembler, and that the Altair BASIC interpreter, of which he wrote the major part - and which showcased and established BASIC as the most suitable high-level programming language on microcomputers for a long time (until more development went into C and C++ compilers than into BASIC compilers) - was quite an achievement.
If you look closely, the source URL is at the bottom right of the picture... If the video's resolution is too low, that's not my fault. ;-) I did publish the original slides on pagetable[dot].com though. Anyway, I think we're even now, since I don't think you referenced me at 14:50 in your Commodore History Part 1 video. ;-)
This brings back SO MANY MEMORIES! (64K to be exact!) Machine Language programming on the C64 was a lot of fun. If you wished to redefine the characters you would read from character memory which would always read the character set, then WRITE to it which would always write to the memory under it, then you could switch it out and use your copy in RAM to modify the original characters. You could also temporarily switch out character memory to use the storage under it, which I used to do as well.
4:40 "Mayhem in Monsterland" doesn't even use a screen mode, which wasn't possible originally or without further ado, but the normal multicolor char mode. However, it is always a great praise to the graphic designer when this is claimed.
excellent talk you went on nonstop for over an hour and covered the C64 in many areas. of course no one can explain in total how every electronic component works inside the computer but you covered pretty much everything and explained thoroughly the display techniques. very good technical information, well done my friend.
17:11 I wish we got to see what I can only imagine is a blank slide, but instead we get to see just his face while he talks about a slide we don't ever get to see....
6 років тому
It is not a NOP joke. It is about endianness. 8 bit machines do not have endianness issues, yet he claims that little endianness is the only meaningful one :)
Superb talk! While every chip in the C64 could get an hour long talk on its own, this overview was very thorough and informative. Thanks! Gotta love the Commodore 64 :D
The 6502 (and 6510) actually had pipelining. An instruction is loaded up as the one before it (if it doesn't access memory) executed. Sophie Wilson (who designed the ARM instruction set) told me how she defeated those extra cycles when a LDA ,X crossed a page boundary. She just swapped around the address lines on the BBC and since the RAM could operate at 8MHz, ensuring boundary crossing whatever the base, whatever the index coupled with a bus tweak meant that there was never a slowdown. People looking for coding fun may like the Arduino M0+ which has a 48MHz ARM Cortex M0+ using Thumb (16 bit) instructions (Sophie again). With DMA, DAC, ADC and enough power to display a 320 x 200 VGA screen output (via VGA->HDMI) and with 32K RAM & 256K Flash, it's another small system that may be pushed.... I'm writing an MP3 decoder and next is ACELP. I have a plan - talking books with projected images using the Cortex M4 in SDIO MicroSD controllers. So that will be coded in Thumb2..... But just amazing stuff. I coded the C64 version of Tetris in 1984 and £3000 for 2 weeks work.... coders (not programmers) are about to make a HUGE comeback so it's demo coders who can get these low cost (
"Swapped around the address lines"? What exactly does that mean? I don't understand how that would change anything since the extra cycle is coming from the CPU.
Yeah, hardware design matters. Though the CGA hardware isn't as bad as people think. Problem is most people have never used a real, original CGA card, and only use CGA emulation on EGA, VGA and later cards. Doesn't sound like a big deal, but CGA emulation on later hardware only covered RGBI emulation. This obscures the fact that CGA actually had 16 colour support (though in reality it's possible to abuse text mode and get 160x100 in 16 colours even using RGBI output), and through hacks it was discovered that that it was fairly easy to get 16 out of about 100 colours this way, which is actually better than what EGA managed. With more extreme and improbable hacks (mostly because it required a modern PC and quite a lot of processing to work out the correct timings) it was shown that you can trick a CGA adapter in composite mode into displaying something in the region of 1000-4000 colours at once onscreen. The timing issues make this problematic, and the calculations required meant it's unlikely anyone could have worked it out in the 80's... But still, CGA's true abilities are vastly under-rated because it's composite output mode keeps being forgotten about. And this is weird, because it's composite output mode WAS what it was designed for, really. RGBI monitors required for the RGBI modes people are more familiar with weren't even available early on. In fact, given what it's actually demonstrated to be capable of when using composite output (and composite output is how the C64 and most early 80's home computers produced any colour signal at all) the CGA graphics card may arguably be quite powerful. The PC architecture as a whole is atrocious, and remained atrocious well into the early pentium days (read Micheal Abrash's stuff on VGA and assembly programming on the PC and you quickly realise just how stupid and painful that system actually was. Did you know that the bus specifications and poor performance of many VGA and SVGA graphics cards means that a 486 PC when running graphics heavy code is no faster in most cases than the original 8088 based PC's? And yet taking CPU performance alone it should be somewhere in the region of 50-100 times faster. Talk about an atrocious architecture... Makes you wonder how this caught on and ended up dominating the industry. - Yes, it's worst aspects were improved bit by bit, and especially after the PCI bus and it's successors showed up things got a lot better, but still, what a terrible place to start from...) Still, the CGA was perhaps one of the better designed elements of the PC in hindsight. Just goes to show you things are not always what they appear, because new technology can obscure what older technology can do. ... Especially if newer technology claims 'backwards compatibility' yet actually only partially delivers, and people lose sight of what was lost...
WoW! I didn't have a C64, I had a Color Computer 3. (The coco 3 have no complexe hardware, and no sprite at all). I have understand the entire video. The commodore 64 is a really complex machine. I know now how democoders do the tricks, and even more why peoples applause at the picture parts of each demos (The graphics on CoCo 3 was at least, 16 colors by pixels out of 64...) . Thanks for sharing.
This video brings a lot of memories back from the old days in the 80s ... but honestly: What people are squeezing out now from this great machine is really impressive - I never had even an idea this was even possible in any way. Thumbs up!
I have been reading a book about commodore and from the book they tries to sell the VIC to Atari for a 2600 successor. They managed to do some amazing things with the chips
This is a great video and really illustrates the capabilities of this machine. Back in those days if someone had a computer at home chances were it was a C64. An interesting thing to compare is videos of Pool of Radiance gameplay on a C64 versus the same game on an Apple II. It really illustrates the power of the Commodore machine.
Great video, brings back old memories of coding the C64. I never used half the instruction set and didn't always understand everything I was doing (most notably the faffing around at the end of an IRST, which I just copied from other coders), but I was still able to do some amazing things... look for my demo game, "Colony" (a parallaxed scroller) elsewhere on UA-cam.
also there are different opinions about the number of additional colors using interlace. this depends in fact on the level of flickering, but there are definitely more than just 20 colors possible. i recall the 81 colors mentioned in the mag 64'er with the funpainter 2 release or the 136 colors rule by joe/wrath (and this is for chessboard dithering in non-flicker mc mode).
Very cool, this is the first new stuff I've learned since the last C=Hacking came out. This video needs at least 10 million viewers, spread the link!!!
correction: mayhem in monsterland uses charmode not multicolor. the gfx artist got the impression of mc by clever color management - eg. different bg than black, using color trans as antialiasing, crt line dithering to get additional colors. most obvious about the mode is that steve rowlands used mixed resolutions (the collectable stars are done in hires)
Yeah, i was actually just checking the game out again, after he said it at around 53:23, to see if i remembered the game incorrectly - notably its mixing of (non-sprite) hires with multicolor graphics, which wouldn't have been possible in bitmap mode (at least not without a lot of rastersplits). Thanks for your comment to confirm it ;)
Great explanation!!!! Wow: All (?) you have to know about the C64. If I had known this back in 1985 - I still wouldn't be able to program a cool game. But with only the manual of the C64 ... no chance to get to know all this.
How can you emulate something correctly which itself is behaving VERY differently on each individual SID chip? Such a thing as a "full" or "correct" reference filter model does not exist for the SID chip in general. The only SID revision which has much less variance in filter characteristics is the 8580.
Five years later ... Absolutely! I loved every minute of this and learned a lot. He skipped over the SID, though. If only there was someone watching this video that could teach us a thing or two about programming the SID chip ... ;-)
24:15 I think it would disassemble as BIT $53A9, but still a nice way to save a couple bytes. 24:30 The only problem with this self-modifying code example is that if you call that routine more than once, it will trash Basic. 37:00 Screen RAM is actually $0400-$07E7. 41:44 {Sound of beer bottle cap hitting the floor. 😁} 56:28 {Sound of beer bottle rolling on the floor. 😆}
He says in Bitmap Mode you can use 3 colours out of 16 freely. That's wrong. You can only use 2 freely/individually and 2 of the hole screen are shared by the hole graphic.
0:39:50 - 0:55:30 the great advantages of C64 graphics. How to split the screen vertically? Like in Antiriad - some of the graphics is in hires, some in multicolor?
i guess it's not that easy to rebuild a VIC-II completely so that it behaves exactly like the original VIC-II :-) but that would be mandatory if one wants to build a new VIC-II with additional features and with external video ram on a small pcb it could do higher resolutions and colors and still be compatible to the old VIC-II. that would be great :-)
@@michaelsteil4206 Ignorant? Never. You just had one badline after another. =D (And by the way a ~4 year long NOP before answering. But that's okay for 1 MHz. :D :D )
I'm only 30 seconds into this and I'm already annoyed: Why are there so many videos on youtube with the sound out of sync with the video? Did we not LOOK at the video before we uploaded it? Geez!
thank for these interesting insights. but i coded 6502 (atari 2600 & c64) and 680x (vectrex for example) and the 680x assembler is a lot cooler and more intuitiv than the 6502 (which is in fact a cheap clone or?)
Only thing that baffles me is this : given how great the Commodore engineers were in general, howcome the 1541 disk drive was such a slow and "obese" design? Especially considering the fast and efficient drive of the Apple II, having been admired and available for scrutiny for years. Almost as if Commodore outsourced that design to IBM :)
The slowness of the 1541 was a accident. What happened was there was a trace on the c64 for burst to the drive which would speed it dramatically but when the pcb went to japan for cost reducing a japanese engineer thought the trace was not needed and deleted it. They discovered this when the c64 was back in the USA but they already had made 100,000 pcbs without the trace and couldn't toss them($$$),so that is why we lost burst to the floppy drive. To fix this problem they had no choice but to re-write the rom in a short,record time, to work reliably,giving speed up. If you think of commodore's daisy chaining of a serial i/o it could almost be compared to USB . Its possible to load a disk copier inside a 1541 and disconnect it from the c64 and have it copy disks stand alone. You should also realize Jiffydos came out in 1985 and could be added to computer and drive making a major speedup.
+Tigereye2k6 the joke about endianness? Different CPU architectures load words (2 bytes) in different orders and have been the subject of debate and fights for many years.
It's the coding equivalent of driving on the left/right, or playing Halo with an inverted stick. In any case, very dangerous if you get the wrong idea.
Auch, Not funny mate. I still got mine and it's still working. I bought mine 28 years ago with my first earned money. It's in my hobby room with a lot extra hardware. 1541 x 2, dot matrix printer, tapedeck, mouse, joystick x 2 (one button and two button model) and the final cardridge III. I also still own a working Amiga 1000. If interested have a look at "Commodore OS Vision". Try the live before installing if you have no Linux knowledge to see if the eye candy works (only works on 64 bit pc).
a bit sad how low the quality is compared to some other Ultiamte talks also this is the first time i heard anyone refer to the "VIC" as "V" "I" "C" and it just sounds wrong
I guess (really don't know for sure) that that's because the Chaos Computer Club is mostly german and those panels are held in english for a wider audience. The speaker also sounds german to me and we often use single letters for abbriviations, don't say them like words.
@@CptSparky Ì'm also german and personally if the abbriviations are pronounced english they should be done with the english "rules". like pronounceable abbriviations are pronounced as a word. like VIC, RAM, etc. and numbers are pronounced in pairs or 2 or 1. so a GTX 1080 would be G-T-X 10-80. Intel 8088 would be Intel 80-88. Intel 80386 would be 80-3-86 or just 3-86. and so on. it just sounds better in english
Commodore renamed the machine to VC in Germany becasue VIC (pronounced as a word) is too close to a vulgarity in German. I guess he also wanted to avoid that.
Wish they'd give him more time for his presentation so we could avoid the highly irritating breathing and stammering due to the forced march tempo. The C64 was the best bang for the buck at the time, far superior overall than any other 6502 based machine at a fraction of the price. The Z80 machines were just kind of sad in comparison (spectrum, amstrad etc).
Ah, yes! My first real computer, after spending ungawdly hours fiddling with my TI-58C w/cradle. Then, becoming heavily addicted to writing useless programs on the C64 that nobody but me would ever appreciate. The negligence of my wife likely contributing to my divorce a few years later, LOL. Up to the present, a couple months ago, I received my The64C (maxi), and the addiction has returned with a vengeance!
Bill Gates was actually a very good coder. We should be thankful to him for having written all this stuff so that we could use BASIC as the operating system on the C64 and other machines.
37:07 have to say it was too terse explaining the extended color modes. It's fine, *if you already know the material*. But too cursory and fast to be useful, especially with blurry small thin font he chose. 38:52 c'mon guys. stop using the pronoun "it". Count how many times he says "it" after. You only know what's he talking about if... you already know what he's talking about. Nothing wrong with writing it out and reading it instead of winging it. 43:00 is some quality stuff to ponder though.
IT guys always make me laugh with stuff like this. It'll only take an hour for me to entirely explain the C64 to you!... as long as you already have a 4-6 year degree in software engineering, or equivalent.
Not all engineers are as hopeless at explaining to laymen, and as lifeless as CCC. You'd think it was a funeral - they are *SO SERIOUS* (I suppose this is "expected" by the peers of _"teh uber h4x0rz"_). Also, them being German just amplifies this overbearing monotonous, serious air - that's Germanic culture. CCC: A group of adults acting like defensive teenagers.
The 6502 port of MS BASIC was done by someone else at MS, not by Bill Gates as far as I know. So we don't know if BG can write 6502 code, but the joke falls flat anyway since it is acknowledged that he was quite good in Assembler, and that the Altair BASIC interpreter, of which he wrote the major part - and which showcased and established BASIC as the most suitable high-level programming language on microcomputers for a long time (until more development went into C and C++ compilers than into BASIC compilers) - was quite an achievement.
That picture at 5:44 was taken by me! About 10 years ago too! I wonder how it ended up in this video. (not that I mind!)
If you look closely, the source URL is at the bottom right of the picture... If the video's resolution is too low, that's not my fault. ;-) I did publish the original slides on pagetable[dot].com though.
Anyway, I think we're even now, since I don't think you referenced me at 14:50 in your Commodore History Part 1 video. ;-)
Michael Steil , 👍🏼👍🏼👍🏼
@@michaelsteil4206 you have a link? You can paste clickable URLs here btw you don’t have to put [dot].
@@rooneye he knows that...
it's left that way intentionally so it doesn't get converted into a hyperlink and crawled
Michael Steil is a genius, love his blog on Pagetable
Chapter Marks for quick reference:
1:52 History
4:48 Hardware Overview
6:20 6502
9:00 6502 Addressing Modes
12:30 6502 additional Opcodes
14:00 6502 Interrupts
15:15 6502 Status Flags
17:25 BASIC Microsoft Easter Egg
20:30 6502 Chip Bugs
21:50 6502 Illegal Opcodes
22:35 6502 Programming Tricks
24:50 6502 Block Diagram
26:40 Memory Map
27:50 KERNAL
29:30 BASIC
31:35 GEOS
32:45 CIA
34:05 SID
35:50 VIC-II
36:20 VIC-II Character Set
37:05 VIC-II Enhanced Background Color
37:35 VIC-II Multi-Color Mode
38:20 VIC-II Bitmap Mode
39:50 VIC-II Soft Scrolling
40:25 VIC-II Sprites
41:45 VIC-II Memory Map
43:00 VIC-II Screen Dimensions
44:05 VIC-II Screen Splitting
45:33 VIC-II Graphics in Border
46:00 VIC-II Hyperscreen
47:25 VIC-II Sprite Multiplexing
48:20 VIC-II Badlines
49:50 VIC-II Flexible Line Distance
50:30 VIC-II Interlacing
51:10 VIC-II Flexible Line Interpretation
52:45 VIC-II Variable Screen Position
53:35 VIC-II Line Crunching and Any Given Screen Position
54:40 VIC-II Raster Smooting
57:10 Tape
57:20 Serial
58:05 Floppy
Thanks a lot for this! :)
THIS IS GOLD!!! All the obscure info I’ve been looking for in one video. Thank you.
This brings back SO MANY MEMORIES! (64K to be exact!) Machine Language programming on the C64 was a lot of fun. If you wished to redefine the characters you would read from character memory which would always read the character set, then WRITE to it which would always write to the memory under it, then you could switch it out and use your copy in RAM to modify the original characters. You could also temporarily switch out character memory to use the storage under it, which I used to do as well.
4:40 "Mayhem in Monsterland" doesn't even use a screen mode, which wasn't possible originally or without further ado, but the normal multicolor char mode. However, it is always a great praise to the graphic designer when this is claimed.
They may have meant to refer to its use of VSP (fast scrolling).
excellent talk you went on nonstop for over an hour and covered the C64 in many areas. of course no one can explain in total how every electronic component works inside the computer but you covered pretty much everything and explained thoroughly the display techniques. very good technical information, well done my friend.
Like nobody laughed at his NOP joke. Those bastards.
Somebody NOPed out their call to action
Time mark?
17:11 I wish we got to see what I can only imagine is a blank slide, but instead we get to see just his face while he talks about a slide we don't ever get to see....
It is not a NOP joke. It is about endianness. 8 bit machines do not have endianness issues, yet he claims that little endianness is the only meaningful one :)
@ FYI Addresses on the C64 are 16 bit wide, and they are stored in RAM with little endian order.
Nice! I was pleasantly surprised to see one of my demos featured in this talk :) (4:15 later demos... right before the good stuff)
Superb talk! While every chip in the C64 could get an hour long talk on its own, this overview was very thorough and informative. Thanks! Gotta love the Commodore 64 :D
The 6502 (and 6510) actually had pipelining. An instruction is loaded up as the one before it (if it doesn't access memory) executed. Sophie Wilson (who designed the ARM instruction set) told me how she defeated those extra cycles when a LDA ,X crossed a page boundary. She just swapped around the address lines on the BBC and since the RAM could operate at 8MHz, ensuring boundary crossing whatever the base, whatever the index coupled with a bus tweak meant that there was never a slowdown.
People looking for coding fun may like the Arduino M0+ which has a 48MHz ARM Cortex M0+ using Thumb (16 bit) instructions (Sophie again). With DMA, DAC, ADC and enough power to display a 320 x 200 VGA screen output (via VGA->HDMI) and with 32K RAM & 256K Flash, it's another small system that may be pushed.... I'm writing an MP3 decoder and next is ACELP. I have a plan - talking books with projected images using the Cortex M4 in SDIO MicroSD controllers. So that will be coded in Thumb2.....
But just amazing stuff. I coded the C64 version of Tetris in 1984 and £3000 for 2 weeks work.... coders (not programmers) are about to make a HUGE comeback so it's demo coders who can get these low cost (
"Swapped around the address lines"? What exactly does that mean? I don't understand how that would change anything since the extra cycle is coming from the CPU.
Yeah, hardware design matters.
Though the CGA hardware isn't as bad as people think.
Problem is most people have never used a real, original CGA card, and only use CGA emulation on EGA, VGA and later cards.
Doesn't sound like a big deal, but CGA emulation on later hardware only covered RGBI emulation.
This obscures the fact that CGA actually had 16 colour support (though in reality it's possible to abuse text mode and get 160x100 in 16 colours even using RGBI output), and through hacks it was discovered that that it was fairly easy to get 16 out of about 100 colours this way, which is actually better than what EGA managed.
With more extreme and improbable hacks (mostly because it required a modern PC and quite a lot of processing to work out the correct timings) it was shown that you can trick a CGA adapter in composite mode into displaying something in the region of 1000-4000 colours at once onscreen. The timing issues make this problematic, and the calculations required meant it's unlikely anyone could have worked it out in the 80's... But still, CGA's true abilities are vastly under-rated because it's composite output mode keeps being forgotten about.
And this is weird, because it's composite output mode WAS what it was designed for, really. RGBI monitors required for the RGBI modes people are more familiar with weren't even available early on.
In fact, given what it's actually demonstrated to be capable of when using composite output (and composite output is how the C64 and most early 80's home computers produced any colour signal at all) the CGA graphics card may arguably be quite powerful.
The PC architecture as a whole is atrocious, and remained atrocious well into the early pentium days (read Micheal Abrash's stuff on VGA and assembly programming on the PC and you quickly realise just how stupid and painful that system actually was. Did you know that the bus specifications and poor performance of many VGA and SVGA graphics cards means that a 486 PC when running graphics heavy code is no faster in most cases than the original 8088 based PC's? And yet taking CPU performance alone it should be somewhere in the region of 50-100 times faster. Talk about an atrocious architecture...
Makes you wonder how this caught on and ended up dominating the industry. - Yes, it's worst aspects were improved bit by bit, and especially after the PCI bus and it's successors showed up things got a lot better, but still, what a terrible place to start from...)
Still, the CGA was perhaps one of the better designed elements of the PC in hindsight. Just goes to show you things are not always what they appear, because new technology can obscure what older technology can do.
... Especially if newer technology claims 'backwards compatibility' yet actually only partially delivers, and people lose sight of what was lost...
No, it was bad.
WoW! I didn't have a C64, I had a Color Computer 3. (The coco 3 have no complexe hardware, and no sprite at all). I have understand the entire video. The commodore 64 is a really complex machine. I know now how democoders do the tricks, and even more why peoples applause at the picture parts of each demos (The graphics on CoCo 3 was at least, 16 colors by pixels out of 64...) . Thanks for sharing.
This video brings a lot of memories back from the old days in the 80s ... but honestly:
What people are squeezing out now from this great machine is really impressive - I never had even an idea this was even possible in any way. Thumbs up!
Loved this; It's amazing how much more they squeezed out of the video chip than the original developers ever intended.
I have been reading a book about commodore and from the book they tries to sell the VIC to Atari for a 2600 successor. They managed to do some amazing things with the chips
David T-Rex name of book please?
This is a great video and really illustrates the capabilities of this machine. Back in those days if someone had a computer at home chances were it was a C64. An interesting thing to compare is videos of Pool of Radiance gameplay on a C64 versus the same game on an Apple II. It really illustrates the power of the Commodore machine.
awesome presentation... picked up alot about the grapichshandling that i never could get figured out back in the days. Thanks for sharing!
Great video, brings back old memories of coding the C64. I never used half the instruction set and didn't always understand everything I was doing (most notably the faffing around at the end of an IRST, which I just copied from other coders), but I was still able to do some amazing things... look for my demo game, "Colony" (a parallaxed scroller) elsewhere on UA-cam.
didn't know it was ouy of sync, thanks for the notice
Great vid, and it has CLYDE RADCLIFF! Today I still have a shrinkwrapped copy of Creatures! :D
The C64 overview I've ever seen: detailed but very compact!
also there are different opinions about the number of additional colors using interlace. this depends in fact on the level of flickering, but there are definitely more than just 20 colors possible. i recall the 81 colors mentioned in the mag 64'er with the funpainter 2 release or the 136 colors rule by joe/wrath (and this is for chessboard dithering in non-flicker mc mode).
Very cool, this is the first new stuff I've learned since the last C=Hacking came out. This video needs at least 10 million viewers, spread the link!!!
correction:
mayhem in monsterland uses charmode not multicolor. the gfx artist got the impression of mc by clever color management - eg. different bg than black, using color trans as antialiasing, crt line dithering to get additional colors. most obvious about the mode is that steve rowlands used mixed resolutions (the collectable stars are done in hires)
Yeah, i was actually just checking the game out again, after he said it at around 53:23, to see if i remembered the game incorrectly - notably its mixing of (non-sprite) hires with multicolor graphics, which wouldn't have been possible in bitmap mode (at least not without a lot of rastersplits). Thanks for your comment to confirm it ;)
Great explanation!!!!
Wow: All (?) you have to know about the C64. If I had known this back in 1985 - I still wouldn't be able to program a cool game. But with only the manual of the C64 ... no chance to get to know all this.
This is amazing talk. Michael is total commodore badass!
I wish I had seen this 30 years ago
It would have changed my life
I can not understand 99% of this video but still watch the whole thing..amazing!
Great lecture, thank you for uploading it. I'm aghast at how far programmers pushed the graphics alone.
Superb explained....enjoyed it a lot ;-)
Great video-I admire your expertise in Comodore 64..
Interesting vid, but Mayhem in Monsterland doesn't use a bitmap screen. It is chars + VSP scroll.
Lode Runner was my favourite!
My parents threw my original one in the bin! It still worked too!
Stick them in a care home!
Very interesting, brings back lots of memories👍
I wish I had the ability to have seen this video when I was 9, I would have been light years ahead of where I was programming then!
Great talk!
How can you emulate something correctly which itself is behaving VERY differently on each individual SID chip? Such a thing as a "full" or "correct" reference filter model does not exist for the SID chip in general.
The only SID revision which has much less variance in filter characteristics is the 8580.
Excellent talk
If you suffer from insomnia and know about all this, this is your lullaby. :-)
Five years later ... Absolutely! I loved every minute of this and learned a lot. He skipped over the SID, though. If only there was someone watching this video that could teach us a thing or two about programming the SID chip ... ;-)
That's me NOW.
24:15 I think it would disassemble as BIT $53A9, but still a nice way to save a couple bytes.
24:30 The only problem with this self-modifying code example is that if you call that routine more than once, it will trash Basic.
37:00 Screen RAM is actually $0400-$07E7.
41:44 {Sound of beer bottle cap hitting the floor. 😁}
56:28 {Sound of beer bottle rolling on the floor. 😆}
Great talk, thanks!
I LOVE C64 👍🥂🎩
"These are the topics I'm going to address" (bottom right corner: William Shatner)
He says in Bitmap Mode you can use 3 colours out of 16 freely. That's wrong. You can only use 2 freely/individually and 2 of the hole screen are shared by the hole graphic.
C64 demoscene is impressive, but 8088 mph and area 5150 demos really give the best C64 demos a real run for their money!
lovely
0:39:50 - 0:55:30 the great advantages of C64 graphics. How to split the screen vertically? Like in Antiriad - some of the graphics is in hires, some in multicolor?
i guess it's not that easy to rebuild a VIC-II completely so that it behaves exactly like the original VIC-II :-)
but that would be mandatory if one wants to build a new VIC-II with additional features and with external video ram on a small pcb it could do higher resolutions and colors and still be compatible to the old VIC-II.
that would be great :-)
I adore my 64!
It's funny that he ends the talk asking someone to do a similar treatment on the Amiga that talk would be at least 3 hours but certainly interesting
0:48:00 omg huge sprite. Name of this game?
That's Creatures 2. (maybe this reply comes a few years too late).
@@CasperHulshof Yeah but better late than never :-D
currently soldering in a 6502' but im not ready for this vid, ill be back
hey, Clyde Radcliffe Exterminates All The Unfriendly Repulsive Earth-ridden Slime! Been a while since I've thought about that!
Playing Creatures right now.
Good explain that machine.
I have a C64 with floppy drive and disk and a mouse and a monitor. I had to wire it to rf channel 4 but it works.
C64 DTV wasn't a FPGA, however I love seeing it in your video.
Sorry, I was young and ignorant. :)
@@michaelsteil4206 Ignorant? Never. You just had one badline after another. =D (And by the way a ~4 year long NOP before answering. But that's okay for 1 MHz. :D :D )
I still have my C64 in storage.
It should be on your desk
You need to write a book about all of this, asap
I'm only 30 seconds into this and I'm already annoyed: Why are there so many videos on youtube with the sound out of sync with the video? Did we not LOOK at the video before we uploaded it? Geez!
Can you upload in higher-res?
Sagan Android The video was recorded in multicolour mode, so he loses half the horizontal resolution.
diamondsmasher 😂😂😂
thank for these interesting insights.
but i coded 6502 (atari 2600 & c64) and 680x (vectrex for example) and the 680x assembler is a lot cooler and more intuitiv than the 6502 (which is in fact a cheap clone or?)
you never forget your first!
Only thing that baffles me is this : given how great the Commodore engineers were in general, howcome the 1541 disk drive was such a slow and "obese" design? Especially considering the fast and efficient drive of the Apple II, having been admired and available for scrutiny for years. Almost as if Commodore outsourced that design to IBM :)
The slowness of the 1541 was a accident. What happened was there was a trace on the c64 for burst to the drive which would speed it dramatically but when the pcb went to japan for cost reducing a japanese engineer thought the trace was not needed and deleted it. They discovered this when the c64 was back in the USA but they already had made 100,000 pcbs without the trace and couldn't toss them($$$),so that is why we lost burst to the floppy drive. To fix this problem they had no choice but to re-write the rom in a short,record time, to work reliably,giving speed up. If you think of commodore's daisy chaining of a serial i/o it could almost be compared to USB . Its possible to load a disk copier inside a 1541 and disconnect it from the c64 and have it copy disks stand alone. You should also realize Jiffydos came out in 1985 and could be added to computer and drive making a major speedup.
+Tigereye2k6 the joke about endianness? Different CPU architectures load words (2 bytes) in different orders and have been the subject of debate and fights for many years.
It's the coding equivalent of driving on the left/right, or playing Halo with an inverted stick. In any case, very dangerous if you get the wrong idea.
That thumbnail kinda.. SUS
i know i found it. thanks anyway for your time mate.
very cool, interesting he had 64 minutes to talk about the C64, what are the chances... :)
Auch, Not funny mate. I still got mine and it's still working. I bought mine 28 years ago with my first earned money. It's in my hobby room with a lot extra hardware. 1541 x 2, dot matrix printer, tapedeck, mouse, joystick x 2 (one button and two button model) and the final cardridge III. I also still own a working Amiga 1000. If interested have a look at "Commodore OS Vision". Try the live before installing if you have no Linux knowledge to see if the eye candy works (only works on 64 bit pc).
i wish this video was based on the Motorola 68000. Amiiiiigaaaa!
a bit sad how low the quality is compared to some other Ultiamte talks
also this is the first time i heard anyone refer to the "VIC" as "V" "I" "C" and it just sounds wrong
I guess (really don't know for sure) that that's because the Chaos Computer Club is mostly german and those panels are held in english for a wider audience. The speaker also sounds german to me and we often use single letters for abbriviations, don't say them like words.
@@CptSparky Ì'm also german and personally if the abbriviations are pronounced english they should be done with the english "rules".
like pronounceable abbriviations are pronounced as a word. like VIC, RAM, etc.
and numbers are pronounced in pairs or 2 or 1. so a GTX 1080 would be G-T-X 10-80. Intel 8088 would be Intel 80-88. Intel 80386 would be 80-3-86 or just 3-86.
and so on. it just sounds better in english
Commodore renamed the machine to VC in Germany becasue VIC (pronounced as a word) is too close to a vulgarity in German. I guess he also wanted to avoid that.
nice video jwm
Wish they'd give him more time for his presentation so we could avoid the highly irritating breathing and stammering due to the forced march tempo. The C64 was the best bang for the buck at the time, far superior overall than any other 6502 based machine at a fraction of the price. The Z80 machines were just kind of sad in comparison (spectrum, amstrad etc).
Not sure. Amstrad was a good machine that was really underexploited.
I'd say that was just his style and not time dependent...
yes
Ah, yes! My first real computer, after spending ungawdly hours fiddling with my TI-58C w/cradle. Then, becoming heavily addicted to writing useless programs on the C64 that nobody but me would ever appreciate. The negligence of my wife likely contributing to my divorce a few years later, LOL.
Up to the present, a couple months ago, I received my The64C (maxi), and the addiction has returned with a vengeance!
Bill Gates was actually a very good coder. We should be thankful to him for having written all this stuff so that we could use BASIC as the operating system on the C64 and other machines.
Mayhem doesnt use VSP :)
I love the code written by Microsoft at 18:30 Even their 6502 Assembler is bullshit and far bigger than it needs to be. :)
It is obfuscated code becasue MS didn't want CBM to detect the easter egg.
Creatures 2
You gunna fix it now you know?
61 minutes and 14 seconds to be precise...
ahh, comments just leading to be pissed off of German accents.
luv U guys.
come to Germany and prove Your language skills.
37:07 have to say it was too terse explaining the extended color modes. It's fine, *if you already know the material*. But too cursory and fast to be useful, especially with blurry small thin font he chose. 38:52 c'mon guys. stop using the pronoun "it". Count how many times he says "it" after. You only know what's he talking about if... you already know what he's talking about. Nothing wrong with writing it out and reading it instead of winging it. 43:00 is some quality stuff to ponder though.
wikipedia[dot]org/wiki/Endianness
IT guys always make me laugh with stuff like this. It'll only take an hour for me to entirely explain the C64 to you!... as long as you already have a 4-6 year degree in software engineering, or equivalent.
Not all engineers are as hopeless at explaining to laymen, and as lifeless as CCC. You'd think it was a funeral - they are *SO SERIOUS* (I suppose this is "expected" by the peers of _"teh uber h4x0rz"_). Also, them being German just amplifies this overbearing monotonous, serious air - that's Germanic culture.
CCC: A group of adults acting like defensive teenagers.
I am not sure why would you need a 4-6 year degree to understand any of this. I understand most of this and I just began collage in computer science.
c64-4life!
sys64738
lol @ endianness
Amogus
i found 8 bit guy in the comments
But that's the "wrong" endianness ;)
KERNAL?? Nice.
It's the correct spelling in this context. KERNAL = Keyboard Entry, Read, Network and Link.
Daniel Kovacs LMFAO = Laughing My Fucking Ass Off.
He breathes so much holy crap it's annoying
Late comment is late
He wouldn't be much good at presenting, *dead* ;-)
Yet you can't even spell the word tongue properly, it's tongue, not tong