[Coco] Assembly GIME programming...
jdaggett at gate.net
jdaggett at gate.net
Mon Jan 23 15:11:41 EST 2006
You also have to program addresses:
$FF98 $03
$FF99 $15
$FF9A $12
$FF9B $00
$FF9C $00
$FF9D $D8
$FF9E $00
$FF9F $00
FF9D and FF9E tells the GIME chip where the bottom of video ram is, $6C000. This should
get you the High Res text screen of 80 columns. The Width 80 command does the above
programming of the GIME registers and also programs $FF90 first.
LDX #LE044 POINT TO THE 80 COLUMN VIDEO MODE REGISTER TABLE
BRA SETVIDEO
* INITIAL VIDEO CONTROL REGISTER DATA FOR 80 COLUMN HI-RES MODE
LE044 FCB MMUEN+MC3+MC2 FF90
LE045 FCB $03,$15,$12,$00,$00,$D8 FF98
FCB $00,$00
* PROGRAM INIT0 AND THE 8 VIDEO MODE REGISTERS
* ENTER WITH X POINTING TO THE DATA TO PUT INTO THE REGISTERS
SETVIDEO LDA ,X+ GET THE FIRST BYTE
STA INIT0 AND PUT IT INTO INIT0
LDY #VIDEOREG POINT TO THE VIDEO MODE REGISTERS
LE08B LDA ,X+ GET A BYTE
STA ,Y+ AND STICK IT INTO THE VIDEO MODE REGISTER
CMPY #MMUREG END OF THE VIDEO MODE REGISTERS?
BCS LE08B NO - KEEP STUFFING REGISTERS
PULS A,X,Y,PC
james
On 23 Jan 2006 at 10:57, Robert Gault wrote:
Date sent: Mon, 23 Jan 2006 10:57:41 -0500
From: Robert Gault <robert.gault at worldnet.att.net>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Subject: Re: [Coco] Assembly GIME programming...
Send reply to: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
<mailto:coco-request at maltedmedia.com?subject=unsubscribe>
<mailto:coco-request at maltedmedia.com?subject=subscribe>
> The high resolution text screen is located at $6C000-$6E000 if created
> by the Coco ROMs. If that is the region you want to access, first decide
> where in your 64K of RAM you want it to appear, use the appropriate MMU
> registers for that RAM region, make sure that $FF90 is set for Coco3
> mode and the MMU is enabled, and make sure that the IRQs are off when
> moving around memory until it is reset.
>
> Roger Merchberger wrote:
>
> > Does anyone here know how to program the GIME from Assembly *without*
> > using ROM routines?
> >
> > Right now, I have 2 proggies:
> >
> > 1) Uses the ROM routine to pop in 80-column mode, I can map in $6C000
> > -$6DFFF into the $4000-$5FFF bank, and put text on the screen...
> >
> > 2) I have a program that can create 80-column mode without using the ROM
> > routine, but the video memory isn't set where it should be; as a matter
> > of fact, by default it *looks* like it may be set to $70000 as I can see
> > some text from the 32x16 screen displayed on the 80-column screen, and 2
> > characters were "rolling" on their own like it might've been a BASIC
> > counter memory location [[ TIMER ?? ]] continuously incrementing.
> >
> > I thought I saw *somewhere* how to program the GIME to set the start of
> > 80-column video memory, but either I was hallucinating or I can't place
> > it right now.
> >
> > Anyone have any pointers, code samples, websites, etc. that might help
> > me out?
> >
> > Thanks,
> > Roger "Merch" Merchberger
> >
> > --
> > Roger "Merch" Merchberger | "Profile, don't speculate."
> > SysAdmin, Iceberg Computers | Daniel J. Bernstein
> > zmerch at 30below.com |
> >
> >
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
More information about the Coco
mailing list