VOGONS

Common searches


First post, by lucky7456969

User metadata
Rank Oldbie
Rank
Oldbie

I ldgfxrom avance logic's bios, then install windows 3.1 driver for that card.
I would get this screen.
Just for personal favour, how do I change dosbox in order to make this card to work. Like what registers to change, sync frequencies etc
Can you point out what things I need to change? I have the avance logic's specification!
Thanks
Jack

Attachments

  • Filename
    krnl386_001.png
    File size
    44.58 KiB
    Downloads
    52 downloads
    File license
    Fair use/fair dealing exception

Reply 1 of 4, by lucky7456969

User metadata
Rank Oldbie
Rank
Oldbie

Avance Logic ALG Graphics Accelerator

The ALG chips are VGA controllers with built in graphics coprocessor (COP).
The ALG chips only works in AT and better systems as they uses 16 bit I/O
addresses.

ALG2101 160pin 2Mb, 1280x1024x256c, 800x600x64k
ALG2201 160pin As 2101, but supports 24bit color
ALG2228 160pin 2MB, 1280x1024x256c, 1024x768x32k/64k, 800x600x16m
ALG2301 160pin PCI version of ALG2228
ALG2302
ALG2064 64bit memory bus, integrates 24bit DAC & dual clock generator and
on-chip 32K ROM

Support chips:

ALG1101 16bit DAC, controlled via I/O pin
ALG1201 15/16/24bit DAC
ALG1301 As 1201, but with video functions
ALG3102 Clock chip. Supplies 50.35, 56.6, 44.6, 72.2, 74.9, 65.1, 84.7,
79.4, 25.175, 28.3, 44.6, 36.1, 57.1, 63.3, 49.9, 39.7

3C0h index 15h (R/W): Cursor Foreground
bit 0-7 The HW cursor foreground color

3C0h index 16h (R/W): Cursor Background
bit 0-7 The HW cursor background color
Note: When updating index 15h and 16h it may be necessary to explicitly
preserve index 11h and 12h.

3CEh index 09h (R/W): Planar Pixel Index Register
bit 0-2 Planar Pixel Index. Selects the pixel within the CPU Latch to be
read at 3CEh index 0Ah.

3CEh index 0Ah (R/W): Planar Pixel Register
bit 0-3 Planar Pixel Data. A planar pixel can be read by:
Reading the video memory address containing the pixel, thus
loading the CPU latches.
Setting index 9 to the pixel number (0-7) within the byte.
Reading this register.

3CEh index 0Bh (R/W): Extended Function Register 1
bit 0-1 Video Clock Division Control. Divides the video clock by:
(2101) 0: pass through, 1: 1.5, 2: 2, 3: 4
(2228) 0: pass through, 1: 2, 2: 4, 3: 4
2 DRAM Clock Select. If set the DRAM clock is selected from the video
clocks, if clear from SCLK. Only valid if 3CEh index 0Ch bit 6 is
set.
3-5 ??
6-7 DRAM Clock Division Control. Divides the DRAM clock by:
0: pass through, 1: 1.5, 2: 2, 3: 4

3CEh index 0Ch (R/W): Extended Function Register 2
bit 0 Vertical Retrace Interrupt Polarity Control. If set the Vertical
Retrace Interrupt is active low, if clear active high.
1 16-bit Video Memory Access Enable. Set if access to video memory is
8bit, clear if 16bit.
2 16-bit BIOS ROM Access Enable. Set if access to the BIOS ROM is
8bit, clear if 16bit.
3 Building Character. If set enables patterned writes where the CPU
data is interpreted as a pattern (Color Expansion). 8 pixels are
written at a time. '1' bits in the pattern cause the pixel to be set
to the foreground color (3CEh index 0Dh) and '0' bits the background
color (3CEh index 0Eh).
4 8Maps Enable. (Packed modes only) If set 8maps are chained together
rather than the normal 4 (Chain4). If set the Display Start Address
(3d4h index Ch-Dh + 20h) and the Offset (3D4h index 13h) are in
units of 8 bytes. If clear in units of 4 bytes and the pixels are
doubled on the screen (Mode 13h).
5 Clock Select 2. Bits 0-1 are in 3C2h/3CCh bits 2-3
6 SCLK Selection Enable. If set enables 3CEh index 0Bh bit 2
7 If set turns display off ?

3CEh index 0Dh (R/W): Foreground Color Register
bit 0-7 Used as foreground color in Color Expansion and fill color by the
Coprocessor. In planar modes only bits 0-3 are used.

3CEh index 0Eh (R(W): Background Color Register
bit 0-7 Used as foreground color in Color Expansion and by the Coprocessor.
In planar modes only bits 0-3 are used.

3CEh index 0Fh (R/W): Extended Function Register 3
bit 0 Polarity Control of CPU Latch Output to Function Block. If set the
output from the CPU Latch is inverted.
1 Polarity Control of Function Block output to Bit Mask Block. If set
the output from the Function Block is inverted
2 Set to enable the Read bank.
3 Address Mapping Control. If set 1MB of video memory can be mapped to
any 1MB bank in the first 16MB ?
4 ??
5 (2201 +)
6-7 ??

3CEh index 10h (R/W): (2201+)
bit 0-7 ??

3CEh index 11h (R/W): (2201+)
bit 0-7 ??

3CEh index 1Fh (R/W): Character ROM Extended Address Register (2101)
bit 0-1 ??
2 (2101 only) Clock Select 3. Bits 0-1 are in 3C2h/3CCh bits 2-3 and
bit 2 in 3CEh index 0Ch bit 6
3-7 ??

3d4h index 19h (R/W): CRTC Extended Registers 1
bit 0 Interlace Control. Set in interlaced modes. In interlaced modes the
CRTC offset (3d4h index 13h) is for two scan lines.
1 High Resolution Address Support in Chain 4 Mode. If set MA14 and
MA15 wraps around, if clear MA12 and MA13 wraps around.
Should be set enables access to video memory above 256K.
2 Clock Lock. If set disables writes to 3C2h bits 2,3,6,7.
3 CRTC Timing Lock. If set disables writes to the CRTC timing
registers.
4 New Address Scheme. If set the CRTC uses non-wrapped addresses and
shifts them 0-2 bits left depending on sequencer mode.
SEt in HiColor modes, but does not controll the DAC mode.
5 Vertical Retrace Edge Control to load line address
6 VREB4. Bit 4 of the Vertical Retrace End Register (3d4h index 11h
bits 0-3). Only valid if bit 7 set.
7 VRC4EN. If set the Vertical Retrace Register (3d4h index 11h bits
0-3) is extended with bit 6 of this register.
Note: This register can only be written when 3d4h index 1Ah bit 4 is set

3d4h index 1Ah (R/W): CRTC Extended Register 2
bit 0 6845 Emulation Mode. If set forces the CRTC to 6845 mode.
1 EGA Emulation Mode. If set emulates the IBM EGA CRTC. Causes display
to wrap at 512K ?
2 (2228) Enable hardware cursor if set
4 Protect Hardware Configuration. If clear disables writes to 3d4h
index 19h, 1Dh and 3CEh index 0Bh and 0Fh. If set enables access to
all extended registers
5 If set causes color shifts ?
6-7 (R) Version Number. 1: ALG2201, 3: ALG2101, 2: ALG2228/ALG2301

3d4h index 1Bh (R): Configuration Register 1
bits 0-7 Reserved.
2 Set for the ALG2228, clear for the ALG2201 & ALG2301 (this could
also be a bus ID (set for VESA, clear for PCI) or similar ??)

3d4h index 1Ch (R/W): Configuration Register 2
bit 0 DRAM Configuration. 0: 4 256Kx4 (512K), 1: 8/16 256Kx4
1 Data Buffer Configuration. If clear the data bus is buffered with a
74LS245 (or similar), if set it is unbuffered.
2 3C3h/46E8h Select. If set the VGA Enable Port is at 3C3h, if clear
at 46E8h.
3 BIOS ROM Access Enabled if set
4 Reserved (0=MCA bus, 1=ISA bus)?
5 ROM Type. 0: 27128 (16K) ROM, 1: 27256 (32K) ROM.
7 -MCS16 Decoding Control. If set -MCS16 is decoded from LA17-23, if
clear from SA16-19
Note: The contents of this register are latched from M02D0-7 on the falling
edge of the RESET signal.

3d4h index 1Dh (R/W): Configuration Register 3
0 Address Latch Enable. If set the address lines are latched
internally on the falling edge of ALE, if clear the internal latch
is transparent.
1 Write-per-bit. If set forces the Sequencer to support DRAM write-
per-bit operaton ?
3 Clock Select Pin Putput Enable. If set VCLK1, VCLK2 and VCLK3 are
output pins, if clear input pins.
4 Output Enable. If set enables all output pins, if clear all output
pins except -DATAENL, DIR, -DATAENH, RAS; CKS0, CKS1 and CKS2 are
tristated.
5 Slot Size Detection. Set if the slot is 16bit, clear if 8bit.
6 External Video. If set enables the P0-7, BLANK, PCLK, HSYNC and
VSYNC pins for video output, if clear tristates them.
Note: The contents of this register are latched from M1D0-7 on the falling
edge of the RESET signal.
Note: This register can only be written when 3d4h index 1Ah bit 4 is set

3d4h index 1Eh (R/W):
bit 0-1 Video memory. 0=256k, 1=512k, 2=1M, 3=2Mbytes.
6-7 Max Horizontal Frequency: 0=38kHz, 1=48kHz, 2=56kHz, 3=64kHz.

3d4h index 1Fh (R/W):
bit 0-1 Emulation. 0=VGA, 1=EGA, 2=CGA,3=MDA

3d4h index 20h (R/W):
bit 0-2 Display start address bit 16-18.
Note: if 3CEh index Ch bit 4 is set, the display start is in units of 8 bytes,
rather than 4 as in std vga.

3d4h index 21h (R/W): Cursor X position
bit 0-7 Bits 3-10 of the HW cursor X position. The lower bits are in index
25h.

3d4h index 23h (R/W): Cursor Y position
bit 0-7 Bits 1-8 of the HW cursor Y position. The upper bits are in index
25h.
Note: in non-interlaced modes (3d4h index 19h bit 0 is 0) the Y co-ordinate
should be multiplied by 2.

3d4h index 25h (R/W): Cursor control
bit 0-1 Bit 9-10 of the HW cursor Y position. The lower bits are in index
23h
2-4 Bits 0-2 of the HW cursor X position. The upper bits are in index
21h
5 If set enables the HW cursor. To preserve the stability of the
cursor, this bit should be set with each update of this register.
6 Bit 0 of the HW cursor Y position. (see note on interlace).

3d4h index 27h W(R/W): Cursor Map address
bit 0-10 The address in video memory where the HW cursor map starts.
In planar modes this address is in units of 256 bytes,
in packed modes in units of 1024 bytes.
The HW cursor is a 64x64 bitmap imposed on the display.
The cursor map is stored as a 64x64x2bit array, where each pixel is:
0: Background color (3C0h index 16h)
1: Foreground color (3C0h index 15h)
2: The screen data (transparent cursor).
3: Inverted screen data (XOR cursor)
Note: in interlaced modes the cursor is shown double height.

3d4h index 28h (R/W): Vertical Extended reg
bit 7 CRTC Offset bit 8. Bits 0-7 are in 3d4h index 13h
Note: The extensions of the CRTC registers in this register are only
active if 3d4h index 19h bit 7 is set.

3d4h index 2Ah (R/W): Horizontal Extended reg (2201 +)
bit 0 Horizontal Total bit 8. Bits 0-7 are in 3d4h index 00h
3 Horizontal Blanking ??.
4 ??
5 ??
Note: The extensions of the CRTC registers in this register are only active
if 3d4h index 19h bit 7 is set.

3D6h (R/W): Read Address Register
bit 0-4 64k Read bank number. If 3CEh index Fh bit 2 is set all reads use
this bank number, if clear all accesses use 3D7h.

3D7h (R/W): Read/Write Address Register
bit 0-4 64k Bank number. If 3CEh index Fh bit 2 is clear all accesses use
this bank number, if set writes use this bank and reads use 3D6h.

8280h W(R/W): Source address low
bit 0-15 The lower 16 bits of the pixel address of the source area.

8282h (R/W): Source address high
bit 0-7 The upper 8 bits of the pixel address of the source area.
Calculated as (line no.)*(pixels per line)+(pixel no. in line).

8284h W(R/W): Source area scanline width.
bit 0-15 The number of pixels in a scanline at the source.

8286h W(R/W): Destination address low.
bit 0-15 Lower 16 bits of the pixel address of the destination area.

8288h (R/W): Destination Address high.
bit 0-7 The upper 8 bits of the pixel address of the destination area.
Calculated as (line no.)*(pixels per line)+(pixel no. in line).

828Ah W(R/W): Destination area scanline width
bit 0-15 Number of pixels in a scanline at the destination.

828Ch W(R/W): Width of op.
bit 0-15 Width of the blit area in pixels.

828Eh W(R/W): Height of op.
bit 0-15 Number of lines in the blit area.

8290h (R/W):
bit 0-5 7 If moving towards higher co-ordinates, 1 if moving towards lower.
0 (or don't care) for line draws
6 If set drawing only happens within the rectangle defined by
8294h-9Ah.
X co-ordinate must be >= 8294h and <=8296h.
Y co-ordinate must be >= 8298h and <=829Ah.

8292h W(R/W):
bit 0-7 always 0Dh ???
8 (Line Draw) If set the final position is to the left of the start
9 (Line Draw) If set the final position is above the start
10 (Line Draw) If set (Delta X) and (Delta Y) are swapped when
calculating the Bresenham constants in 82A2h-A6h.
11 ??
12 Set if moving towards lower co-ordinates, clear if not.

8294h W(R/W): Clipping left
bit 0-15 If 8290h bit 6 is set drawing only happens if the X-co-ordinate is
>= this value

8296h W(R/W): Clipping right
bit 0-15 If 8290h bit 6 is set drawing only happens if the X-co-ordinate is
<= this value

8298h W(R/W): Clipping top
bit 0-15 If 8290h bit 6 is set drawing only happens if the Y-co-ordinate is
>= this value

829Ah W(R/W): Clipping bottom
bit 0-15 If 8290h bit 6 is set drawing only happens if the Y-co-ordinate is
<= this value

829Ch W(R/W): Start X co-ordinate
bit 0-15 Starting X co-ordinate of the destination area.

829Eh W(R/W): Start Y co-ordinate
bit 0-15 Starting Y co-ordinate of the destination area

82A0h W(R/W):
bit 0-15 Always set to 0 ??

82A2h W(R/W): Bresenham Constant 1
bit 0-15 The Bresenham Constant 1 used for line drawing
Calculated as 2*(Delta Y). If 8292h bit 10 is set 2*(Delta X) is
used.

82A4h W(R/W): Bresenham Constant 2
bit 0-15 The Bresenham Constant 2 used for line drawing
Calculated as 2*((Delta Y) - (Delta X)). If 8292h bit 10 is set
(Delta Y) and (Delta X) are swapped in the calculation.

82A6h W(R/W): Bresenham Error Term
bit 0-15 The Bresenham Error Term used for line drawing.
Calculated as 2*(Delta Y) + (Delta X). If 8292h bit 10 is set
(Delta Y) and (Delta X) are swapped in the calculation.

82A8h W(R/W):
bit 0-15 (Line draw) Pattern mask. Only the set bits are drawn.

82AAh (R/W): COP status/instruction
bit 0-3 (R) When 0 the COP is free.
0-7 (W) Graphics instruction:
1: Fill rectangle
2: Copy rectangle
4: ?
8: Line draw

82B0h

82BAh (R): Status??
bit 7 Set if busy ?

82BCh

82C0h

82C8h W(R/W):
bit

82CAh W(R/W):
82CCh W(R/W):

ID Avance Logic chip:

old:=rdinx($3d4,$1A);
clrinx($3d4,$1A,$10); {Disable extensions}
if not testinx($3d4,$19) then
begin
setinx($3d4,$1A,$10); {Enable extensions}
if testinx($3d4,$19) and testinx2($3d4,$1A,$3F) then
Avance Logic AL2101 !!
end;
wrinx($3d4,$1A,old);

Video modes:

20h T 132 25 16
21h T 132 30 16
22h T 132 43 16
23h T 132 60 16
24h T 80 30 16
25h T 80 43 16
26h T 80 60 16
27h G 960 720 16 PL4
28h G 512 512 256 P8
29h G 640 400 256 P8
2Ah G 640 480 256 P8
2Bh G 800 600 16 PL4
2Ch G 800 600 256 P8
2Dh G 768 1024 16 Pl4
2Eh G 768 1024 256 P8
2Fh G 1024 768 4
30h G 1024 768 16 PL4
31h G 1024 768 256 P8
33h G 1024 1024 256 P8
36h G 1280 1024 16 PL4
37h G 1280 1024 256 P8
40h G 320 200 64k P16
41h G 512 512 64k P16
42h G 640 400 64k P16
43h G 640 480 64k P16
44h G 800 600 64k P16
45h G 1024 768 64k P16
48h G 640 480 16m P24
49h G 800 600 16m P24

Reply 3 of 4, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Why post this in Milliways and why not add an informative subject line? This way it seems as if you don't want an answer but just want to troll...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 4 of 4, by lucky7456969

User metadata
Rank Oldbie
Rank
Oldbie

I've got all these wrong indices writes, also I reckon dosbox doesn't report wrong index reads

Attachments

  • avance index errors.png
    Filename
    avance index errors.png
    File size
    139.43 KiB
    Views
    790 views
    File license
    Fair use/fair dealing exception