Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
História dos Sistemas Operacionais de Videogames
Search
Caio Gondim
December 05, 2011
Programming
3
870
História dos Sistemas Operacionais de Videogames
Uma breve apresentação que fiz para a cadeira de "Sistemas Operacionais" da faculdade.
Caio Gondim
December 05, 2011
Tweet
Share
More Decks by Caio Gondim
See All by Caio Gondim
256 shades of R, G and B
caiogondim
1
100
AB Test
caiogondim
9
670
Designing JS APis
caiogondim
3
230
CSS Layout: O ontem, o hoje e o depois
caiogondim
1
130
Git lightning talk
caiogondim
5
280
HTML5 Sensitivo
caiogondim
5
350
Sublime Text 2 pro tips
caiogondim
21
2.5k
Brazil
caiogondim
2
310
HTML5 - Seu navegador não é mais o mesmo
caiogondim
5
250
Other Decks in Programming
See All in Programming
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
180
2ヶ月で生産性2倍、お買い物アプリ「カウシェ」4チーム同時改善の取り組み
ike002jp
1
100
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
110
Cursorを活用したAIプログラミングについて 入門
rect
0
100
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
190
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
320
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
1.2k
ComposeでWebアプリを作る技術
tbsten
0
120
note の Elasticsearch 更新系を支える技術
tchov
0
160
「理解」を重視したAI活用開発
fast_doctor
0
210
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
8
1.8k
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
Building an army of robots
kneath
305
45k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Building Applications with DynamoDB
mza
94
6.3k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
Docker and Python
trallard
44
3.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Practical Orchestrator
shlominoach
187
11k
Optimizing for Happiness
mojombo
377
70k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
SISTEMAS OPERACIONAIS DE VIDEOGAMES
ODYSSEY ATARI 2600 MASTER SYSTEM SNES DREAMCAST XBOX 360 PS
3
ODISSEY
MAGNAVOX 1972 330.000
NÃO POSSUIA CPU
CARTUCHOS POSSUÍAM JUMPERS
ANALOGICO OU DIGITAL?
ANALÓGICO CONTROLE DO JOGO
DIGITAL COMUNICAÇÃO ENTRE CIRCUITOS ERA BINÁRIA
ATARI 2600
ATARI 1977 30 MILHÕES
CPU 1,19 MHZ 128 BYTES RAM 4KB ROM
CADA LINHA 2X MÍSSEIS 1PX 1X BOLA 1PX 1X PLAYFIELD
40PX
SEM S.O. JOGOS POSSUIAM ACESSO TOTAL A MÁQUINA ASSEMBLY
JOGOS
PITFALL
E.T.
BREAKOUT
MASTER SYSTEM
SEGA 1985 13 MILHÕES
CPU ZILOG 3,58MHZ 8KB RAM
BIOS
ASSEMBLY Z80
JOGOS
CALIFORNIA GAMES
CASTLE OF ILLUSION
SHINOBI
SNES
NINTENDO 21 NOVEMBRO 1991 49 MILHÕES
RICOH 5A22 16 BIT 3.58 MHZ 128 KB RAM
ASSEMBLY 65816 ACESSO IRRESTRITO AO HARDWARE SEM S.O.
.MACRO Snes_Init sei ; Disabled interrupts clc ; clear carry
to switch to native mode xce ; Xchange carry & emulation bit. native mode rep #$18 ; Binary mode (decimal mode off), X/Y 16 bit ldx #$1FFF ; set stack to $1FFF txs jsr Init .ENDM .bank 0 .section "Snes_Init" SEMIFREE Init: sep #$30 ; X,Y,A are 8 bit numbers lda #$8F ; screen off, full brightness sta $2100 ; brightness + screen enable register stz $2101 ; Sprite register (size + address in VRAM) stz $2102 ; Sprite registers (address of sprite memory [OAM]) stz $2103 ; "" "" stz $2105 ; Mode 0, = Graphic mode register stz $2106 ; noplanes, no mosaic, = Mosaic register stz $2107 ; Plane 0 map VRAM location stz $2108 ; Plane 1 map VRAM location stz $2109 ; Plane 2 map VRAM location stz $210A ; Plane 3 map VRAM location stz $210B ; Plane 0+1 Tile data location stz $210C ; Plane 2+3 Tile data location stz $210D ; Plane 0 scroll x (first 8 bits) stz $210D ; Plane 0 scroll x (last 3 bits) #$0 - #$07ff lda #$FF ; The top pixel drawn on the screen isn't the top one in the tilemap, it's the one above that. sta $210E ; Plane 0 scroll y (first 8 bits) sta $2110 ; Plane 1 scroll y (first 8 bits) sta $2112 ; Plane 2 scroll y (first 8 bits) sta $2114 ; Plane 3 scroll y (first 8 bits) lda #$07 ; Since this could get quite annoying, it's better to edit the scrolling registers to fix this. sta $210E ; Plane 0 scroll y (last 3 bits) #$0 - #$07ff sta $2110 ; Plane 1 scroll y (last 3 bits) #$0 - #$07ff sta $2112 ; Plane 2 scroll y (last 3 bits) #$0 - #$07ff sta $2114 ; Plane 3 scroll y (last 3 bits) #$0 - #$07ff stz $210F ; Plane 1 scroll x (first 8 bits) stz $210F ; Plane 1 scroll x (last 3 bits) #$0 - #$07ff stz $2111 ; Plane 2 scroll x (first 8 bits) stz $2111 ; Plane 2 scroll x (last 3 bits) #$0 - #$07ff stz $2113 ; Plane 3 scroll x (first 8 bits) stz $2113 ; Plane 3 scroll x (last 3 bits) #$0 - #$07ff lda #$80 ; increase VRAM address after writing to $2119 sta $2115 ; VRAM address increment register stz $2116 ; VRAM address low stz $2117 ; VRAM address high stz $211A ; Initial Mode 7 setting register stz $211B ; Mode 7 matrix parameter A register (low) lda #$01 sta $211B ; Mode 7 matrix parameter A register (high) stz $211C ; Mode 7 matrix parameter B register (low) stz $211C ; Mode 7 matrix parameter B register (high) stz $211D ; Mode 7 matrix parameter C register (low) stz $211D ; Mode 7 matrix parameter C register (high) stz $211E ; Mode 7 matrix parameter D register (low) sta $211E ; Mode 7 matrix parameter D register (high) stz $211F ; Mode 7 center position X register (low) stz $211F ; Mode 7 center position X register (high) stz $2120 ; Mode 7 center position Y register (low) stz $2120 ; Mode 7 center position Y register (high) stz $2121 ; Color number register ($0-ff) stz $2123 ; BG1 & BG2 Window mask setting register stz $2124 ; BG3 & BG4 Window mask setting register stz $2125 ; OBJ & Color Window mask setting register stz $2126 ; Window 1 left position register stz $2127 ; Window 2 left position register stz $2128 ; Window 3 left position register stz $2129 ; Window 4 left position register stz $212A ; BG1, BG2, BG3, BG4 Window Logic register stz $212B ; OBJ, Color Window Logic Register (or,and,xor,xnor) sta $212C ; Main Screen designation (planes, sprites enable) stz $212D ; Sub Screen designation stz $212E ; Window mask for Main Screen stz $212F ; Window mask for Sub Screen
JOGOS
SUPER MARIO WORLD
ZELDA: LINK TO THE PAST
CHRONO TRIGGER
STREET FIGHTER II
DREAMCAST
SEGA 1998 10,5 MILHÕES
CPU HITACHI RISC 200MHZ 128 BIT 16 MB RAM
GPU POWER VR2 7 MILHÕES POLÍGONOS/S 8 MB RAM
BIOS PODIA CARREGAR WINDOWS CE OU QUALQUER OUTRO S.O.
MICROSOFT SDK PARA PORTAR JOGOS PC’S
JOGOS
MARVEL VS. CAPCOM 2
VIRTUA TENNIS
SOUL CALIBUR
XBOX 360
MICROSOFT 2005 57.6 MILHÕES HD DVD
CPU POWERPC 64 BIT 3X CORE DESENHADO PELA IBM
GPU DESENHADO PELA ATI 500 MHZ
512MB GDDR3 RAM COMPARTILHADA ENTRE CPU E GPU
WINDOWS
XNA
ANUNCIADO EM 2006 GAMES DEVELOPERS CONFERENCE SAN JOSE ,CALIFORNIA
C# FRAMEWORK .NET
FACILITA DESENVOLVIMENTO XBOX, WINDOWS E WINDOWS PHONE 7
DASHBOARD
JOGOS
GEARS OF WAR 3
BATMAN ARKHAN CITY
PORTAL 2
PS 3
SONY 11 NOVEMBRO 2006 55.5 MILHÕES BLU-RAY
CPU CELL 1X 3.2 GHZ PPE 8X SPE 1X SPE
EXCLUSIVO AO S.O. 256MB XDR DRAM
GPU NVIDIA RSX “REALITY SYNTHESIZER” 1080P VIDEO OUTPUT 256MB GDDR3
550 MHZ
ETHERNET GIGABIT BLUETOOTH 2.0 HDMI 1.4 WI-FI HD REMOVÍVEL ...
CELL OS FORK DO FREEBSD
3D API LIBGCM E PSGL BASEADOS NO OPENGL E NVIDIA
CG
NÃO APENAS UM VIDEOGAME, MAS UMA CENTRAL MULTIMÍDIA
IMAGENS JPEG GIF TIFF BMP PNG MPO
ÁUDIO MP3 MP3 SURROUND WAV WMA ATRAC AUDIO CD AAC
...
VÍDEO MPEG-1 MPEG-2 AVI DIVX XVID BLU-RAY ...
GUI XrossMediaBar
USADO POR PS 3 PSP VAIO LAPTOP BRAVIA TV
SUPERCOMPUTADORES
1760 PS3 500 TFLOPS 33º MAIOR EM 2010
GRAVITY GRID 8 PS3 >100 INTEL XEON
FOLDING@HOME 1.6 FIRMWARE UPDATE COMPUTAÇÃO DISTRIBUÍDA
28 MARÇO 2010 SONY DESABILITA OPÇÃO DE INSTALAR UM OUTRO
S.O.
JOGOS
WINNING ELEVEN 2012
METAL GEAR SOLID 4
COD: MODERN WARFARE 3