More Related Content
The Ring programming language version 1.5.2 book - Part 45 of 181
Lecture2 mysql by okello erick
The Ring programming language version 1.9 book - Part 56 of 210
The Ring programming language version 1.5.3 book - Part 79 of 184
The Ring programming language version 1.5.4 book - Part 47 of 185
What's hot
Swift girls 5th_teaching_meeting20160829
Raspberry Pi à la GroovyFX
The Ring programming language version 1.8 book - Part 53 of 202
The Ring programming language version 1.10 book - Part 56 of 212
Introduction To MySQL Lecture 1
The Ring programming language version 1.5 book - Part 9 of 31
Tracking Data Updates in Real-time with Change Data Capture
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
The Ring programming language version 1.3 book - Part 52 of 88
Investigating Python Wats
Lecture5 my sql statements by okello erick
Similar to How old consoles work!
hashdays 2011: Ange Albertini - Such a weird processor - messing with x86 opc...
class04_x86assembly.ppt hy there u need be
Introduction to Reverse Engineering.....
Emulating With JavaScript
Basics of building a blackfin application
Qemu JIT Code Generator and System Emulation
Basic computer organization design
Introduction to Linux Exploit Development
8085-micropprocessor power ponts7-phpapp01.ppt
Code GPU with CUDA - Memory Subsystem
Examinable Question and answer system programming
Recently uploaded
TOWERS AND COLUMNS,maintenance and inspection.ppt
Basic PLC - Solid introduction _ 1 .pptx
410776623-5G 3GPP STANDARED-Overview.pptx
A NOVEL TRUST-BASED DDOS CYBERATTACK DETECTION MODEL FOR SMART BUSINESSENVIRO...
Lecture 2_Introduction to engineering design.pptx
Forouzan6e_ch09_PPTs_Transport.pptxmcgrawhill
STRUCTURAL CHARACTERIZATION OF A SHAPE MEMORY ALLOY (CU-AL-NI) MANUFACTURED B...
ARCHITECTURAL ORNAMENTATION powerpoint.pptx
Unit 5 - THERMO ELECTRIC ENERGY BASED PROCESSES .pptx
0acebd80-08f7-4be1-9135-15abe45dbc94.pdf
AI INTRODUCTION New Microsoft Office PowerPoint Presentation.pptx
Chapter4- Continuous-Time Markov Models- Stpchastoc Processes- Dr. Zahedi.pptx
PVD MNA 501 Recipe Review with understanding
Data Streams and Mining_1.ppt UNIT ONE COVERED
John Chipponeri - Senior Project Manager
Introduction to ARTIFICIAL INTELLIGENCES
convex_hull generation using the Quickhull
MOHSIN IJAZ PRESENTATION Final-climate.pptx
Unit 2 - ABRASIVE PROCESS AND BROACHING.pptx
SOFTWARE PROJECT MANAGEMENT PART 1-.pptx
How old consoles work!
- 1.
- 2.
- 3.
- 4.
@github.com/leandromoreira Decimal 0 12 3 10 Binary 00 01 10 11 1010 Hexadecimal 0x0 0x1 0x2 0x3 0xA 0123456789 01 1 2 3 1 10 11 4 100 0 0 Numeric system
- 5.
- 6.
- 7.
- 8.
- 9.
@github.com/leandromoreira (parallelism) ● CPU readsinstructions from memory ● CPU executes instructions ○ sum points ○ write to memory ○ reads next instruction ● GPU reads content to render from memory ● GPU renders the screen ○ renders line 0 ○ ... ○ renders line 255 How does it work?
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
@github.com/leandromoreira lda $2002; CPU.A= M[0x2002] sta $2002; M[0x2002] = CPU.A inx ; CPU.X = CPU.X + 1 jmp $2002; CPU.PC = 0x2002 jsr $2002; CPU.RT = CPU.PC; CPU.PC = 0x2002 rts ; CPU.PC = CPU.RT; sbc $2002; CPU.A = CPU.A - M[0x2002] ... 6052 Hello world
- 20.
- 21.
- 22.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0000 CPU.A = 0x00 CPU.X = 0x00 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 00 00 00 00 00 00
- 23.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0000 CPU.A = 0x00 CPU.X = 0x08 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 00 00 00 00 00 00
- 24.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0002 CPU.A = 0x00 CPU.X = 0x07 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 00 00 00 00 00 00
- 25.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0003 CPU.A = 0x00 CPU.X = 0x07 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 07 00 00 00 00 00
- 26.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0006 CPU.A = 0x00 CPU.X = 0x07 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 07 00 00 00 00 00
- 27.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 (-7) STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0008 CPU.A = 0x00 CPU.X = 0x07 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 07 00 00 00 00 00
- 28.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x0002 CPU.A = 0x00 CPU.X = 0x06 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 07 00 00 00 00 00
- 29.
- 30.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x000A CPU.A = 0x00 CPU.X = 0x03 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 03 03 00 00 00 00
- 31.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 CPU CPU.PC = 0x000D CPU.A = 0x00 CPU.X = 0x03 CPU.Y = 0x00 Memory 0x0000 a2 08 ca 8e 00 02 0x0006 e0 03 d0 f8 8e 01 0x000C 02 00 00 00 00 00 . . . 0x0200 03 03 00 00 00 00
- 32.
@github.com/leandromoreira LDX #$08 ;a2 08 decrement: DEX ; ca STX $0200 ; 8e 00 02 CPX #$03 ; e0 03 BNE decrement ; d0 f8 STX $0201 ; 8e 01 02 BRK ; 00 Var var1 = alloc(1) Var var2 = alloc(1) Var x = 8 while (x != 3) { x = x - 1 var1 = x } var2 = x
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
@github.com/leandromoreira CPU.PC = 2Bwide (16 bits) = 2 ^ 16 - 1 = 65535 possible addresses RAM = 64KB ? Nope, it has 64K possible addresses but it only has 2K RAM NES has 64K addresses
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
@github.com/leandromoreira ● https://wiki.nesdev.com/ ● https://taywee.github.io/NerdyNights/nerdynights/nesarchitecture.html ●https://www.youtube.com/channel/UC3azLjQuz9s5qk76KEXaTvA ● http://radar.spacebar.org/ ● http://skilldrick.github.io/easy6502/ ● https://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2009/ bhp7_teg25/bhp7_teg25/index.html ● https://forums.nesdev.com/viewtopic.php?f=10&t=15649 ● http://problemkaputt.de/everynes.htm ● https://www.youtube.com/watch?v=3BJU2drrtCM ● https://github.com/leandromoreira References