[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