Login
Search for:


Previous | Next

From: indi (all posts)
Date: 1999-02-04
Subject: Re: EPROM
On Wed, 3 Feb 1999 10:47:07 +1030 , you wrote:

>I could not find anything on auto-running ROMs, although that section does
>contain some very valuable information for the Plus/4, so Thanks!

Heres the info I was meaning....

ROM Paging The Plus/4 can have 8 ROM's, 4 high and 4 low. The low ROM's run from
$8000 to $BFFF, and the high from $C000 to $FFFF. The ROMs can be paged out compleatly by using the ROM and RAM select registers located at $FF3E and $FF3F respectively. Writing to $FF3F switch's out the ROM's and writing to $FF3E switches them back in. Commodore's Basic V3.5 is able to get over 60k of memory free by switching the ROM's in and out. Basic achieves this by transfering some of its ROM down into RAM. From address $0373 to address $04E6 you'll find various routines for banking out the ROM's to read the RAM underneath. The TED Chip is however not paged out.

To select one of the 8 ROM's (Basic, and the Kernal being 2 of them),
you write to locations $FDD0 to $FDDF The lower 2 bits are used to select the low ROM's, and bits 2 and 3 are used to select the high ROM's. To Select the Basic and kernal ROM's(numbers 0 and 4), you write to location $FDD0. This enables ROM number 0 and 4 (both 2 bit combos are 0). To enable the 3-Plus-1 built in ROM's, you would write to location $FDD5 to enable bit pattern %0101, or ROM number 1 and 5.
When you are paging ROM's, locations $FC00 to $FCFF remain unpaged.
This is where the kernal does its "Check 8-rom" routine. From memory locations $FC1E to $FCFF, are taken up with ROM banking routines.




If you look at the kernal routine at $fc1e you'll notuce it checks for
$43 $42 $4d at locations $8007 and if found it jumps to $8000. Its here can set up a KEY to jump to your rom routine. If you check minus4
and trace a bit you should find out all you need.

The 3-Plus-1 kernal routine copies some data into the function key area and also a start up section allowing you to run your program.

Hope this helps a bit better.. Guess I better update my web page. :-)

Mike
^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^
Mike Dailly mike@scotch.demon.co.uk http://www.scotch.demon.co.uk
(Please remove the <REMOVE_ME> from my e-mail address when replying)

Copyright © Plus/4 World Team, 2001-2024