Re: How to access "EXTRA" available RAM in the C-128......



If all you want is to use the memory for is buffer space, storage, cache,
etc, then you can leave the VDC uninitialized, except for setting register
28 to 1 (I think) to enable 64K RAM, and register 35 to 6 or so (less is
better, but too small causes RAM-to-screen bandwidth issues).

Once you've done that, transferring data in and out of RAM is not too
painful. Just set register 18 (MSB) and 19 (LSB) to the address you want
to start reading or writing at, and then repeatedly read or write register
31 as though you were receiving or sending a block of data across a
parallel port, while letting the VDC auto-increment registers 18 and 19.

If you want to display something useful with the 80 column chip, you'll have
to initialize most of the other registers. Easiest way to do that would be
to boot the C128 into C128 mode and use a simple loop to dump all the
registers to a text file. You can ignore the values returned for registers
14 and 15 (cursor location), 16 and 17 (light pen), 18 and 19 (RAM address
control), 30 (block copy length), and 31 (RAM data port).

Then add a routine to your program that will write all the values you read
(minus the ignored ones above) back to their appropriate registers using a
simple loop, and a second one that will upload a couple of character sets
into RAM using registers 18, 19 and 31 as described above.

The default location within VDC RAM for the screen is $0000-$07FF (registers
12 and 13), the color map defaults to $0800-$0FFF (registers 20 and 21),
and the character sets are $2000-$3FFF (register 28, bits 7-5).

--
"Life is full of happy and sad events. If you take the time
to concentrate on the former, you'll get further in life."
Vanessa Ezekowitz <vanDEesLEsaeTEzekTHowiIStz@xxxxxxxxx>
("DELETE THIS" to email me :-) )
.



Relevant Pages

  • Re: How to access "EXTRA" available RAM in the C-128......
    ... Writing to and reading the RAM? ... the VDC, so you have to ask its registers to pass the data for you. ... Those ports don't contain any RAM, of course, so are you talking about RAM ...
    (comp.sys.cbm)
  • Re: How to access "EXTRA" available RAM in the C-128......
    ... Writing to and reading the RAM? ... the VDC, so you have to ask its registers to pass the data for you. ... Those ports don't contain any RAM, of course, so are you talking about RAM ...
    (comp.sys.cbm)
  • Re: Branded memory from ebuyer
    ... >> registered RAM? ... > the memory stick that contain registers. ... II chipsets such as the 440BX, and was true 'buffering' for speed or ... other reasons. ...
    (uk.comp.vendors)
  • Re: The Linear Address Space
    ... There is an I/O Address Space and the Address Space described in the IA-32 ... Alot of registers for other devices are included here too. ... When a packet of data is sent to RAM, it exists in the Virtual Address ... Is this where paging is needed? ...
    (comp.lang.asm.x86)
  • Re: Geriatric Pentium
    ... processor scavenging spare ram cycles to back it up to ram and restore ... Let's say I had hardware for 128 registers. ... instituted a squirrel cage circular buffer of hardware registers. ... Ditto for caching the stack. ...
    (comp.lang.java.advocacy)