Re: Data Becker CBM-8000 hi-res graphics

From: David Holz <david.holz_at_grindwork.com>
Date: Tue, 5 Sep 2017 06:45:55 -0700
Message-ID: <650edaa2-de9f-d96f-9424-4e6b9fa96d9b@grindwork.com>
On 09/05/2017 06:06 AM, Anders Carlsson wrote:
>
> .eq P_BB24 = $BB24
> No match, but $BB23 is the entry point to OUTSTR, print string pointed
> to by (INDEX1) of length (A).

The first instruction of OUTSTR is a TAX.  The DB code does LDX for
length first before using this routine.  I guess it saves them 2 cycles
per call.

> .eq P_CD0D = $CD0D
> No match, but $CD0A is the entry point to MOVMF, store (FAC) into
> location pointed to by (X/Y).

CD0A calls ROUND first, so CD0D would skip that.

> .eq P_D534 = $D534
> Not found
>
lda #$0d
jmp $f266 ;CHROUT

> .eq P_E015 = $E015
clears the screen

> .eq P_E018 = $E018
> .eq P_E01B = $E01B
> Not found
Initializes the CRTC, first one with $2ae7 & 0e, the 2nd with $3ce7 &
0c.  Probably 40 vs 80 column initialization routines?

> .eq P_F143 = $F143
writes .A to the IEEE bus?

> .eq P_F1D9 = $F1D9
> Not found

This lands at the e8 (inx) of a bit $e840, bmi... in the middle of the
unlisten kernal routine.  The only jsr to this address is immediately
between a jsr CLRCH and jsr NOPEN.  This is looking at BASIC 4, but it
doesn't make any more sense in the other versions.


       Message was sent through the cbm-hackers mailing list
Received on 2017-09-05 14:01:09

Archive generated by hypermail 2.2.0.