Drawing Characters on the NES

  Рет қаралды 381

Emulation Online

Emulation Online

Күн бұрын

Пікірлер: 7
@EmulationOnline
@EmulationOnline 2 ай бұрын
We're almost done with graphics on the NES! Coming up we have the background images and some details into how timing works. Hope you're enjoying the series so far, let me know what you think and if there's anything you'd like to see more of in these videos.
@Nesguy92
@Nesguy92 Ай бұрын
Thank you been looking for nes sprite videos.
@sodapopinski9922
@sodapopinski9922 15 күн бұрын
Ok this has been bugging me for ever, so you have the sprite loaded in memory say the same position as ur arrow so as the scan line makes it where the 8x8 tile it will jump to memory output for sed sprite for 8 pixels turn off for the rest of the line drop to next scan line continue with the background until it reaches line 2 of the 8x8 draw 8 more pixels shut off and drop to the next line and repeat until all 8 x8 tile is drawn? And this is done with multiple sprites
@EmulationOnline
@EmulationOnline 14 күн бұрын
The actual approach used in the hardware here is pretty tricky. There's a clever dance the PPU performs in order to make the most of limited hardware. Before any scanline, the PPU will determine which sprites will be drawn on the next line. The information for the 8 winning sprites for that line are placed in some internal memory on the PPU (often called secondary OAM). When the PPU is drawing to the screen, it is loading internal shift registers based on what will be drawn for the next 8 pixels. It then shifts out these buffered values, and selects from either this (possibly empty) sprite or the background. This process is often called "sprite evaluation" if you want to look for more details.
@sodapopinski9922
@sodapopinski9922 13 күн бұрын
@@EmulationOnline thanks I have trouble in my head imagining the speed of how this happens.. I mean the timing at these speeds is crazy especially with no buffer--so basically it’s using the shift registers to make a continuous stream…. Per scan line then usiwa the blanking period to setup the next scan line… as long as ur fast enough and can keep the timing this avoids needing a whole page of buffering and vram
@EmulationOnline
@EmulationOnline 13 күн бұрын
@@sodapopinski9922 Yep, the shift registers help render at high speed. Each byte from vram has info for several pixels. Fill the shift register from vram, then shift the bits out just as they are needed for rendering.
@sodapopinski9922
@sodapopinski9922 13 күн бұрын
@@EmulationOnline is it in code we keep track of the vertical bits and use the shift register to keep track of the 8 bits horizontal in an 8x8tile So basically I’m wondering it knows what tile it wants how does it keep track how many lines from the tile have been drawn is there a register to keep track that you he system checks every scan line
How the NES draws backgrounds
10:59
Emulation Online
Рет қаралды 485
Running Next.js on Decentralized Compute/Web3 is possible!
9:45
Mehul - Codedamn
Рет қаралды 6 М.
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 2,6 МЛН
2 MAGIC SECRETS @denismagicshow @roman_magic
00:32
MasomkaMagic
Рет қаралды 30 МЛН
Coding a Simple SFML Game Framework in C++/ SFML
6:12
Hopson
Рет қаралды 78 М.
The Garbage Sprites in Strider (NES) - Behind the Code
15:00
Displaced Gamers
Рет қаралды 80 М.
Coding Graphics in C: SetPixel, LineDraw, Moire and More!
8:36
Dave's Garage
Рет қаралды 147 М.
NES Sprites, OAM, and the Battle for Priority - Behind the Code
19:17
Displaced Gamers
Рет қаралды 45 М.
Chiplab Prototype: Remote controlled 6502
10:11
Emulation Online
Рет қаралды 191
Decoding NES Images for Emulation
10:21
Emulation Online
Рет қаралды 397
NES Graphics Explained
17:23
NesHacker
Рет қаралды 243 М.
Consoles Vs. Emulators
20:21
Mr.Welbig659
Рет қаралды 193 М.
Peeking inside a NES Cartridge
6:29
Emulation Online
Рет қаралды 564
How Graphics worked on the Nintendo Game Boy | MVG
12:56
Modern Vintage Gamer
Рет қаралды 529 М.