[Coco] DLOAD

jdaggett at gate.net jdaggett at gate.net
Tue Mar 21 19:10:12 EST 2006


On 21 Mar 2006 at 16:23, Roger Taylor wrote:

> I'm trying to figure out if it's possible to enable the DLOAD comnmand on
> the CoCo 3.  I realize that the ROMs are running from "All-RAM" mode and
> that DLOAD is normally overwritten, but when I switch to ROM mode (POKE
> 65502,0) DLOAD still does a warm boot or reset.
> 
> Has anybody experimented with this?  I'm going to dig into the ROM source
> tonight and see what's happening.
*****

Roger

>From what I have gleen from the Unraveled Series, the ROM code is altered and 
now contains this code instead of the DLOAD code.

* DLOAD COMMAND			
8C18  DLOAD  		JSR  LA429		CLOSE FILES
										
* PRESSING THE RESET WILL BRING YOU HERE			
8C1B  INT.RSET	ORCC	#$50		DISABLE IRQ, FIRQ INTERRUPTS
8C1D			LDA	#MC3+MC1	32K INTERNAL ROM, MMU DISABLED, 
NON COCO COMPATIBLE
8C1F			STA	INIT0	
8C22			CLR	SAM+$1E	
8C25			JMP	$C000	
* FIRQ SERVICING ROUTINE ADDITIONS			
8C28			CLR	INT.FLAG	SET THE INTERRUPT FLAG TO NOT 
VALID
8C2B			CLR	PIA1+3		DISABLE PIA 1. PORT B INTERRUPTS
* NON SELF-STARTING ROM CARTRIDGE INITIALIZATION CODE			
8C2E			LDA	#COCO+MMUEN+MC3+MC2	ENABLE MMU, 16K 
INTERNAL/16K EXTERNAL ROM
8C30			STA	INIT0		ALSO ENABLE STANDARD SCS, 
CONSTANT RAM AT FE00
8C33			CLR	SAM+$1E	FORCE THE ROM MODE
8C36			RTS		
* PUT A CHARACTER ON THE SCREEN PATCH	PATCH22A			
8C37	L8C37		PSHS	A,B,X		SAVE REGISTERS
8C39			LDX	CURPOS	POINT X TO THE CURRENT CHARACTER POSITION
8C3B			LDB	HRWIDTH	GET THE HI-RES TEXT MODE
8C3D			LBNE	$F7AE		BRANCH IF IN A HI-RES TEXT MODE (ALINK22)
8C41	L8C41		LDB	1,S		RESTORE ACCB TO ITS FORMER GLORY
8C43			JMP	LA30E		GO BACK TO THE NON HI-RES CHARACTER DISPLAY ROUTINE
											
* CLS PATCH	PATCH23A			
8C46	L8C46		PSHS	CC		SAVE THE ZERO FLAG
8C48			TST	HRWIDTH	CHECK THE HI-RES TEXT MODE
8C4A			BEQ	L8C4F		BRANCH IF NOT IN A HI-RES TEXT MODE
8C4C			JMP	$F6AD		GO DO A HI-RES CLS (ALINK23)
8C4F	L8C4F		PULS	CC		RESTORE THE ZERO FLAG
8C51			JMP	LA913		GO DO A NON HI-RES CLS
8C54			NOP		

The old DLOAD code that occupied this space would have to be plugged in or the  
old DLOAD code moved to another place and the Token jump table altered to point 
to the new location for DLOAD. 

james



More information about the Coco mailing list