[Coco] Wolfenstein 3-D on a 4.77mhz 8088? So, 6809 port, anyone?
Luis Antoniosi (CoCoDemus)
retrocanada76 at gmail.com
Tue Apr 23 23:50:36 EDT 2013
Hey Steve,
But for 6309 and using a wide pixel (2 pixel with same color) we can have
some improvement.
all coco2 games uses 2 pixels per color anyway ;)
On Wed, Apr 24, 2013 at 12:40 AM, Steve Bjork <6809er at srbsoftware.com>wrote:
> Al,
>
> The 6809 is only has an 8-bit ALU but the 8088 has 16-bit ALU. Math is
> more limited on the 6809 because the lack of the DIV instruction. The 8088
> also had block memory move instructions. Add the fact that most IBM system
> came with hardware DMA for fast memory moves, the CoCo just can't keep up.
>
> But most of all, the 256 color mode used a byte of memory for each dot on
> the screen. This makes for fast graphics on the screen.
>
> In the case of the CoCo, to update just one dot on the screen needs 4
> instructions just to write one screen byte. The following is used to draw a
> screen object.
>
> WriteDots:
> ldb ,u+ ;Get number of bytes to update in this line
> Loop:
>
> lda ,x ;get screen memory
> anda ,u+ ;mask data so the right dot(s) are reset to zero
> ora ,u+ ;mix in the new dot(s)
> sta ,x+ ;Write to screen memory.
>
> decb
> bne ;Loop till line is done.
>
> ldb ,u+ ;get Skip fact to start of next line
> beq Endloop ;Exit drawing this object if no skip factor
> abx ;Add skip factor to screen memory pointer
> bra WriteDots ;loop back to write next line.
>
> The above code uses two bytes of data for each screen byte. The first
> byte reset the bits of the dot to change so the new dots can be mix by the
> "or" instruction. This "and "or" system changes only the dots that you
> want since 2 to 8 dots share a byte of screen memory. (Depending of the
> graphics mode.) Each row of data has a counter byte at the beginning and
> the last byte of data is a "skip" byte that is added to the screen pointer
> to move to the start of the next line on the screen. If the "skip" byte is
> zero then is the end of drawing the object.
>
> By the way, the 256 color mode of the PC used 256 color registers. Each
> color register was 1 of 65,000 or 24,000,000 colors. (16-bit and 24 bit.)
> As you can see, the 256 color mode is not just about having 256 colors on
> the screen but have the 256 color registers with a palette of millions of
> colors.
>
> Steve
>
> On 4/23/2013 4:50 PM, Allen Huffman wrote:
>
>> I just found a video showing Wolfenstein 3-D running on an 8086 at
>> 4.77mhz. How does the CoCo processor stack up against that?
>>
>> It plays VERY slowly, but...
>>
>> http://www.youtube.com/watch?**v=5f7gW5X24ao<http://www.youtube.com/watch?v=5f7gW5X24ao>
>>
>>
>> -
>> Allen Huffman - PO Box 22031 - Clive IA 50325 - 515-999-0227 (vmail/TXT
>> only)
>>
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/**mailman/listinfo/coco<http://five.pairlist.net/mailman/listinfo/coco>
>
--
Long live the CoCo
More information about the Coco
mailing list