[Coco] Graphics on NitrOS9 Level 1 v3.3.0 (CoCo 1)
L. Curtis Boyle
curtisboyle at sasktel.net
Tue Feb 6 18:47:45 EST 2018
I think you are correct - I sent David a possible patch to try.
L. Curtis Boyle
curtisboyle at sasktel.net
> On Feb 6, 2018, at 5:45 PM, Arthur Flexser <flexser at fiu.edu> wrote:
>
> I'm not an OS-9 user, but I can tell a certain amount from the code and the
> comments/labels.
>
> It appears that the routine is supposed to be entered with one of the bits
> of A set, and with B equal to zero.
>
> The routine determines which particular address from a table of 2-byte
> addresses is to be used. If bit n of A (n = 0 to 7) is set on entry, then
> the loop will execute n+1 times and exit with 2 x n in the B register.
> That number will be used as an offset from the start of the table of 2-byte
> addresses.
>
> One plausible guess for the source of the bug is that instead of B being
> set to zero prior to entering the loop, A got set to zero instead, causing
> the loop never to exit since the set bit of A that is being searched for
> does not exist. So you might look and see if there is a CLRA shortly
> before the loop that is supposed to be CLRB.
>
> Art
>
>
> On Tue, Feb 6, 2018 at 6:00 PM, David Ladd <davidwladd at gmail.com> wrote:
>
>> Rogelio,
>>
>> So using MAME's debugger I was able to find that where we think it gets
>> locked up is actually it is stuck in a loop that it never gets out of.
>> After doing some digging through GrfDrv and VTIO for level1 I did find the
>> only routine that matched the routine it is forever locked in a loop is in
>> VTIO
>>
>> Here is the code
>> {code}
>> AddrFind
>> bita #$01 ; Done all shifts ?
>> bne AddrDone
>> addb #$2 ; increment addr offset ptr
>> lsra
>> bra AddrFind ; Test again
>> AddrDone
>> {code}
>>
>> So from what MAME is showing me A register is always 0. So hopefully
>> someone more versed in 6809 assembly and the VTIO for level1 could possible
>> look into this that understands how this routine should be working.
>>
>>
>> +-----------------------------------------------------------------------+
>> | David Ladd a.k.a. PacoOtaktay a.k.a. Drencor |
>> | YouTube: http://www.youtube.com/user/PacoOtaktay |
>> | YouTube Gaming Live: https://gaming.youtube.com/user/PacoOtaktay/live |
>> | Websites: http://dwladd.com & http://www.theterrorzone.com |
>> | G+: https://plus.google.com/113262444659438038657 |
>> | G+: https://plus.google.com/+DavidLaddPacoOtaktay |
>> | |
>> | Do you have your CoCo 3 yet? |
>> +-----------------------------------------------------------------------+
>>
>>
>> On Mon, Feb 5, 2018 at 10:12 AM, Rogelio Perea <os9dude at gmail.com> wrote:
>>
>>> On Mon Feb 5 2018, David Ladd wrote:
>>>
>>> So after some looking at NitrOS-9 L1 it does seem there is a issue with
>>>> VTIO and possible GrfDrv as well.
>>>>
>>>> So far VTIO does not seem to automatically load GrfDrv as it should.
>> If
>>>> you merge GrfDrv in the OS9Boot file on startup so it is in memory then
>>>> when VTIO tries to call GrfDrv the system locks up.
>>>>
>>>> Graphics display codes that start with $15 to $1F are directed to go
>>>> through GrfDrv. Which this functionality seems to be currently
>> broken...
>>>>
>>>
>>> Thanks for the reply and the tech insight David, will take care of
>>> reporting suspected bugs at the Sourceforge page as noted.
>>>
>>>
>>> -- RP
>>>
>>> --
>>> Coco mailing list
>>> Coco at maltedmedia.com
>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>
More information about the Coco
mailing list