Really appreciate these demo technique dissections. Would love to see more!
@MartinPiper65024 сағат бұрын
Thank you kindly for the support :)
@c64customsКүн бұрын
Thanks!
@MartinPiper6502Күн бұрын
Thank you kindly :)
@JamesGoodКүн бұрын
Thanks, always wondered how these things worked!
@MartinPiper6502Күн бұрын
Glad to help!
@em00kКүн бұрын
C64 debuggers are on another level.
@MartinPiper6502Күн бұрын
Yeah it really helps make these things much easier to understand
@OlivierSimpleLifeКүн бұрын
Thank you so much for explaining how this great effect works !!! Also à million thanks for sharing the code !!! That's just so kind !!!!
@MartinPiper6502Күн бұрын
No problem. Sharing is caring. :)
@BobbyCharlzКүн бұрын
So these effects can be used in a proper video game context, or might I need to watch this again (like I’ll do anyway ;)? Space shooter immediately comes to mind.
@MartinPiper6502Күн бұрын
Yes, this can be used in a game. Some games use the horizontal scrolling method, like Creatures.
@BobbyCharlzКүн бұрын
@@MartinPiper6502 understood, thank you. I’ll have to take a closer look at the game you’ve mentioned. Great channel and great episodes you’ve got here. I really appreciate the DemoScene decomps that you walk us through. They’re very informative.
@MartinPiper6502Күн бұрын
I had a video about Creatures using this effect at 24 minutes... kzbin.info/www/bejne/en6WdZtpr7yikJo
@BobbyCharlz23 сағат бұрын
@@MartinPiper6502 Very cool, thank you. Much appreciated.
@ProBloggerWorldКүн бұрын
The demo‘ed effect is top notch. Timing is hard, getting scrolling right with the mapping as well.
@MartinPiper6502Күн бұрын
yeah the timing is quite tricky, especially for the horizontal movement.
@retro_noix2 күн бұрын
Interesting video ... great to see you venture into investigating demo code tricks! 👍
@MartinPiper65022 күн бұрын
Glad you enjoyed it!
@beelinkk2 күн бұрын
hahahahaha
@MartinPiper65022 күн бұрын
Haha
@beelinkk2 күн бұрын
@@MartinPiper6502hahaha
@MartinPiper65022 күн бұрын
Hahahahaha
@maxusboostus2 күн бұрын
Some demo coders say that using VSP can damage some of the old VIC chips. I assume they have proof of this to believe it. The demo called "Next Level" by Performers boasts it doesn't use VSP.
@MartinPiper6502Күн бұрын
I've never seen any reliable evidence of the C64 VIC being harmed by this. There was a poke on the old Commodore PET that could cause damage due to video hardware timing, but that's not going to work on the C64 since the video hardware is different.
@TheStuffMade2 күн бұрын
Interesting technique, I learned something new today 👍 I always assumed these large bouncing logos were made from character graphics and moved around using traditional scrolling.
@MartinPiper65022 күн бұрын
I love this machine. :)
@delgilchrist2 күн бұрын
Does this hardware trick work on all c64 hardware revisions?
@MartinPiper65022 күн бұрын
Almost all. Some get corrupted memory.
@joecincotta58052 күн бұрын
Awesome awesome awesome awesome awesome 😎 ...this video is my happy place.
@MartinPiper65022 күн бұрын
Thank you so much 😀
@michaeljarcher2 күн бұрын
imagine if they put a set of h/w base memory offsets for the screen for the VIC, would of saved a shit load of code for block copying zillions of scrolling games. But such was life! then the C64 would of been like some of the arcade hardware, thought they tended to have larger character windows to allow large tile plotting which wrapped correctly. And many were only 32 or 64 characters wide so width/heights memory wrapping was nicely handled. Something name gives a good insight into with it's f4 debug overlay!.
@MartinPiper65022 күн бұрын
@@michaeljarcher all they needed to do was expose the internal vcbase counter to a couple of external registers
@michaeljarcher2 күн бұрын
@@MartinPiper6502 Yep, I wonder why they never thought about that. When they put in x y scroll, they must have had some thoughts about it, actual games and scrolling. Hidesight is never a clear thing. It would have made the demo scene a little more boring! If it did everything perfectly. :-)
@aNdy_AL_C0S2 күн бұрын
I've not commented on your videos much recently as I'm knee deep in my own C64 projects, but I'm still watching, enjoying and learning. Have a couple of £ and have a coffee or similar on me!
@MartinPiper65022 күн бұрын
Thank you kindly for the coffee :)
@Mr.1.i3 күн бұрын
Its says in debug....standard text mode........but it looks quite crisp is .its 2 colors and if its interupting the resolution is 320x400
@MartinPiper65023 күн бұрын
@Mr.1.i yes it's in hires text mode
@Mr.1.i3 күн бұрын
@MartinPiper6502 there are pokes that allow you to use the boarder for graphical instruction
@MartinPiper65023 күн бұрын
@@Mr.1.i yes I'll be getting into those in another video
@martinhertog53573 күн бұрын
Does this demo work on a VICE emulator, I know it is very good but this demo will test it for sure.
@MartinPiper65023 күн бұрын
Yes, even old Vice in ICU64 runs the demo.
@der.Schtefan4 күн бұрын
I think Steve Mould showed in a video how every rotation is just a couple of integer translations and sheering operations
@igork35226 күн бұрын
Great video! Thank you.
@JustWasted3HoursHere6 күн бұрын
Still pretty darn clever. Shows the flexibility of the VIC-II chip for sure. Still finding new ways to do things with the VIC-II and the SID chip as well, even 40+ years later.
@MartinPiper65022 күн бұрын
I'm very sure new effects are yet to be found.
@JustWasted3HoursHere2 күн бұрын
@@MartinPiper6502 Yep. I can remember vividly the first time I saw a demo with the top and bottom borders opened up. I wonder who was the first demo coder to figure that one out?
@MartinPiper65022 күн бұрын
This page seems to have a list of first use of effects codebase64.org/doku.php?id=base:demo_world_records_and_world_firsts#border_top_bottom
@JustWasted3HoursHere2 күн бұрын
@@MartinPiper6502 I'll check it out. Thanks!
@JustWasted3HoursHere2 күн бұрын
@@MartinPiper6502 Funny it took the coders 6 more months to figure out side borders. Sadly I have no idea what some of the effects listed are, such as FLD and VSP. I guess this is a page for demo-sceners so that makes sense.
@blengi6 күн бұрын
can't wait to see what kind of c64 demos and games gpt8 comes up with, where it optimizes every byte of memory and cycle mixing every mode in combinations in space and time, in ways no human would conceive of, to facilitate surprising game types and depth never imagined on the old hardware, generated anew on demand and personalised, 24/7...
@OlivierSimpleLife6 күн бұрын
Really nice deep dive ! More demo effects deep dive would of course be welcome :)
@MartinPiper65026 күн бұрын
Glad you like it. More to come!
@BashingDinosaurs6 күн бұрын
@@MartinPiper6502 Excellent news! Thanks, I love these kind of deep dives.
@DaPutz6 күн бұрын
you forget to mention that it actually wasnt MTs last game on the C64 ;-)
@MartinPiper65026 күн бұрын
Indeed, I will probably cover Enforcer: Fullmetal Megablaster later on :)
@demoscenes6 күн бұрын
I am so glad you took a turn on this part of the demo. I hope to see more demos being pick a part like this. Next Level 100 games part would be fun to see.
@MartinPiper65026 күн бұрын
I plan to do more demos. The tricky thing is to make them understandable.
@demoscenes5 күн бұрын
@@MartinPiper6502 The way you explain makes it easy to follow along and get into all the details. Been following you for a loooong time now and it's like C-64 meditation to watch/listen how you explain all. :)
@markuszeller_official6 күн бұрын
FIG are C=64 Killer Machines
@delgilchrist6 күн бұрын
great stuff
@ModernVintageGamer6 күн бұрын
what is this sorcery?!
@LordmonkeyTRM6 күн бұрын
I just watched your WinCE video before this one 😂❤
@demoscenes6 күн бұрын
It is the magic of Serato. He is a crazy man.
@MartinPiper65026 күн бұрын
I know right? :) This is effect is quite new, it's done differently to other similar visual effects, I have no doubt there are other new C64 VIC effects waiting to be found.
@phill68596 күн бұрын
@@MartinPiper6502it's a similar effect to m.kzbin.info/www/bejne/h2bMooawgL6NpbM
@MartinPiper65026 күн бұрын
yes very much like that
@fredriksandebert74506 күн бұрын
Thanks! 🙂
@MartinPiper65026 күн бұрын
Thank you for the kind support :)
@750kv86 күн бұрын
What a demo! Someone had a LOT of thoughts on this one. Subbed!
@MartinPiper65026 күн бұрын
Yeah it's a really cool effect.
@LogrusUK6 күн бұрын
So good watching this - thanks, Dude!
@MartinPiper65026 күн бұрын
Glad you enjoyed it!
@luxocrates7 күн бұрын
This is awesome! Would love to see more analyses of demos.
@MartinPiper65026 күн бұрын
More to come!
@herrbonk36354 күн бұрын
I've written some rotating "demos" in asm and high level languages on 286-486 computers, and have at least some knowledge of the VIC-computer internals. But I understood almost nothing of this during my first watch. Probably need to look up the word shear, or similar :)
@Emulous798 күн бұрын
I always liked this game as much as it drove me insane.
@alanbenson150511 күн бұрын
Thank you. I appreciate you doing this one, Martin.
@MartinPiper650211 күн бұрын
No problem. :) It's a nice game. Good memories.
@michaeljarcher12 күн бұрын
I would like to see a video on the tools. While I've loaded them up, they do seem to offer a great deal of cool stuff. Keep up the good work always entertaining.
@LogrusUK12 күн бұрын
I, too, would like to see a video on your work setup and how you start / pause / warp the game. That would be interesting. Love Gribbly's great game. Not sure about it being simple. I always recall there being a lot going on. 😂
@MartinPiper650211 күн бұрын
Yes, this is on my list. I'm just wondering how to make it interesting. :)
@fredriksandebert745012 күн бұрын
What a great game to take a look at - thanks! Have you considered doing a breakdown of effects in (somewhat) recent C64 demos; they seem to do impossible things sometimes. 😊
@MartinPiper650211 күн бұрын
Also, on my list of things to do. They can often be very technical though.
@fredriksandebert745011 күн бұрын
@@MartinPiper6502 Yeah, I can imagine. That's why I thought just looking at a single effect might be plenty for a video.
@fredriksandebert74508 күн бұрын
@@MartinPiper6502 Just a quick follow-up. This is the demo I was thinking of. I mean, the initial, big scroller... How on earth? kzbin.info/www/bejne/qobchq2hZr2sfrc
@MartinPiper65027 күн бұрын
Here you go: kzbin.info/www/bejne/m3KcaZqtdpiGiJo
@c64customs15 күн бұрын
Thanks a lot :)
@MartinPiper650215 күн бұрын
Thank you for the support :)
@japangamejunk16 күн бұрын
This stuff is seriously interesting. Huge respect to the people who not only understand this stuff but can help someone like me understand it too!
@rwxdesigns18 күн бұрын
The U.S. version of Rampage is a much better game.
@MartinPiper650217 күн бұрын
I think I need to have a look at that version at some point :)
@rwxdesigns16 күн бұрын
@@MartinPiper6502 yes, the sampled sound and better animation on the main characters also helps the game beat the UK version.
@Mr.1.i19 күн бұрын
and then the structure of games was re invented when nintendo launched the famicom
@michaeljarcher19 күн бұрын
I was the game's programmer, and if anyone wants to know. I released all the source code to this and all my other C64 games on GitHub a few years ago. It was my suggestion for this game. I know it a little Vaniety lol. Actually, I forgot some of the stuff I had to do. So it's always interesting watching this content! And there were, at the time, very few people who understood how this was achievable. Quite possibly, this is one of the few titles that have achieved so many sprites! I'm not sure if anyone has questions, but Ill try to answer as best I can.
@MartinPiper650219 күн бұрын
Oh splendid, it's always great to find an old developer from back in the day.
@MartinPiper650219 күн бұрын
This repository? github.com/milkeybabes/Rampage
@michaeljarcher19 күн бұрын
@@MartinPiper6502 Yes, this is the one. Sorry not many comments, but there was never the time to do such things when you are sleeping on a floor working 20 hours to finished a game. 😄
@MartinPiper650219 күн бұрын
I sometimes used to sleep under the desk at Argonaut's offices. Back then being 19 years old, didn't need much sleep really.
@michaeljarcher19 күн бұрын
@@MartinPiper6502 Lol Jez never was about much. Not seen him in a long time.
@michaeljarcher19 күн бұрын
Thanks!
@MartinPiper650219 күн бұрын
Thank you for the very generous support. :)
@JustWasted3HoursHere19 күн бұрын
Some very clever programming for the sprites in this. I used wonder why programmers didn't just use 8 spites in a row on a horizontal line and then before the raster beam finishes drawing the 8th sprite (but after drawing the others), just redefine and move the first sprite to a position after the 8th sprite so that you could have more than 8 on a line, but apparently the hardware cannot do this. Not sure if it's a limitation of the VIC-II chip or the clock speed of the hardware.
@MartinPiper650219 күн бұрын
If I recall correctly, the video chip will only clock out the pixels for each sprite once per horizontal line, when the sprite X position reaches the currently displayed pixel position in the horizontal line. This means even if sprite0 has an X position on the left of the screen, then halfway during the horizontal line the X position is moved to the right, the sprite won't be displayed again on that line. The latches for when to clock out the sprite pixels are reset for each horizontal line.
@JustWasted3HoursHere18 күн бұрын
@@MartinPiper6502 That sounds about right. Perhaps the VIC-II chip has a one-line buffer that it constructs the next line in and only scans the sprite info once before updating that buffer. I knew there was a reason that coders didn't do it, though they did discover the open-borders glitch, so who knows what capabilities are still lurking inside that old chip? ;)
@alanbenson150519 күн бұрын
I'm 8 seconds in... and I know this is going to be good!!
@MartinPiper650219 күн бұрын
Glad you liked it :)
@alanbenson150518 күн бұрын
@@MartinPiper6502 I love the 6502 on your name, Martin. I've just noticed it!! Have you done a Gribbly's day out video? I'd be interested to see if Braybrook used similar techniques to what he did in Paradroid in the scrolling routine.
@MartinPiper650218 күн бұрын
I will add it to the list :)
@alanbenson150515 күн бұрын
@@MartinPiper6502 Thanks!
@GuybrushThreepwoodNZ19 күн бұрын
A technically impressive, faithful rendition of a very addictive arcade game.
@MartinPiper650219 күн бұрын
Yeah I'm really quite surprised at how accurate it is.
@cpu_UP19 күн бұрын
Thanks!
@MartinPiper650219 күн бұрын
Thank you for the continued support. :)
@jackmf396020 күн бұрын
Great episode. Thank you. I was curious how the big characters are solved. It's completely different here than in Barbarian. Duplicate sprites are a cool technique. It's strange that the processor has so much graphics copying. And yet it works. The programmer had to optimize it well. :)
@MartinPiper650219 күн бұрын
The regular spacing of the sprite grids help, because the code can more easily organise when to update the sprite registers for the next part of the sheet. It really is a good effect for the time period when this game was released.
@michaeljarcher19 күн бұрын
@@MartinPiper6502 Ánd the IRQ handler was re-written one week before the completions to save about 6 CPU cycles / IRQ. This is why the IRQ handler as absolute values and not form memory addresses, the IRQ was poked all over all the time critical, and zero flicker. I could of gone on to larger sprites, but memory limits make it somewhat impossible.
@cpu_UP25 күн бұрын
Thanks, for this very interesting analysis. I did not know the game, but it is a pleasure to see these hidden gems and dissect their code to understand how they were doing.
@MartinPiper650225 күн бұрын
Glad you liked it and thank you for the super thanks :)
@gfdggdfgdgf26 күн бұрын
"Hey boss do you want me to cleanup and optimize the code?" "Ah don't bother, it's not like anyone is going to analyze the code 40 years from now"