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
900
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
120
AB Test
caiogondim
9
690
Designing JS APis
caiogondim
3
260
CSS Layout: O ontem, o hoje e o depois
caiogondim
1
150
Git lightning talk
caiogondim
5
290
HTML5 Sensitivo
caiogondim
5
370
Sublime Text 2 pro tips
caiogondim
21
2.5k
Brazil
caiogondim
2
320
HTML5 - Seu navegador não é mais o mesmo
caiogondim
5
260
Other Decks in Programming
See All in Programming
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
1
340
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
770
オブザーバビリティ駆動開発って実際どうなの?
yohfee
2
630
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
310
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
220
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
500
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
220
AI巻き込み型コードレビューのススメ
nealle
2
2.4k
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
200
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
2.2k
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
850
The Cult of Friendly URLs
andyhume
79
6.8k
How to Talk to Developers About Accessibility
jct
2
140
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
270
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
67
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Unsuck your backbone
ammeep
671
58k
Designing Powerful Visuals for Engaging Learning
tmiket
0
250
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