[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Color fringe hires behavior



"Henry" <apl2research(.a.t.)comcast.net> wrote in message 
RYydnWIyF9i3N8XYnZ2dnUVZ_oidnZ2d@comcast.com">news:RYydnWIyF9i3N8XYnZ2dnUVZ_oidnZ2d@comcast.com...
> Hey guys.
>
>> Yeah, I got that part -- but that doesn't quite cut it.  If the hi-bit
>> is set on one byte, but not the byte next to it, then only a half-pixel
>> is shown.  So there's more to it than just simple bit expansion.  At
>> byte boundaries when the hi-bit goes from hi to low, pixels get cut in
>> half.  So I'm trying to find the best logical representation of that
>> behavior, hence represent (or "explain") the behavior algorithmically.
>
> Uh-oh.  I think I see where we're going with this question. ;-)
>
> Let me ask this, is there an emulator that has reproduced the color fringe 
> behavior perfectly/correctly?  I'm not that familiar with emulators so 
> please excuse the ignorance if this is well known.  At least I've never 
> taken the time to compare screenshots side be side, pixel by pixel.
>
> I also noticed the XRGB-3 Box is Firmware upgradeable: 
> http://www.ncsx.com/2006/071706/xrgb3_upscan_converter.htm.  I wonder if 
> it's open source or user modifiable?

Hello,

    You can still use HGR command to draw in DHGR screen.  Look at Applesoft 
BASIC code below.

]PR#3
]POKE 49246,0 : REM TURN ON DHGR ($C05E)

]10 POKE 49153,0: POKE 49237,0: REM SELECT $C001 TO WRITE IN AUX BANK AND 
PAGE 2
]20 HGR : REM CLEAR IN AUX BANK
]30 HCOLOR = 3: REM USE IT SO YOU WANT TO DRAW ONE LINE AT THIS TIME TO 
CREATE ONE OF 16 COLORS
]40 HPLOT 0,0 TO 0,100
]50 HPLOT 1,0 TO 1,100
]60 HPLOT 2,0 TO 2,100
]70 POKE 49152,0: POKE 49236,0: REM SELECT $C000 TO WRITE IN MAIN BANK AND 
PAGE 1
]80 HGR : REM CLEAR IN MAIN BANK
]90 HCOLOR = 3
]100 HPLOT 0,0 TO 0,100
]110 HPLOT 1,0 TO 1,100
]120 HPLOT 2,0 TO 2,100

    It is ideal to write a routine using HPLOT to draw in aux bank and main 
bank at the same time back and forth.  Vertical line is like four bits. 
First vertical line is deep red.  First and second vertical lines are dark 
blue.  First, Second, Third vertical line is light blue.  First and fourth 
vertical line is orange.  Do the same in the rest of 16 colors.
    It is important to select only HCOLOR=3 when you want to draw one line 
in even and/or odd at this time so they can join together to form one of 16 
colors.

    I hope this helps.  Please reminds that it can be slow, but it is ideal 
for beginner.

Bryan Parkoff