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
880
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
110
AB Test
caiogondim
9
680
Designing JS APis
caiogondim
3
240
CSS Layout: O ontem, o hoje e o depois
caiogondim
1
140
Git lightning talk
caiogondim
5
280
HTML5 Sensitivo
caiogondim
5
360
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
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
360
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
140
XP, Testing and ninja testing ZOZ5
m_seki
2
240
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
960
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
160
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
350
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
2
360
Serena MCPのすすめ
wadakatu
4
860
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
910
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Producing Creativity
orderedlist
PRO
347
40k
Faster Mobile Websites
deanohume
310
31k
Agile that works and the tools we love
rasmusluckow
331
21k
Making Projects Easy
brettharned
118
6.4k
Raft: Consensus for Rubyists
vanstee
139
7.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
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