How To

Loading A Character File…


Anywhere Games 2022-06-17 20:53

How would one load a character file that isn’t the Main Characters?

McPepic 2022-06-17 23:53

"COPY ROM(4),SIZE(4) TO $8000" Directly from the manual. Just store your characters in the ROM file you want and run this command. It will replace all the characters that are currently loaded in. If you want, you can even use the COPY command to load in individual characters into character memory (which starts at hexadecimal address 8000).

was8bit 2022-06-18 06:18

Just remember, your game can only use ONE character file at a time.. it is NOT possible to have more than 255 characters at a time...

Anywhere Games 2022-07-04 21:39

If I have 2 Character files, One has a font on page 4, but the other has sprites on said page It won’t screw up the font page as long as I have a Character from the 2nd File replace something not on page 4 in the Main Characters file, or will it?

was8bit 2022-07-05 01:07

NX, by default, will always pull fonts from page 4 of character memory... by default, NX loads a secret font set to page 4 at startup... its secret in that it hides it from view... as newbies often wont get to page 4, then is quietly provides a default font for newbies to use....

Regardless of where the font set comes from, IF you want to use PRINT, NUMBER, etc. you either leave page 4 alone, you overwrite page 4 with your own fonts, OR you choose another page for NX to look for fonts with the FONT command...

was8bit 2022-07-05 01:09 (Edited)

Remember that when NX is running a game, it will only use what it has in memory (see memory chart)..

Now, you can copy data from file, or manually create data, and POKE or COPY it into its memory, effectively changing the data NX uses....

was8bit 2022-07-05 01:18

Think of it like this... lowresNX emulates a handheld device... it has a set of memory chips it access and uses to run its video, speaker, etc...

Memory Map

$0000 - Cartridge ROM (32 KB)

$8000 - Character Data (4 KB)
$9000 - BG0 Data (2 KB)
$9800 - BG1 Data (2 KB)

$A000 - Working RAM (16 KB)

$E000 - Persistent RAM (4 KB)

$FE00 - Sprite Registers (256 B)
$FF00 - Color Registers (32 B)
$FF20 - Video Registers
$FF40 - Audio Registers
$FF70 - I/O Registers

$8000 block is reserved to handle all graphics a game may need..

... you CAN alter or reload some or all if this data... however, at any one moment, NX will always use only whats in the $8000 block for its graphics at that time...

was8bit 2022-07-05 01:20

Block $9000 doesnt hold actual graphics... rather, it holds addresses pointing to the graphics block$8000 so it can use those as tiles for the background layout...

was8bit 2022-07-05 01:22

Using PRINT or NUMBER will overwrite portions of BG data... only SPRITES can use graphics without overwriting BG data

Anywhere Games 2022-07-05 20:51

How does one use a different Palette file on start instead of the main palette file?

McPepic 2022-07-05 21:23


Where X is the ROM index that you want to load. Address $FF00 is where the color data is stored (the palettes).

was8bit 2022-07-05 22:22

It is also possible to change individual colors with code during the game with PALETTE command

... the method McPepic game is probably more preferable though... it will be easier and more convenient...

Doing whole file replacements is great for scene changes, allowing for a character and palette file for one scene, and another character and palette file for another scene...

Anywhere Games 2022-07-06 18:10

What’s the 32 for! Thank you for always taking the time to help me out it means a lot.

Anywhere Games 2022-07-06 18:10


McPepic 2022-07-06 20:48

The 32 is the amount of bytes you want to copy. If you view the manual and scroll all the way to the bottom, it will show you where all the data for the console is stored. Only 8 palettes can be used at a time. These are stored in color memory, which is 32 bytes long. Storing a set of palettes in the ROM formats the data in the same way color data is stored on the console. This means you can just copy it straight over.

Log in to reply.