Utilizing unused VGA memory
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- c
- Ambito
- computer-graphics
Direzione di ricerca
L’issue nomina le modalità VGA 10 e 13h, Mode X, page flipping e un framebuffer, ma non indica file né test. Inizia individuando l’implementazione del display VGA pertinente e documentando l’attuale mappatura della memoria; per completare il lavoro sarebbero necessari un design concordato e la validazione del percorso framebuffer proposto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
It seems that only 64 kb of VGA memory are mapped to RAM and modes 10 and 13h are optimized to use less than 64 kb to control the screen. This means that on VGA cards with 256kb of RAM or 512kb most of the video ram is unused?
Is it possible to write a kind of frame buffer that uses page flipping and VGA X mode? X mode will reduce the usable memory to 185 kb, but that still seems plenty.
Below is what I am reading:
Performance Gains
Page flipping and Mode X are used together to overcome two major performance bottlenecks of the VGA card:
A. Eliminating Screen Tearing (Page Flipping)
Mode X is the first VGA mode that allows hardware-based page flipping, which is critical for smooth animation. Mode 13h (the standard 320×200 mode) does not allow it, resulting in noticeable screen tearing during animation.
B. Accelerated Drawing (Mode X)
Mode X's unchained planar access allows the CPU to write data to all four memory planes simultaneously. This means a single CPU write operation can affect four bytes of VRAM, effectively quadrupling the VRAM write bandwidth for operations like clearing the screen or copying large sprites (blitting), which is highly beneficial for a frame buffer approach.
- Lingua principale
- C
- Stelle
- 864
- Fork
- 114
- Merge medio
- 1g 4h
- PR unite (30g)
- 3
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ghaerr/microwindows
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ghaerr/microwindows#182 · 1 commento ·
-
Running in no mmu linux ?Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
ghaerr/microwindows#166 · 22 commenti ·
-
nxterm arrow keys problemAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ghaerr/microwindows#164 · 7 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
ghaerr/microwindows#162 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
ghaerr/microwindows#161 · 2 commenti ·
Tutte le issue di ghaerr/microwindows
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dfa1/rocksdb-ffm#292 ·
I maintainer di solito rispondono entro 1 giorno
-
SPIDevice selects an active-high device as soon as it is createdForse già presa @mikeysklar l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
adafruit/circuitpython#11869 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
gnif/LookingGlass#1352 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno