First post, by vladstamate
- Rank
- Oldbie
Hi,
I am having a problem fully understanding when should I deal with chained mode vs odd/even plane mode in VGA emulation.
The memory mode register (port 3C5h index 4) controls this.
Looking at this (ftp://ftp.apple.asimov.net/pub/apple_II/docum … 20Registers.pdf) and this (http://www.osdever.net/FreeVGA/vga/seqreg.htm) I do not understand the difference between bits 2 and 3. They both seem to do the same thing yet I see in some games they are not set the same. For example in Eye of the Beholder I see them both set but for Wolfenstein 3D I see only bit 2 set and not 3.
(BTW there is a mistake on osdever in that they got the A0 and A1 switched)
============
Chain 4 -- Chain 4 Enable
"This bit controls the map selected during system read operations. When set to 0, this bit enables system addresses to sequentially access data within a bit map by using the Map Mask register. When setto 1, this bit causes the two low-order bits to select the map accessed as shown below.
Address Bits
A0 A1 Map Selected
0 0 0
0 1 1
1 0 2
1 1 3"
O/E Dis. -- Odd/Even Host Memory Write Adressing Disable
"When this bit is set to 0, even system addresses access maps 0 and 2, while odd system addresses access maps 1 and 3. When this bit is set to 1, system addresses sequentially access data within a bit map, and the maps are accessed according to the value in the Map Mask register (index 0x02)."
===========
Why do VGA cards provide 2 bits to accomplish the same thing?
Regards,
Vlad.
YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/