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
98
AB Test
caiogondim
9
660
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.4k
Brazil
caiogondim
2
310
HTML5 - Seu navegador não é mais o mesmo
caiogondim
5
240
Other Decks in Programming
See All in Programming
CSC305 Lecture 26
javiergs
PRO
0
140
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Jakarta EE meets AI
ivargrimstad
0
240
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
Haze - Real time background blurring
chrisbanes
1
510
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
330
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
170
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
340
あれやってみてー駆動から成長を加速させる / areyattemite-driven
nashiusagi
1
200
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
2
190
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Making the Leap to Tech Lead
cromwellryan
133
9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Being A Developer After 40
akosma
87
590k
Into the Great Unknown - MozCon
thekraken
33
1.5k
BBQ
matthewcrist
85
9.4k
RailsConf 2023
tenderlove
29
940
Optimising Largest Contentful Paint
csswizardry
33
3k
Documentation Writing (for coders)
carmenintech
66
4.5k
Music & Morning Musume
bryan
46
6.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
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