Тёмный

02-Tempest Video Game Hacking - EPROM Disassembly 

Dave's Garage
Подписаться 811 тыс.
Просмотров 13 тыс.
50% 1

Watch as Dave disassembles the 6502 code for the classic 1980 Atari video game Tempest. As a former game programmer, current Tempest world's high score holder, and confirm Tempest nut, he takes you deep into the games internals before adding new features and levels to the classic game.
Using tools such as IDA Pro, the HXA 6502 assembler, Visual Studio Code, and shell scripts, he reconstructs a build environment for the game and makes it fully symbolically relocatable.

Опубликовано:

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 96   
@TheFakeVIP
@TheFakeVIP 3 года назад
I was born on January 21st, 2003, and assembly is still awesome!
@dnb5661
@dnb5661 Год назад
January 2004 for me.
@JAYJAY-ch4ik
@JAYJAY-ch4ik 4 года назад
Just here to say thanks for the task manager you gifted to the world:) You have no idea how many times it helped haha.
@glasser2819
@glasser2819 4 года назад
yep, it really empowered all of us to look under the hood... toda🤗
@arcoda2876
@arcoda2876 4 года назад
Very cool yes
@zeroumus
@zeroumus 3 года назад
I always liked that if explorer crashed, I could use task manager to terminate it and reload it without having to restart
@konberner170
@konberner170 4 года назад
The only assembly code I have done was for Z80 and, yes, 6502. I never thought I'd be looking at it again! Fun and very nostalgic stuff. Thanks, Dave.
@dezedaar8009
@dezedaar8009 4 года назад
THE man that wrote task manager! Just for that you've deserved my sub, rock on Dave!
@clancybenedict6647
@clancybenedict6647 4 года назад
Holy smokes this guy is absurdly smart
@1makerstudios
@1makerstudios 3 года назад
Yeah, I was born in March of '04 and I honestly find this stuff quite interesting.
@bulldogcraft
@bulldogcraft 9 месяцев назад
Born in the sixties myself. Played with 6502, z80 and 68000 assembly as a hobby. The only serious stuff I used assembly for was 16550 uart code in the late eighties to link with my c code while writing terminal software. I'm just getting back into it now playing with Ben Eater's projects and your videos. Keep up the great work! It brings back so many memories and reminds me how I got into this career in the first place.
@PhilR0gers
@PhilR0gers 4 года назад
This takes me back to 1979 when I cut my programming teeth on a 6502 based machine that I first had to construct from a circuit board and a bag of components and then had to program with a hex keypad because I couldn't afford the full keyboard and assembler. A9 (LDA) is stuck in my head for evermore.
@transposedmatrix
@transposedmatrix 4 года назад
Born in 2004 :)
@johnsimon8457
@johnsimon8457 3 года назад
20 year olds looking at 6502? I was at Portland retro game expo and the talk on NES game development tools was packed with people of all ages.
@AiOinc1
@AiOinc1 3 года назад
I'm only slightly older than your IDA license, I was born April 2001. Always enjoyed vintage computers more than the modern machines.
@themasterprivate1075
@themasterprivate1075 3 года назад
@Dave's Garage born in March 2002 here, and watching this series and your other videos as well, loving it! :)
@loading...2602
@loading...2602 2 года назад
I was born in '03 and I love this stuff
@davidsucesso2419
@davidsucesso2419 3 года назад
Thank you for not putting publicity on the videos. Its refreshing
@daleryanaldover6545
@daleryanaldover6545 4 года назад
glad to be part of the task manager community (≧▽≦)
@musclesmouse
@musclesmouse 3 года назад
I use UltraEdit as my editor. Never used a disassembler as I am not a machine code dev.
@tonym5857
@tonym5857 3 года назад
Really interesting video... But while I am watching it I had to pause it and googling a few of things 😂
@palakasana5964
@palakasana5964 4 года назад
Dangit, was born July of 2001, just younger
@frogringtone
@frogringtone 3 года назад
me too :D
@ellite
@ellite 3 года назад
Legitimately only a month older than your IDA license 😄
@lidarman2
@lidarman2 Год назад
I think I am older than you Dave. I've done 6502, Z80 and 68000 Assembly and love this. Currently I am doing some Kintex-7 FPGA work. Low level has much zen going on. Not sure what I liked more in the early 80s; Exploring dungeons in D&D or exploring other people code using a disassember.
@Porygonal64
@Porygonal64 3 года назад
Not born after 2001, (Born July 20th 1998), but 6502 assembly is the only programming I can grasp and enjoy; I really don't like C++ or Javascript. Too hard for me, honestly.
@ncot_tech
@ncot_tech 4 года назад
I built myself a Z80 machine, and the first assembly I wrote for that was in its monitor. Counting bytes to work out addresses to jump to is one of those learning experiences everyone has to do, but the second they get hold of an assembler, they soon give up doing :) Also, compared to Z80, 6502 looks weird and strange and I don't like it ;-)
@glasser2819
@glasser2819 4 года назад
are newbees still starting on 8bit cores these days like we did 40 years ag
@ncot_tech
@ncot_tech 4 года назад
@@glasser2819 no, newbies start with Python or JavaScript and might never even touch a compiler unless they go off to be some sort of embedded designer.
@c1ph3rpunk
@c1ph3rpunk 3 года назад
Ah, the Z80, very near and dear to me. Dad worked for MOSTEK in the 70’s on the team that worked out the integration to fab and various optimizations in its design with Zilog. He came over to MOSTEK from TI but then didn’t everyone come from TI then?
@Digdug520052
@Digdug520052 9 месяцев назад
Bad Ass Game. I Had the Original Machine in My Bedroom. Lots Of High School Girls. Now My Daughter is 40 yrs old And im 55. SMH. Still my favorite game. The one on 2600 is trash.
@CallousCoder
@CallousCoder 3 года назад
I wonder if those “dead spots” are used for self modifying code or on the fly data generation. That’s what I did sometimes in the past. Have a label and some preamble code. And another ORG and that preamble code would be extended or overwritten on the fly, with situation dependent code. Very hacky and hard to debug, but saved writing boring routines that changed a few bytes for each situation, several times :)
@starleaf-luna
@starleaf-luna 4 месяца назад
well, you probably don't expect sb with a Windows XP pfp to have been born after Windows Vista's release(!), but I'm leaving a note in the comments lol
@landspide
@landspide 3 года назад
11:22 flash forward to Dave ageing three weeks.
@jefefpv1695
@jefefpv1695 2 года назад
I was born in 1969 and started self-learning programming in 8th grade. By high school I was programming machine language on a commodore Vic 20 followed by assembly on the Commodore 64.
@deckarep
@deckarep Год назад
Just found your channel today. What a great, fun and inspiring channel you have here. I’ve been learning assembly and found your video on making a small Windowed app in assembly. Please keep making content I am a subscriber as of right now.
@shanek.6293
@shanek.6293 2 года назад
Born in 2002 and, though I don't have any 'old' tech, I'm an absolute sucker for stuff based around it. I understand maybe the broadest stuff about Assembly, but I definitely wanna get better eventually. Someone is gonna have to maintain the stuff everything runs off of, after all. Can't directly interface with hardware with Python after all. (Well, maybe you can, but that's definitely not its purpose.)
@johnh10000
@johnh10000 3 года назад
6502 now I tought myself that with a friend way back in 1990 or there abouts. I had access to a bbc b microcomputer, and had an Electron, later a Vic 20, C16 (had a differant cpu, but was compatible) Just found you, great videos Dave.
@stephenflee7989
@stephenflee7989 Год назад
I love all of your content, but this is by far my favorite series. It blows my mind what was able to be accomplished so long ago, before all of the best practices were written in stone / etc. Crazy talented folks
@trickysoft
@trickysoft 2 года назад
Having used IDAPro (from a previous employer who didn't use it anymore) to disassemble several 6502 games to port them to the BBC Micro, I am quite familiar with the missing three weeks. I haven't yet been brave enough to try to relocate them, so have stuck to games that can sit in RAM on the BBC Micro. I have some videos if you are curious!
@Sevetamryn
@Sevetamryn 2 года назад
Ohh my god, i still can read and understand 6502 assembler somewhat ...
@Jagermonsta
@Jagermonsta 3 года назад
your RGB's change the colour and tone of your face ever so slightly - if you stare hard enough it's kinda like an acid trip. not a complaint, just an observation :)
@farhanyousaf5616
@farhanyousaf5616 4 года назад
While never having played Tempest, but still growing up using an Atari 800XL, I feel like I should play it...
@SteveJones172pilot
@SteveJones172pilot 3 года назад
WHAT? You grew up when the Atari 800xl was relevant and never played tempest?! YES.. You need to find yourself a good classic arcade and play some tempest! (MAME is great, but you NEED a real spinner for the real experience)
@mantictac
@mantictac 2 года назад
I'm two years late here but I was born in 2004. I love these videos and I can proudly say I'm fluent (not necessarily good) at 6502 assembly language.
@randyfrise4782
@randyfrise4782 2 года назад
Hi Dave. I have a tempest that is working at the moment but it does have a chip that has failed twice. I have two spare boards that I have robbed chips from. But now i have no spare for that specific chip if it fails again. Do you have a full chipset that you could sell me? Or at least do you have a library of all chips that you could burn the next one that fails on me. Randy.
@kurtisgibson2929
@kurtisgibson2929 3 года назад
I was born in 2003 I don't understand a lot of what you are doing I know the basics of c++, c# and python and I'd love to take the next steps probably opengl or something as I wish to be a game developer, also last but not least I want to say thank you for task manager it has helped me many times
@joshuadelutis7170
@joshuadelutis7170 3 года назад
I was born in June 2001, early June. So it depends when you got the license...
@sebascarra
@sebascarra 4 года назад
Thanks for the task manager man! Used it so many times to restar explorer.exe by hand!
@krizzo
@krizzo 4 года назад
That's cool I didn't know about Ghidra. Only used IDA pro around the same time you got your license. I'll have to give that a try next time I need to disassemble something.
@DavesGarage
@DavesGarage 4 года назад
It's cool but on the Mac you get a warning about it being potential malware every 20 seconds. You might be able to turn that off on the PC if you trust it!
@krizzo
@krizzo 4 года назад
@@DavesGarage Ha good old NSA installing their rootkits. A lot of tools ~20 years ago triggered virus warnings due to how they functioned to disassemble or monitor. They basically used the same techniques the viruses did to go beyond their reach.
@pseudonym50
@pseudonym50 3 года назад
Born 2002, I'm just really into rom hacking B-)
@the_technosis
@the_technosis 4 года назад
Hi Dave, great video. Quick question: I have an Atari 2600 running on a 6507 processor. How different is 6502 assembly from 6507 and would this same process for altering an Atari game?
@eDoc2020
@eDoc2020 3 года назад
It's exactly the same. The 6507 is just a 6502 with some of the pins removed.
@benjaminjohnston2611
@benjaminjohnston2611 3 года назад
Man, your license for IDA is older than me, christ.
@juri4729
@juri4729 3 года назад
i'm 1 year younger then Dave's IDA licencse
@AnthonyJClink
@AnthonyJClink 2 года назад
I would have watched a 6 hour video of just speed screen of the weeks of tweaks
@edumeli02
@edumeli02 3 года назад
3:14 I felt called out :) I was born in May 2002 and I am a Computer Science student right now. We did talk about Assembly a little bit and we made some programs in ARM Assembly (plus I became quite proficient with AVR Assembly bacause I needed to get some stuff working on a microcontroller that involved operating on single bits of memory into specific memory addresses) but that's it. As someone who loves coding in C/C++, Assembly to me feels like the next obvious step, because I have a chance to learn how those two languages physically work. Plus I think we must not forget it, as you once said "it's a lost art".
@DavidLindes
@DavidLindes 2 года назад
Cool. :) If you want to take it even another level at some point, check out Ben Eater's 8-bit computer series (he also has a 6502 series, which is also cool, but to go the extra level, go for the 8-bit series. :)
@GnobarEl
@GnobarEl 4 года назад
Another great video!
@CharlieBooth-y8x
@CharlieBooth-y8x 9 месяцев назад
born in 06 and this stuff facinates me
@krisztianprim8850
@krisztianprim8850 3 года назад
I was actually born just a little bit earlier than your ida
@lightblue254
@lightblue254 4 года назад
Extremely lovely to watch, the presentation is very pleasant and well done :p
@arraheem3523
@arraheem3523 3 года назад
Sir teach us how to complie the XP source code
@sorkde1664
@sorkde1664 4 года назад
Born in 2003...nevertheless, very interesting video.
@Jammermaker
@Jammermaker 3 года назад
My second favorite Dave
@clarkpetrick127
@clarkpetrick127 3 года назад
I wish they thought this in school.
@МаксимДорошин-ы3у
@МаксимДорошин-ы3у 3 года назад
I was born after 2001
@jdhtyler
@jdhtyler 4 года назад
1990 I was working on a warehouse stepper motor guided vehicle 6800 RAM EPROM and an LCD display with a serial port to transfer instructions from a BBC computer. Fun bits 1/ all built with a wire wrap technique, all I had at the time and deadline. 2/ My first 6800 assembler I stupidly put some string text data in the address area for the "reset vector" I had to get help to find that problem (after he stopped laughing). 3/ Digital solutions - giving them a tiny push or tap to make them run is not successful strategy. 4/ Purchasing department save a few pennies by buying a different LCD panel compared to the data sheet I had (the substitute needed a +&- Vss - long story how I found out ) We learn more by making mistakes - I have learnt such a lot over the years - and I predict more learning ;-)) for me.
@MileZero313
@MileZero313 Год назад
Thank you for your incredible videos and out of so many awesome stories you have told, seeing the world record holder master the game inside and out is truly something to behold. I have a great appreciation for your work at Microsoft and watching your videos and taking in your zeal for life and technology has been a great inspiration in my life, learning code and working in CSS.
@Xenthera
@Xenthera 3 года назад
I’m not after June of 2001 but I’m November 1995. Pretty sure you were probably writing task manager when I was born.
@InsaneFirebat
@InsaneFirebat 3 года назад
Can't beleive I've watched this many of your videos before realizing you've covered 65x assembly.
@Keduce22
@Keduce22 3 года назад
94' kid here 😅I know not before 2001 but still. Strange to call myself a professional programmer but I am now and have been for a long while. Programming is my first passion and I guess thats why I seek out esoteric programming things 🤓
@henryyoung7184
@henryyoung7184 3 года назад
I wrote a 6502 disassembler for BBC Micro. It was surprisingly easy with the addressing modes mapping onto instruction bits. It made me feel like I had some secret insight into how the CPU interpreted the machine code. Of course there days there is various 6502 rev eng references and projects on there.
@hapashreguiem7460
@hapashreguiem7460 3 года назад
Iam here born 2003
@shawnsorbom8907
@shawnsorbom8907 3 года назад
3:00 Not quite... I'm about a decade older. Atari's were still in use (albeit barely) when I was old enough to remember them. I didn't find out what they were called until much later though!
@prellit
@prellit 7 месяцев назад
post-2001
@IanJohnstonblog
@IanJohnstonblog 3 года назад
Does June 1971 still apply? :)
@IanJohnstonblog
@IanJohnstonblog 3 года назад
6502 was the first processor I touched. Started a long love affair with machine code for this beast.
@AdamAdam-dn4st
@AdamAdam-dn4st Год назад
Me
@aboodtube2577
@aboodtube2577 3 года назад
I am
@twoleggedcat_cs2
@twoleggedcat_cs2 2 года назад
09/2002
@adokat
@adokat 3 года назад
Great video. Thanks!
@EricPenn1147
@EricPenn1147 3 года назад
great vid!
@maxplusplusplus
@maxplusplusplus 4 года назад
That license is a month older than me damn...
@nynexman4464
@nynexman4464 4 года назад
Pretty cool, the only decompiler I've ever used was for Java! In college we had to do some MIPS assembly, but I never did much beyond that. It takes so long just to do small things I find it very frustrating. Always in awe of people like you that can understand what's going on just from opcodes. Looking forward to seeing the mods!
@DavesGarage
@DavesGarage 4 года назад
The main differences between is that the
@gumboe2007
@gumboe2007 4 года назад
Liking this series, thanks for taking the time to put it together.
@brjanimal
@brjanimal 4 года назад
Born 2002. You asked.
@EthanSeville
@EthanSeville 3 года назад
3:12 I was born June 2000 xP
Далее
The Secret Life of Microsoft Interns - by Davepl
17:03
FATAL CHASE 😳 😳
00:19
Просмотров 1,6 млн
КОТЯТА В ОПАСНОСТИ?#cat
00:36
Просмотров 1,8 млн
ХОККЕЙНАЯ КЛЮШКА ИЗ БУДУЩЕГО?
00:29
AI on FPGAs Explained
6:34
Просмотров 1,2 тыс.
The Genius Behind the Quantum Navigation Breakthrough
20:47
The Apple IIGS Megahertz Myth
59:10
Просмотров 79 тыс.
08.Secret History of Microsoft Gary
16:42
Просмотров 116 тыс.
18 Weird and Wonderful ways I use Docker
26:18
Просмотров 204 тыс.
Harder Drive: Hard drives we didn't want or need
36:47
Cracking Enigma in 2021 - Computerphile
21:20
Просмотров 2,5 млн
FATAL CHASE 😳 😳
00:19
Просмотров 1,6 млн