Scroll Fullscreen EGA-like Graphics using Basic on the C128. Much easier than on the C64

Ғылым және технология

This time we're leveraging the VDC chip's hardware scrolling capabilities, block fill and block copy to bring some motion to the screen.
Deutsche Version dieses Videos: • Grafik Hardware-Scroll...
Find this episode's source code here:
github.com/The8BitTheory/vdc-...
VDC-Basic is available here:
github.com/The8BitTheory/vdc-...
The VDC-II project on hackaday can be found here:
hackaday.io/project/170581-vd...
And a blog post about VDC smooth scrolling is available here:
c-128.freeforums.net/thread/4...
The Z64K Emulator is available here:
www.z64k.com/
Clockmaster_77's work can be found on Facebook:
/ the.artworks.of.clockm...
and Instagram: @clockmaster_77´
Michael Martin's blog is available here:
bumbershootsoft.wordpress.com...
The Ultima and Bard's Tale screenshots are taken from Mobygames:
www.mobygames.com/
Space Quest screenshots are taken from sierrachest.com/
Planet X3 and Attack of the Petscii Robots have been created by The 8-Bit Guy and can be found here:
www.the8bitguy.com/product-ca...

Пікірлер: 53

  • @MammaApa
    @MammaApa7 ай бұрын

    Ah man, this is information I needed in 1987!

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    So true :-D Thanks for the feedback :-)

  • @Drachen257
    @Drachen2577 ай бұрын

    Es ist erstaunlich was man mit dem Basic von C128 machen. Echt klasse. 👍

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Ich bin auch immer noch begeistert. :-)

  • @papamaxx4977

    @papamaxx4977

    7 ай бұрын

    Wenn ich es richtig verstanden habe ist das mit einer BASIC-Erweiterung geschrieben? Also nicht nur BASIC 7.0

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    @papamaxx4977 Richtig, ich verwende die VDC-Basic Erweiterung. Wer sich aber für SYS nicht zu schade ist, kann das auch ohne erreichen.

  • @der.Schtefan
    @der.Schtefan7 ай бұрын

    In English, the singular of "series" is still "series".

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Well, the recording was already done when I got that feedback and it slipped through when editing the video. I‘ll do better next time, promised. Thanks for the input

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Would you mind sharing the rough timestamp? Seems I just can‘t find what you‘re referring to. Thanks!

  • @der.Schtefan

    @der.Schtefan

    7 ай бұрын

    ​​@@the8bittheory00:01 Welcome, to the 8bit serie_

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    @der.Schtefan ah. That‘s supposed to be „welcome to the 8 bit theory“. I‘ll have to work on pronounciation. Sorry about that.

  • @der.Schtefan

    @der.Schtefan

    7 ай бұрын

    @@the8bittheory I see. Little hint: If you are a German native speaker, and you have troubles with the proper th sound (i.e. choosing or executing the right dental fricative) , never replace a th with an "s" sound, that is always wrong. Rather replace it with a "d" for words where "th" represents a voiced dental fricative such as in "this" or an "f" where th represents a voiceless dental fricative such as in "thing", "thorn", "theater". Modern English accents of young speakers, and old regional accents, will do exaclty the exact same anyway. (in some cases th stands for "t" as in "Thomas" or "eigth", but those you'd probably have no issue with)

  • @joshhiner729
    @joshhiner7295 ай бұрын

    Your vdc videos are the most exciting thing for me on youtube currently. Thank you for these videos and any future videos!

  • @the8bittheory

    @the8bittheory

    5 ай бұрын

    Glad you like the content! It’s amazing stuff for me, too :-) Thanks for the amazing feedback!

  • @kenknight5983
    @kenknight59837 ай бұрын

    Nice! It will be interesting to see how FAST you can make it scroll

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Oh yes. Can‘t wait to find out myself 😁. Thaks for your feedback!

  • @svenvandevelde1
    @svenvandevelde17 ай бұрын

    Thank you for this VDC class!

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    You‘re welcome. I hope to see more VDC software to appear soon :-) Thanks for the feedback!

  • @clockmaster_77
    @clockmaster_777 ай бұрын

    Great video!

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Glad you enjoyed it!

  • @TonimanGalvez
    @TonimanGalvez7 ай бұрын

    In my point of view, the video signal of both video chips of the C128 could be mixed in the original design, so, combined HW sprites of the VIC2 and VDC backgrounds could be fantastic.

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    That would have been great. Basically what 3Dfx did years later with Voodoo 1 and 2 cards.

  • @TonimanGalvez

    @TonimanGalvez

    7 ай бұрын

    It could be a nice hardware modification today. I've always felt that c128 could have so much more potential with both signals together.

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    @TonimanGalvez And while we‘re at it: adding a wire to have hardware interrupts for vsync would be really nice, too 😁

  • @Leeki85

    @Leeki85

    7 ай бұрын

    @@the8bittheorySega 32X did it much earlier. It had it's own graphics chip, but could use Genesis hardware for backgrounds or other tasks. This is why 32X required multiple cables, you had to take video out from Genesis through 32X, similarly as 3DFX had VGA passthrough.

  • @stephanschmidt2334

    @stephanschmidt2334

    7 ай бұрын

    @@Leeki85 The 32X is from '94, the Voodoo is from '94/'95.

  • @loganjorgensen
    @loganjorgensen7 ай бұрын

    Neat stuff, interesting to see how this progresses.😉 Yeah vertical anything tends to be easier than doing the same horizontally.😅

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Yes that‘s what I thought. Thanks for the feedback!

  • @fradd182
    @fradd1827 ай бұрын

    Still struggling to understand how horizontal scrolling works with moving screen address. As far as i can see, this only allows for 8 pixels scrolling at the time (one byte). Let see about smooth scrolling registers (i presume they work the same way as VIC II) and why do you think that full screen scrolling is unpractical (since around million VIC II games are using it with no problems).

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Right, smooth scrolling registers have not been touched in this video. They do work similar to the VIC-II. Due to the missing raster interrupt, full screen scrolling is much more limited on the VDC as you can‘t easily mix the scrolling part of the screen with non-scrolling parts. Thanks for bringing this up, I‘ll add this when I make another video related to that.

  • @motionbasti
    @motionbasti7 ай бұрын

    Super spannend! Ich frage mich, zu was der C128 wohl in einem Spiel fähig wäre, wenn man das Letzte aus dem Kasten rausholen würde, wie es bei manchen C64 Spielen gemacht wurde. Schade dass es zu nischig ist…da wird sich wohl Niemanden geben, der sich noch die Mühe machen wird.

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Ja, genau diese Fragestellung finde ich auch so spannend. Aber wer weiß: wenn der Markt groß genug für neue Retro-Computer wie den Mega65 oder den X16 ist, vielleicht ist dann in Zukunft auch mehr Platz für den 128er.

  • @motionbasti

    @motionbasti

    7 ай бұрын

    @@the8bittheory Weil die eine änliche Architektur haben, oder warum denkst du so? (bin leider nicht im Bilde). Man, ich habe hier echt ein goldigen YT Kanal gefunden. Tolle sache. :D

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Genau. Weil die so ähnlich sind. Und einen 128er haben schon viele. Einen Mega oder einen Commander noch nicht. Das Interesse an diesen sagt mir aber, dass das Interesse über den c64 hinaus geht. Freu mich sehr dass dir der Kanal gefällt. Danke für das Feedback

  • @victokra
    @victokra7 ай бұрын

    Horizontally scrolling bitmaps with attributes on seems too much work for the VDC. It seems to work with attributes turned off. You can try a smaller image with attributes like only 60 or 70 chars wide (reg 1) and the same value in reg 27. I just did a few quick tests on Z64K and it looks like it could even work with 79 chars wide, but did not experiment further. Also: You can copy/fill 256 bytes with the block-copy/fill command if you pass 0 as a parameter

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    I tried with 79 chars but that made no difference. However, cga-lowres images (all of screen-ram to 0x0F) seem to work much better, but still not perfect. I think it‘s Reg 27 with values larger than zero what imposes additional stress to the chip. I‘ll definitely do more experiments, but I‘m more than glad for any input from you experts. Thanks for the note about 256 bytes. I‘m off by one very often 😅 Highly appreciate your input, thanks!

  • @johnsmith1953x
    @johnsmith1953x7 ай бұрын

    Always show a few snippets of your final results in the very beginning of your videos, then do the tech stuff then full demo.

  • @the8bittheory

    @the8bittheory

    7 ай бұрын

    Yes that makes sense. I did it for the transitioning part in this video, but thanks to your input I‘ll do it for all the content going forward. Really appreciate your input, thanks!

  • @litjellyfish
    @litjellyfish5 ай бұрын

    I would not call it scrolling flawlessly until I see some smooth scrolling. Maybe it’s the videos capture issues. But all I see is some rather choppy scrolling compared to what the VICII hardware scroll does

  • @the8bittheory

    @the8bittheory

    5 ай бұрын

    Correct. It‘s not smooth scrolling. I was so excited that I didn‘t make a difference. Smooth scrolling is possible but requires use of Assembly language. Not sure when I will be able to cover that. Thanks for your input!

  • @litjellyfish

    @litjellyfish

    5 ай бұрын

    @@the8bittheory haha no worries. Also depending on the setup of the hardware do asm really make it possible? I mean do the chip have enough brute force power to push the requirement data in 60fps? One thing is the code to excite the data copy to the chip. That for sure could be speeds up. Still really cool to see someone taking time to explore this “forgotten” chip :)

  • @the8bittheory

    @the8bittheory

    5 ай бұрын

    The VDC has a shift register for pixel-level scrolling, just like the VIC-II. For setting this from 7 to 0 (or vice versa), vblank needs to be leveraged. Otherwise it jitters. 60 fps won’t be possible. I think for fullscreen, 10 is a more realistic number.

  • @litjellyfish

    @litjellyfish

    5 ай бұрын

    @@the8bittheory yes that was I feared. For me 10fps is unbearable. 25fps can work depending on scenario tho

  • @the8bittheory

    @the8bittheory

    5 ай бұрын

    The VDC chip will never become an Arcade powerhouse 😁

Келесі