Spielentwicklung in 6502 Assembler für 8-Bit Heimcomputer (German) (2016)

  Рет қаралды 39,921

Peter Dell

Peter Dell

7 жыл бұрын

Thomas Schulz (8bitjunkie) erklärt die Grundlagen für die Entwicklung von Spielen für 8-Bit Heimcomputer in 6502 Assembler. Hierbei helfen moderne Tools wie Raster Music Tracker, WUDSN IDE und coole Retro-T-Shirts mit Source Code darauf.
- Um was geht es überhaupt?
- Vorstellung des Spiels "GetUp!" (Live Demo)
- Übersicht über die Vorgehensweise und die Werkzeuge
- Der Hauptprozessor (CPU)
- Die Unterbrechungen (Interrupts)
- Die Grafik
- Die Musik
- Hilfreiche Quellen
Aufgezeichnet auf dem Vintage Computing Festival Berlin (VCFB) 2016. Weitere Videos der Veranstaltung finden sich unter:
media.ccc.de/b/conferences/vc...
Literaturverweise
Atari Profilbuch
Für ABBUC Mitglieder
www.abbuc.de/mitgliedschaft/do...
6502 Assembler-Kurs für Beginner
Andreas Dripke
ISBN 3-88623-018-X
atariwiki.org/wiki/attach/650...

Пікірлер: 62
@mikaelsoppa
@mikaelsoppa 4 жыл бұрын
Nachdem man sich den Vortrag angeschaut hat, weiß man einige Spiele für den ATARI erst richtig zu schätzen. Rescue On Fractalus z.B. war wohl ein wahres Meisterwerk der Programmierung. Das was da am ATARI programmiert wurde, war schon höchste Programmierkunst.
@Antarialus
@Antarialus 5 ай бұрын
Rescue on Fractalus war für damalige Zeiten einfach 'ne neue Messlatte. Bei "The Ediolon" hatte Lucasfilm-Games aber mMn nochmal einen drauf gesetzt, die Viecher und vor allem Drachen sind ja durch die Kombi des Graphicsmode 15 mit Player-Missile-Grafik erst realisierbar geworden. Ok, die Piloten/Aliens bei RoF waren ja technsch gesehen auch 'ne Kombi. In meiner Jugend waren die Beiden mit Abstand meine Lieblingsgames! Das Profibuch war damals DAS Buch was man einfach haben mußte. Dazu endlose Wochenenden mit Peter Finzels ATMAS-II, später dann dem Mac/65... schön war die Zeit!
@mikaelsoppa
@mikaelsoppa 4 ай бұрын
@@Antarialus Natürlich ist meine Sicht auf Rof, The Eidolon und Koronis Rift verklärt durch meine demit verbundenen Emotionen. Aber ich finde die Games noch heute extrem gut spielbar. Vor allem RoF. Auch der Sound des Atari zaubert eine sehr Atmosphäre hervor, die ich nur selten in anderen Spielen erlebt habe. Ja, war sehr geil damals 🙂
@Antarialus
@Antarialus 4 ай бұрын
Moin @@mikaelsoppa ! Oh ja, Koronis Rift mit diesem cool gemachten Dealer-Roboter dem man sein Loot verhökern konnte. Der absolute Hammer! Ich spiele die Games heute manchmal auch noch und denke dann auch mit Gänsehaut daran zurück, wie ich so als kleiner junge vorm Fernseher saß und richtig in die Games abgetaucht bin. Drachentöter in irgendwelchen Höhlen, SAR-Pilot auf Fractalus oder halt Panzerkommandat auf Koronis - die LucasfilmGames waren damals auf dem 8bit einfach was komplett anderes!
@mikaelsoppa
@mikaelsoppa 4 ай бұрын
Und nicht zu vergessen Ball Blazer. So ein smoothes Scrolling hab ich danach bis in die 16Bit Ära hinein nicht mehr gesehen. Zudem die Animation der Kugel, die an dem Rotofoil klebend, auf die Seitwärtsbewegungen des Rotofoils mit Verzögerungen „wie am Gummiband hängend“ reagiert.
@robp8774
@robp8774 Жыл бұрын
Kompliment, Mega Fachwissen und sympatisch presentiert. Das nächste Bier geht auf mich 😀
@MilMike
@MilMike 3 жыл бұрын
Faszinierend! My erster Computer war C64, wollte schon immer mal mit Assembler etwas machen aber wusste ich nie richtig wie man damit überhaupt anfangen kann. Früher war kaum Info darüber.. schwarze Magie. :)
@eulewill9462
@eulewill9462 2 жыл бұрын
Fantastisch. ❤ mit begeisterung erklärt.
@dl8cy
@dl8cy 7 жыл бұрын
Eine wirklich gute Computer-Historische Doku - Dank dafür!
@ranger81de
@ranger81de 6 жыл бұрын
Großartiger Vortrag! Vielen Dank für das Video!
@lolle18
@lolle18 5 жыл бұрын
Spitzenvideo! Kleine Korrektur bei 31:36 - 8 Bit Zweierkomplement reicht von -128 bis +127, nicht von -127 bis +128. +128 würde ja bereits das Bit 7 auf 1 setzen und damit ein negatives Vorzeichen signalisieren.
@thomasschulz7789
@thomasschulz7789 4 жыл бұрын
Du hast natürlic Recht, danke :-)
@derberlinermodellbauer5796
@derberlinermodellbauer5796 6 ай бұрын
Sehr gut gemachter Vortrag. Das ATARI Profibuch habe ich noch in der Erstausgabe von 1985. Wusste gar nicht das der ABBUC das Buch 2013 nochmal aufgelegt hat. Zum 6502 Assembler lernen habe ich noch das 6502 Buch von Rodney Zaks zu liegen. Das Buch geht zwar auch nicht direkt auf die Atari Computer ein, ist aber sehr gut (und verständlicht) geschrieben.
5 ай бұрын
Genialer Vortrag
@blue-fs
@blue-fs 2 жыл бұрын
macht spaß zuzuhören, hast eine angenehme stimme und erklärst das echt super, schade das du da ganze für ein Atari erklärst, ich selbst komme aus der C64 und Amiga 1000 Ecke ;)
@SyntheToonz
@SyntheToonz 7 жыл бұрын
This looks super cool. I wish the KZbin caption translator was actually worthwhile, so I could understand more of what he is saying. I pretty much get the idea from watching what's going on, but the translation is completely off the wall.
@jacofwudsn
@jacofwudsn 7 жыл бұрын
This upload is targeted at those who are not familiar with English. All others may find what they need in this playlist: kzbin.info/aero/PLmzSn5Wy9uF8nTsZBtdk1yHzFI5JXoUJT
@Nightfool708
@Nightfool708 10 ай бұрын
Das amerikanische ANTIC war auch ein sehr gutes Atari 8 Bit Magazin. Keine Ahnung ob es das noch gibt.
@jacofwudsn
@jacofwudsn 9 ай бұрын
Es existierte bis 1990. www.atarimagazines.com/antic/
@ProBloggerWorld
@ProBloggerWorld 2 жыл бұрын
Didaktisch schon echt stark gemacht, so etwa 1:10:30. Der Redner kann schon echt gut zwischen den Welten, alt und modern, wandeln.
@kraftwerk974
@kraftwerk974 3 жыл бұрын
This is a super good tutorial, it's a pity I can only understand about 50% of it and have to deduce the rest.
@jacofwudsn
@jacofwudsn 3 жыл бұрын
Feel free to contact us if there are any questions left!
@kraftwerk974
@kraftwerk974 3 жыл бұрын
@@jacofwudsn thank you very much Peter. Actually what bothers me is not being able to fully understand German afters years of study..! I've left aside coding for the 6510 right now. I'm trying to understand the electronic design side. How memory is mapped, how address lines are encoded etc. But I'll be back to my beloved 6510 and VIC II. All my best !
@Fuzzelzzz
@Fuzzelzzz 5 жыл бұрын
Wo bekommt man dieses Buch ?
@jacofwudsn
@jacofwudsn 5 жыл бұрын
Welches Buch meinst Du? Thomas zeigt im Video "nur" Slides und die IDE.
@exciterofcentury
@exciterofcentury 4 жыл бұрын
@@jacofwudsn Zu Beginn werden zwei Bücher vorgestellt. Zumindest das ATARI Buch gibts als PD zum Download www.abbuc.de/mitgliedschaft/downloads/finish/5-public-downloads/1635-das-atari-profibuch/1
@jacofwudsn
@jacofwudsn 4 жыл бұрын
Und das zweite Buch ist "6502 Assembler-Kurs für Beginner " von Andreas Dripke, ISBN 3-88623-018-X atariwiki.org/wiki/attach/6502%20Assembly%20Code/6502-Assembler-Kurs_fuer_Beginner-Andreas_Dripke-Print-OCR.pdf
@saxilus
@saxilus Жыл бұрын
Was mir heute zu dem Thema 8Bit Assembler so durch den Kopf schwirrt ist, dass $0000 - $ffff exakt 64kB darstellen. Wie wurde das auf dem C128er dann umgesetzt? Da müssten ja quasi 2* 64kB mit Assembler angesprochen/abgefragt werden können. Weiß da jemand Bescheid?
@jacofwudsn
@jacofwudsn Жыл бұрын
Fast alle 8-bit Rechner adressieren effektiv mehr als 64k, denn neben ihrem RAM haben sie auch noch ROM, Sound und Grafikchips die über Adressbereiche angesprochen werden. Hierzu gibt es meisten eine auszeichnete Adresse, welche steuert, was gerade auf welcher Address liegt. Man sagt, es werden "Speicherbänke umgeschaltet/eingeblendet". Beim C64 ist das Adresse $01, beim Atari 8-bit $d301 und C128 gibt es noch viel mehr. www.cubic.org/~doj/c64/mapping128.pdf
@TheVertical92
@TheVertical92 3 жыл бұрын
Macht es Sinn sich 6502 Assembler anzueignen um ein besseres Verständnis für Low-Level-Coding im allgemeinen zu haben? Oder sind die heutigen CPU-Anweisungen so weit weg von dem, dass es nicht mehr relevant ist?
@jacofwudsn
@jacofwudsn 3 жыл бұрын
Es lohnt sich auf jeden Fall! Der 6502 hat ein wunderbar einfaches und sehr symmetrisches Design. Der 6502 wurde (anders als des 80x86) mit dem Ziel designed einen möglichst kostengünstigen und einfachen Prozessoren zu entwickeln. Das sind die gleichen Prinzipien, auf den die heutige ARM Technologie fußt. Und nicht ohne Grund heißen daher sogar viele Befehle fast gleich und werden gleich angewendet. Und natürlich gibt es jeder Menge Beispiels und 40 Jahren Programmierung und eine großen Community die immer gerne weiterhilft.
@mein-biedenkopf
@mein-biedenkopf Жыл бұрын
Das mit dem loslegen und mal schnell eben ne halbe Stunde spielen unterschreibe ich sofort. Ich habe auch keine Lust mehr auf Spielen weil es, ist so komplex geworden, nicht mehr spielen ist. Wenn ich Red Dead Redemption II starte, HUT AB vor der Coding und grafischen Leistung, es kommt mir nicht wie spielen vor, sondern als wenn ich auf der Arbeit bin. Und viele Spiele werden erst dann wirklich spielbar, wenn man viele viele viele Stunden Zeit damit verplemtert - das ist zum kotzen und höchst hinterlistig. Und weil es mittlerweile kein Gefühl mehr ist ein Spiel zu spielen, sondern auf die Arbeit zu gehen, spiele ich so gut wie nix mehr. Nur ein einziges Spiel in den letzten 10 Jahren hat mich lange in den Bann gezogen. Das war Kingdom Come Deliverance wegen der geschichtlichen Nähe und hervorragender, der Realität angelehnter, Landschaft und mittelalterlichen Bauten. - Großes Hobby von mir ist halt Geschichte mit Thema Mittelalter und antike Rom.
@MrDendor
@MrDendor 3 жыл бұрын
dividieren geht über subtraktion
@solsticeprojekt1937
@solsticeprojekt1937 Жыл бұрын
Die Katze ist da sowas von fehlplatziert. :D
@ralfkieschnick1031
@ralfkieschnick1031 2 жыл бұрын
Als Profi für Assembler Programmierung, ein Tipp für Dich: Music_Init_Song0 und Music_Init_Song2 kannst Du ersetzen durch ein Unterprogramm Music_Init_Song. Die Nummer des Songs übergibst Du als Parameter: 1. Indem Du die Zahl vor dem Aufruf auf den Stack legst. 2. Indem Du die Zahl vor dem Aufruf in einem Register ablegst. Üblicher ist die Methode 1. (Der Stack kann beliebig viele Parameter übergeben.) Vor dem rts müssen die Parameter vom Stack entfernt werden.
@AtzeDatze
@AtzeDatze Жыл бұрын
Beim 6502 Prozessor ist der Stack 256 Bytes gross und liegt immer fest an der Adresse $0100 bis $01FF.
@bierundkippen720
@bierundkippen720 4 жыл бұрын
Mich hätte mal interessiert, wie die Leute damals mit Assembler programmiert haben - so ganz ohne Eclipse, PC und Co.
@jacofwudsn
@jacofwudsn 4 жыл бұрын
Bei allen kommerziellen Herstellen gab es immer Entwicklungssysteme, denn die meisten 8-bit System waren ja Konsolen (VCS, Atari 7800, NES, ...) und auf denen kann man ja gar nicht direkt entwicklen (und man will es auch nicht). Statt des PCs wurden oft Minicomputer wie die PDP 11 (statt PC) eingesetzt, über Terminals (statt Eclipse) Dateien editiert und dort hauseigene Cross-Assembler (wie heute MADS) zum übersetzen verwendet. Teilweise gab es für den Test dann auch Hardware-Emulatoren, Dual-Port RAM Module oder normale RAM Module, die man bespielte und in die Konsole steckte. Also eigentlich wie heute, nur das da ein X*1000 EUR Preisschild dran war, während heute eh jeder einen PC hat und die Software kostenlos erhältlich ist.
@bierundkippen720
@bierundkippen720 4 жыл бұрын
@@jacofwudsn Wow, danke für diesen aufschlussreichen Kommentar. Das heißt dann wohl, dass die meisten Spiele für den C 64 gar nicht auf diesem programmiert wurden, sondern auf anderen Maschinen. Das finde ich unglaublich beeindruckend. Ich meine, heute kann man nach jeder neu eingegebenen Zeile sein Programm mal schnell testen, wohingegen man früher genau wissen musste, was man macht. Vor allem musste man wissen, was zu welcher Zeit wo im Speicher steht. Ohne Debugging. Einfach krass!
@exciterofcentury
@exciterofcentury 4 жыл бұрын
@@bierundkippen720 Ich war eine zeitlang im Gamebusiness auf dem C64 tätig und 'wir' haben alles direkt auf dem C64 bzw C128 programmiert. Zuerst in einem 'Monitor' (siehe www.c64-wiki.de/wiki/Maschinensprachemonitor), später dann in einem 'Assembler' (siehe www.c64-wiki.de/wiki/Assembler) Letzterer wurde notwendig, um den raren Speicherplatz besser nutzen zu können, Sourcecode über mehrere Entwickler hinweg zu testen und zu debuggen etc.
@bierundkippen720
@bierundkippen720 4 жыл бұрын
Brumm Sehr interessant. Vielen Dank.
@transilvanischervampir666
@transilvanischervampir666 3 жыл бұрын
@@bierundkippen720 es wurde schon direkt auf dem c64 programmiert...war halt nur nicht so komfortabel wie heute...es gab ja schon assembler wo man seine programme eingeben hat..oder module mit maschinensprachemonitor...heute gibts grossassembler ..wo man am pc komfortabel programmieren kann usw.
@SciDOCMBC
@SciDOCMBC 4 жыл бұрын
eigentlich sind unsere Ziffern nicht lateinischer sonder arabischer Herkunft
@DFXAnimation
@DFXAnimation 4 жыл бұрын
Eigentlich sind unsere Ziffern nicht arabischer sondern indischer Herkunft. Wir haben sie nur über die Araber kennengelernt :-)
@kaffeetasse2461
@kaffeetasse2461 7 ай бұрын
@@DFXAnimation und die inder haben sie von den vimanas, also fake aliens von frueher. geheimes wissen weitergegeben seit frueher.
@kaffeetasse2461
@kaffeetasse2461 7 ай бұрын
kann ich das programm dann aber leider nur in einem emulator laufen lassen, oder? ich will dass alles wieder so einfach wird wie frueher. diese verdammten heutigen ultrakomplexen schnickschnack scheissdinger gehen mir so aufn sack.
@jacofwudsn
@jacofwudsn 7 ай бұрын
Hallo. Der Emulator vereinfacht nur die Entwicklung. Das Ergebnis ist eine ausführbare Datei die du selbstverständlich auf eine Diskette kopieren kannst um sie direkt am Atari zu nutzen. Wie es sich gehört 😊
@kaffeetasse2461
@kaffeetasse2461 7 ай бұрын
​@@jacofwudsn ich hab das anders gemeint, weil das problem is ja dass heutzutage keiner mehr die originalhardware hat. aber es gibt ja glaub ich so ein hardwareprojekt von diesem 8bitguy oder wie der heisst, der hat so einen 6502 glaub ich mit aktueller hardware nachgebaut. als bausatz zu kaufen mit viel loeterei leider. also nur fuer einen emulator programmieren is mir zu virtuell. ich wills schon praktisch.
@jacofwudsn
@jacofwudsn 7 ай бұрын
@@kaffeetasse2461 Originalhardware ist bei uns im ABBUC (www.abbuc.de) noch immer der Standard. Hat man auf den diesjährigen Treffen wieder schön gesehen. Wenn Du welche brauchst, schau doch mal im Forum vorbei.
@stephandusterhoft9131
@stephandusterhoft9131 3 жыл бұрын
Falsch !!! Lieber Thomas Schulz . Von oben nach unten sind es nur 192 Pixel in GRAPHICS 8 !!! Ey 1979 hatten wir noch DM .
@SciDOCMBC
@SciDOCMBC 4 жыл бұрын
wen der eine oder anderen ein Anwendungsprogrämmchen gemacht hat, muss er wohl auch programmiert haben wir habe hier keine lateinischen Ziffern, sonder arabische, wir verwenden das lateinische Alphabet nicht ganz durchdacht dieser Vortrag
@maxmustermann5799
@maxmustermann5799 3 жыл бұрын
Ohne diese nervtötenden Geräusche wäre es sicher ganz brauchbar. Weshalb müssen uns diese Leute ständig mit diesem grausigen Sound belästigen?
@MrRandyman74
@MrRandyman74 Жыл бұрын
Noch nerviger finde ich den Besserwisser vorn rechts; man hat das Gefühl, er hat den Vortrag nur besucht um allen anderen Anwesenden zu zeigen, was er schon alles zum Thema weiß und eigentlich als Zuhörer überqualifiziert ist. Aber zu DIR, Thomas: Gute Arbeit und vielen Dank für deine Mühe!
@Cards4Life-
@Cards4Life- Жыл бұрын
Gutes Video . Bashing der neuen Spiele etwas dämlich . Es ist sogar ziemlich einfacher als damals in Games reinzukommen aber na ja wie er meint 😛😊
Commodore Promotionvideos: Werbung für C64 und VC20
59:29
Turricanbronko
Рет қаралды 378 М.
We Got Expelled From Scholl After This...
00:10
Jojo Sim
Рет қаралды 15 МЛН
ATARI XE/XL - Doom, 2023, gameplay real HW
7:06
w1k - atari
Рет қаралды 11 М.
C64 vs. THEC64 - Erfahrungen mit der Kopie der Legende (Deutsch)
18:08
Microprozessor/Microcomputer - 8. Der Microprozessor [ZDF 1984]
28:58
A new OS for the Z80! [Open Source][Zeal 8-bit OS]
11:05
Zeal 8-bit Computer
Рет қаралды 124 М.
Reparatur und Restauration eines gekauften C64 ASSY No. 250407
12:57
KIM - 1 - die 8 Bit Legende (Commodore Retro Computing)
28:51
Zerobrain
Рет қаралды 31 М.
Очиститель экрана • 160418185                       Делюсь обзорами в профиле @lykofandrei
0:14
Девушка и AirPods Max 😳
0:59
ОТЛИЧНИКИ
Рет қаралды 14 М.
ВСЕ МОИ ТЕЛЕФОНЫ
14:31
DimaViper Live
Рет қаралды 60 М.
Самый топовый ПК без RGB подсветки
1:00
CompShop Shorts
Рет қаралды 218 М.
Интереснее чем Apple Store - шоурум BigGeek
0:42
КОПИМ НА АЙФОН В ТГК АРСЕНИЙ СЭДГАПП🛒
0:59