I'm quite surprised how hard of a time I'm having with making nes programs in linux compared to windows. I won't have access to my windows computer for a while so for now I have to use my linux laptop. I've gotten cc65 to install and kind of work, yet I have no idea how to debug the programs in linux.
FCEUX seems to have a debugger in Windows, yet in Linux there doesn't seem to be one? Or maybe I just can't find it....
Nintendulator is only on windows, so that's out.
I have no idea how to compile NESICIDE(NESICIDE 2?). INSTALL file says to do the regular "./configure; make" routine yet that doesn't seem to work(there's no configure file...). Maybe I got the wrong source code or something?
The program that I made in windows(a sound test) is not working right(the sprites are a random mess, yet background tiles work fine) despite that I'm fairly sure I didn't change a thing, with exception to changing backslashes to forward-slashes in ".include" calls.
Maybe I just forgot how to compile? I can't remember exactly what options I picked in windows. I have it like this:
I have a whole bunch of .asm files that branches from main.asm, but I guess I'm only supposed to mention main.asm? Assembles just fine, at any rate.
For linking it's:
Same result happens whether I include "-t nes" or not.
Somewhat unrelated to linux, but I'm also not sure what I'm doing when it comes to the config file for cl65:
When I did this in windows, the CHR/CHARS Segment was missing and when I compile in linux I got an error that CHARS is missing.
I'm pretty sure I had a reason to leave out CHARS in config, but I forgot why.... And I'm also kinda sure that the way I handled CHARS is the problem. If it's not, I need to debug to find out what happened.
FCEUX seems to have a debugger in Windows, yet in Linux there doesn't seem to be one? Or maybe I just can't find it....
Nintendulator is only on windows, so that's out.
I have no idea how to compile NESICIDE(NESICIDE 2?). INSTALL file says to do the regular "./configure; make" routine yet that doesn't seem to work(there's no configure file...). Maybe I got the wrong source code or something?
The program that I made in windows(a sound test) is not working right(the sprites are a random mess, yet background tiles work fine) despite that I'm fairly sure I didn't change a thing, with exception to changing backslashes to forward-slashes in ".include" calls.
Maybe I just forgot how to compile? I can't remember exactly what options I picked in windows. I have it like this:
Code:
ca65 -o main.o main.asm
I have a whole bunch of .asm files that branches from main.asm, but I guess I'm only supposed to mention main.asm? Assembles just fine, at any rate.
For linking it's:
Code:
cl65 -o linux_test.nes -t nes -C nes.cfg main.o
Same result happens whether I include "-t nes" or not.
Somewhat unrelated to linux, but I'm also not sure what I'm doing when it comes to the config file for cl65:
Code:
MEMORY
{
ZP: start = $00, size = $100, type = rw;
RAM: start = $200, size = $600, type = rw;
HEAD: start = $0000, size = $10, type = ro, file = %O;
PRG: start = $8000, size = $8000, type = ro, file = %O;
CHR: start = 0, size = $2000, file = %O, fill = yes;
}
SEGMENTS
{
CODE: load = PRG, type = ro, start = $8000;
RODATA: load = PRG, type = ro;
DATA: load = RAM, type = bss;
ZEROPAGE: load = ZP, type = zp;
BSS: load = RAM, type = bss, define = yes;
VECTORS: load = PRG, type = ro, start = $FFFA;
HEADER: load = HEAD, type = ro;
CHARS: load = CHR, type = rw;
}
{
ZP: start = $00, size = $100, type = rw;
RAM: start = $200, size = $600, type = rw;
HEAD: start = $0000, size = $10, type = ro, file = %O;
PRG: start = $8000, size = $8000, type = ro, file = %O;
CHR: start = 0, size = $2000, file = %O, fill = yes;
}
SEGMENTS
{
CODE: load = PRG, type = ro, start = $8000;
RODATA: load = PRG, type = ro;
DATA: load = RAM, type = bss;
ZEROPAGE: load = ZP, type = zp;
BSS: load = RAM, type = bss, define = yes;
VECTORS: load = PRG, type = ro, start = $FFFA;
HEADER: load = HEAD, type = ro;
CHARS: load = CHR, type = rw;
}
When I did this in windows, the CHR/CHARS Segment was missing and when I compile in linux I got an error that CHARS is missing.
Code:
ld65: Error: Missing memory area assignment for segment `CHARS'
I'm pretty sure I had a reason to leave out CHARS in config, but I forgot why.... And I'm also kinda sure that the way I handled CHARS is the problem. If it's not, I need to debug to find out what happened.