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
860
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
99
AB Test
caiogondim
9
670
Designing JS APis
caiogondim
3
230
CSS Layout: O ontem, o hoje e o depois
caiogondim
1
120
Git lightning talk
caiogondim
5
270
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
240
Other Decks in Programming
See All in Programming
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
840
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
710
楽しく向き合う例外対応
okutsu
0
110
技術を根付かせる / How to make technology take root
kubode
1
250
昭和の職場からアジャイルの世界へ
kumagoro95
1
380
GAEログのコスト削減
mot_techtalk
0
120
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
130
Grafana Cloudとソラカメ
devoc
0
170
Pulsar2 を雰囲気で使ってみよう
anoken
0
240
Featured
See All Featured
Site-Speed That Sticks
csswizardry
4
380
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Building an army of robots
kneath
303
45k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Music & Morning Musume
bryan
46
6.3k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Why Our Code Smells
bkeepers
PRO
336
57k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
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