[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games

Search:


View post   

>> No.2486135 [View]
File: 862 KB, 500x700, 1374721139269.gif [View same] [iqdb] [saucenao] [google]
2486135

>>2486120

My point is older systems were mainly defined by their custom graphics and audio support chips. If you asked me what an SNES is, I'd point to the PPU units and the A-DSP. Everything else is the package, but those are what define what you show the world.

Extra Credit: Modern systems draw what's in a buffer every 60Hz+, even if you are still drawing to the buffer which results in graphical glitches. For this reason modern systems are 'double buffered', meaning that they have two memory arrays to display to screen. One of the arrays is displayed while the other is being calculated by your program. When your program is done, when it's time to display the next image, you switch which array is on display, and which on is hidden and ready to clear/draw to by your program without fear of graphics glitches.

On the SNES and similar older system designed for CRT use, to save on resources (double buffer = twice the memory) there is no concept screen buffer. Instead you have graphics memory and the PPU (Picture Processing Unit, ie the SNES GPU) registers to write to/read from. The system is built around the behavior of the CRT's electron beam. The beam scans from left to right across a row, turns off for a time called Horizontal or H-Blank while resetting to the left side and a little farther down, turns on again for the next scanline, ...etc..., until it hits the bottom of the screen and has to turn off for Vertical or V-Blank.

Every time a scanline is started, the PPU settings are locked in. In order to update a screen, you need to write to PPU registers during H-Blank or V-Blank, otherwise graphical glitches occur. V-Blank lasts a long time, so that's when you update your main graphics (poke at registers, update some video memory). You can also write a few bytes during the much shorter H-Blank to achieve some really neat effects will ripple on backgrounds, pseudo perspective in mode-7, color gradients, shaped windows, etc.

Navigation
View posts[+24][+48][+96]