How To

Are there any restrictions to using $F000 through $FDFF?


nathanielbabiak 2020-12-03 03:55 (Edited)

What are the restrictions to using the 3.5 kB block of memory at $F000 through $FDFF?

(Asking because the manual doesn't specify.)

I'm trying to avoid making any more cross-platform development tools (I feel like using the power of the PC is major cheating and it makes it not fun for me). I want to do everything within LowRes NX (except for the BMP file converter I just uploaded).

I'm obviously OK with minor cheating (that makes it fun) by using all of these, but only in this order...


was8bit 2020-12-03 05:18 (Edited)

Clever use of memory :)

My best guess is that any unspecified memory is most likely left in reserve for any unforseen updates in the future, so prolly best not to plan on using them... would require rewrites if they get used for something in the future..

Timo can best answer, as there are a few things behind the scenes not spelled out in the manual (like file#0)

Timo 2020-12-03 07:22

POKE in this area is not possible, but PEEK is.
I’m not sure now, there might be a bug allowing you to LOAD data into it, but I would fix this.
There should not be any chip connected to these addresses.

Timo 2020-12-03 07:24

File #0 is described in the manual in the chapter “Standard ROM Entries”

was8bit 2020-12-03 10:04

Ah, i missed that in the manual for rom#0.... thanks for pointing that out :)

nathanielbabiak 2020-12-03 12:22

Asked and answered then - thanks!

I assume this also applies to the other 512 bytes from $FE00 to $FFFF, correct?

Timo 2020-12-03 13:01

Well from $FE00 to $FFFF you have registers. You can use them, but things will happen ;)

nathanielbabiak 2021-04-20 03:05

Hi Timo,

I have another odd question for you on this topic... Is the 3.5 kB block of RAM at $F000 reliably set to all zeros?

I have an idea for (yet another) display library, and it would be super helpful to rely on this range of memory being set to all zeros, rather than allocating some other (more writable) RAM for this purpose.

nathanielbabiak 2021-04-20 03:08 (Edited)

I figure it's supposed to mimick actual hardware RAM, so it should be set to all zeros at system start up. (Actually, I've also inferred all of LowRes NX's RAM is set to zeros at startup except ROM 0 and the characters 192-255.)

But, given that LowRes NX is software not hardware I figured it better to ask then assume.

nathanielbabiak 2021-04-20 08:09

Disregard - just realized the FILL command exists

Timo 2021-04-20 11:14

All unused addresses should return 0 on PEEK. Or throw an error, not sure now...

nathanielbabiak 2021-04-20 13:44

I was actually thinking of using something like COPY $F0000, 1024 TO D, but the FILL command will be even clearer - it's a moot point now I suppose :-)

Log in to reply.