Basics - 6502 Assembly Crash Course 01

Basics - 6502 Assembly Crash Course 01

NesHacker

2 года назад

107,432 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@user-cm8zq4mt1x
@user-cm8zq4mt1x - 26.12.2023 20:30

These videos are an amazing resource! Thank you so much. This has already been very helpful.

Ответить
@DamianLDF
@DamianLDF - 18.12.2023 21:45

For anyone running into the issue of compiling 'wrapper.s' instead of the example file, I could solve it by changing cl65config.json, adding "input" and changing "params" like this:

"input": "wrapper.s",
"params": "--verbose --target nes examples\\01_XandY.s"

I'm guessing that this has something to do with dependencies and the order in which the files are compiled, and there might be a better way to configure it, but it worked for me.

Ответить
@pastaprod3297
@pastaprod3297 - 06.12.2023 09:46

Not here for the gaming stuff but really interesting!

Ответить
@wlcrutch
@wlcrutch - 28.11.2023 23:45

Lemme guess: You’re a professional programmer? I’m a CS student taking my first assembly course, for an Atmega16. I LOVE it. Being a big fan of C and HATING courses in Android and .NET, dev, it’s so enriching and fun to mess with hardware. Hardware is the platform! ❤

Ответить
@Wojtek_1777
@Wojtek_1777 - 18.11.2023 05:59

What do i do if it compiles wrapper.s instead of 01_XandY.s

Ответить
@bojiden
@bojiden - 23.10.2023 04:19

6502 was also used in slight variations on Atari 2600s and Commodore 64, if you want to program games for those consoles.

Ответить
@nolancarey6244
@nolancarey6244 - 22.10.2023 07:21

When doing the run and build for the XandY code, the compiler kept building the wrapper file instead of the XandYs. I configured the default build task to be on the XandYs, although I don't know if that does anything different. Either way, after compiling, it doesn't make a .NES file, it just makes a blank file that can't be used by the emulator. I don't know why it does this.

Ответить
@mizumeh4214
@mizumeh4214 - 01.10.2023 11:00

When I run build task on any of the examples, it builds a rom of the wrapper. The key difference is that when you do it it executes the task directly but on my terminal it executes the task in the folder.

Ответить
@lays6341
@lays6341 - 29.09.2023 14:25

for some reason it keeps generating me wrapper file instead of the 01_XandY file, even tho i’ve followed exactly your manipulation

Ответить
@BlueFinch
@BlueFinch - 27.09.2023 21:47

I'm a SMB3 rom hacker and I am very thankful for your instruction on assembly programming. bitwise operations video helped me a lot.

Ответить
@snowiethetoolguy
@snowiethetoolguy - 24.09.2023 23:10

Build a EFI computer and a CNC lathe with a C64 a fair while back. All with Assembly.

Ответить
@anthonyleedickinson3491
@anthonyleedickinson3491 - 23.09.2023 22:57

Hi just a quick one. I got myself a nes programming course. It teaches 60hz programming, and would like to know how easy or difficult it would be to convert to 50hz has it doesn't teach that. Thanks in advance.

Ответить
@ttermit
@ttermit - 20.09.2023 21:25

I know this video's kinda old, but when i try to run smth except the hello program, fceux just says "unknown ROM file format". Can anyone help?

Ответить
@canofsoda
@canofsoda - 15.09.2023 19:41

what parameters should i use in the cl65config.json file? the default params dont work and ive tried the ones shown on the github and the files they make dont work with FCEUX.

Ответить
@personthesecond7973
@personthesecond7973 - 14.09.2023 04:05

i am GOING to learn 6502 for a SCHOOL PPROJECT in 6 WEEKS. wish me luck, i HOPE its possible

Ответить
@kurtcpi5670
@kurtcpi5670 - 14.09.2023 03:32

The 6502 was an amazing CPU in its day, and remains one of the best choices for microcontroller foundations 50 years later. It's architecture and assembly language offer a straightforward path to creating sophisticated apps without high-level languages/compilers. It has a few things that have to be digested, like the difference between indirect-indexed and indexed-indirect modes (also known as indirect-x and indirect-y), but the ability to use either as the situation demands is super power, and permits C-like pointers and pointers to pointers to be easily created in assembly. It's a time-tested chip with utility that extends far beyond the typical useful life of such a complex-purpose unit.

Ответить
@twobob
@twobob - 01.09.2023 19:59

after 30 years of programming sure I know this but it's all about the delivery. That was fun

Ответить
@the_unforseen8224
@the_unforseen8224 - 26.07.2023 18:17

This is random and may or may not help someone but I know it’s helped me remember the difference between data and storage. Data comes from the Latin verb do dare which means to give, data is it’s perfect passive participle meaning things having been given. So storage is where you store the things having been known or given 🙂

Ответить
@objectobjectobject4707
@objectobjectobject4707 - 18.07.2023 16:40

Do instructions contain the data by itself lie OPCODE and OPERAND ?
Thanks for the series !!!

Ответить
@wildside4822
@wildside4822 - 16.07.2023 18:50

Great tutorial, very helpful, thanks

Ответить
@glauco_rocha
@glauco_rocha - 06.07.2023 00:24

One thing that strikes me right in the nerd feels when I think about programming is: the distinction between code and data is purely conceptual. In the real world, code is just data that works on other data.

Ответить
@BGDMusic
@BGDMusic - 05.07.2023 21:51

i know the first thing about 6502 assembly, just not the second thing.

Ответить
@Robert_Shmigelsky
@Robert_Shmigelsky - 23.06.2023 02:56

Good stuff. The dev cart magazines got me interested in assembly.

Ответить
@hitsuji-m
@hitsuji-m - 22.04.2023 19:42

Hello, great video ! I wanted to start learning and creating games for NES for a while (more than 1 year) and you made me start, so thanks for being able to break my lazyness xD !
Could you share the code that helps to prevent the grey screen on FCEUX ? I visited some websites but don't really understand if it's due to the emulator, an error in the code or just basic NES functionning.
Also, do you plan on creating a video about the base code of a NES game (explaining VECTORS/HEADER segments, how to display a simple sprite on the screen, etc...) ? I really think it would be helpful, especially from you !

I hope you're having a great day !

Ответить
@SignatureScentReviews
@SignatureScentReviews - 16.03.2023 01:00

I need a 6502 book I think. I have an original book form the 80's that I got for programming my Commodore 64, will it work?

Ответить
@SignatureScentReviews
@SignatureScentReviews - 16.03.2023 00:58

Finally got my dev environment working on my M1 Mac!

Ответить
@hangonsnoop
@hangonsnoop - 12.03.2023 03:42

I triple dog dare you to talk about self-modifying code.

Ответить
@sergeykish
@sergeykish - 05.03.2023 17:03

Thank you. I've compiled with `cl65 01_XandY.s --verbose --target nes -o 01_XandY.nes` on Linux and it failed with "Unknown ROM file format". It is great that you have provided DevEnvironmentDemo. I had to add header

.segment "HEADER"
; .byte "NES", $1A ; iNES header identifier
.byte $4E, $45, $53, $1A
.byte 2 ; 2x 16KB PRG code

.segment "VECTORS"
;; When an NMI happens (once per frame if enabled) the label nmi:
.addr 0
;; When the processor first turns on or is reset, it will jump to the label reset:
.addr Main

Without vectors it failed to reach 8000

Ответить
@pimpingkek4947
@pimpingkek4947 - 04.03.2023 00:51

This was going to be my next question. Thank you so much. I wanted to know more about 6502

Ответить
@masterpenky
@masterpenky - 03.03.2023 00:00

I‘d love to watch some of your videos, but getting advertisements literally every 30 seconds. Sorry, this is just too much.

Ответить
@Gitbizy
@Gitbizy - 02.03.2023 06:48

Was good at 6502 back in the 80’s. Very nice limited size instruction set compared to todays CPUs

Ответить
@rarrmonkey
@rarrmonkey - 27.02.2023 00:38

there are no numbers, only voltages and logic states
computers do not know what a 1 or 0 is only responding to voltage levels.
1 and 0 are for us to understand the voltages...

Ответить
@Adam-kx9gi
@Adam-kx9gi - 26.01.2023 19:30

i bet all you see is code and this is the matrix were living in...right?? 🤣

Ответить
@stevethemagicninja
@stevethemagicninja - 17.01.2023 21:04

Nice shirt!

Ответить
@Draculinio
@Draculinio - 25.12.2022 00:26

FCEUX says that it is not a valid rom.

.export Main
.segment "CODE"

.proc Main
ldx #5
ldy #5
inx
iny
dey
dey
dex
rts
.endproc

cl65config:
{
"executable": "C:\\cc65\\bin\\cl65",
"input": "rind.s",
"params": "--verbose --target nes -o rind.nes"
}

Thank you!!!!!

Ответить
@deusprogrammer_thekingofspace
@deusprogrammer_thekingofspace - 08.12.2022 01:40

Wanted to thank you. I am working on a new Zelda 2 Randomizer that uses a different approach to the randomization and I used your videos to help me figure out why certain maps in the game don't respect the level exit data, and I was able to follow a trace and find the code. Using your videos and some 6502 ASM wikis I managed to figure it out. For some reasons maps with a map number greater than 29, ignore the level exits and default to all "go outside" exits. Thanks for the help =).

Ответить
@phil2768
@phil2768 - 30.11.2022 01:25

Excellent video - please make more. I cannot believe only 39k views! You definitely deserve more.

Ответить
@pavelgreddd9635
@pavelgreddd9635 - 23.11.2022 02:15

Wow, what a channel. Keep going man

Ответить
@diegolopes8737
@diegolopes8737 - 17.11.2022 05:13

thank for you video. great class about it.

Ответить
@fungo6631
@fungo6631 - 21.10.2022 01:45

I suggest Mesen for the NES emulator as it's much more accurate than FCEUX and it also has an excellent debugger.

Ответить
@Jadair215
@Jadair215 - 17.10.2022 11:04

I'm having some problems on the debbuging phase, i reset the ROM file into de FCEUX and add the breakpoint, but the counter just starts at 0000 address. What can i do?

Ответить
@hadeseye2297
@hadeseye2297 - 16.10.2022 17:43

No, I'm not feeling comfortable with your head attacking my private space so aggressively.

Ответить
@abomaria7192
@abomaria7192 - 25.09.2022 05:28

This lesson is like an icebreaker, against the ice that around assembly language. Thank you a lot

Ответить
@samuelsathler9586
@samuelsathler9586 - 02.09.2022 21:48

When I try to build the rom, I get the message "no build task to run found".

Ответить
@jazzgirl2358
@jazzgirl2358 - 30.08.2022 10:13

Please don't stop this channel 🥺, now I can finally make nes games. I knew programming but never found this content except nesdev which is very complicated to understand

Ответить