Author Topic: SNES C compiler?  (Read 26286 times)

0 Members and 1 Guest are viewing this topic.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1753
  • Just a coding machine.
Re: SNES C compiler?
« Reply #15 on: February 16, 2010, 05:39:42 AM »
You missed my point... look at the error... see the "PREFIX=/Tools/snes-sdk" in the message? Your makefile has a wrong path. There's no such drive at TOOLS: in your system. If you wish the path to be to Tools on the C: drive, you need /c/Tools, not /Tools.

Offline spinal

  • Coder of DSision
  • Neo MOD
  • Hero Member
  • *
  • Posts: 796
    • spinalcode
Re: SNES C compiler?
« Reply #16 on: February 16, 2010, 05:56:02 AM »
OK, did that, but I still get that second bunch of errors.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1753
  • Just a coding machine.
Re: SNES C compiler?
« Reply #17 on: February 16, 2010, 07:44:12 AM »
Go through them logically - look for things like that path error. Does it say it can't find a file? That might be a path problem, or missing includes for the compiler (you might not have installed everything needed to compile the code). Scroll up in the listing and deal with the FIRST error first. With compiled code, often one error causes more that will disappear when the first error is dealt with.

If need be, post the output here so others can help find the problem. The WHOLE output as just the part with the error message itself is often meaningless, especially with link errors... like the ones in your image. Need more info than the screenshot shows.

EDIT: I tried setting up snes-sdk in Windows myself using mingw. While I was (eventually) able to get it to build, the resulting toolchain would not build the sample project correctly, discarding most of the sections for no reason. I don't think snes-sdk has really been tested much under Windows, especially given the change I needed to make to get it to compile. In particular, the compiler uses python to do the optimization, and python particularly has trouble working with mingw or cygwin. You may just have to use the binaries made by UnDisbeliever in the link earlier in the thread.
« Last Edit: February 16, 2010, 10:46:15 AM by ChillyWilly »

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SNES C compiler?
« Reply #18 on: February 16, 2010, 12:20:33 PM »
Spinal , i suggest to install VirtualBox or VMWare(heavier , but has better compatiblity & Unity) and download the 32Bit version of Ubuntu(64bit needs some more config to compile code) and install it via the virtual machine.

Now you can start using the linux version of the sdk without problems. ~sm-37.gif~

Offline spinal

  • Coder of DSision
  • Neo MOD
  • Hero Member
  • *
  • Posts: 796
    • spinalcode
Re: SNES C compiler?
« Reply #19 on: February 17, 2010, 04:46:53 PM »
Spinal , i suggest to install VirtualBox or VMWare(heavier , but has better compatiblity & Unity) and download the 32Bit version of Ubuntu(64bit needs some more config to compile code) and install it via the virtual machine.

Now you can start using the linux version of the sdk without problems. ~sm-37.gif~

Done all of that...
VirtualBox + Ubuntu...



Same error as on windows :(

Offline mic_

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 632
Re: SNES C compiler?
« Reply #20 on: February 17, 2010, 05:13:11 PM »
If you installed the SDK in /home/spinal/snes-sdk/, shouldn't you change the PREFIX to reflect that?

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SNES C compiler?
« Reply #21 on: February 17, 2010, 05:54:21 PM »
Done all of that...
VirtualBox + Ubuntu...



Same error as on windows :(

You must compile the wdc compiler and all libs first and don't put the prefix there because its getting overwritten by the main makefile.

Here's all the commands needed:

(In terminal)

cd /home/
sudo apt-get install subversion
sudo svn checkout http://snes-sdk.googlecode.com/svn/trunk/ snes-sdk
cd snes-sdk

sudo gedit /home/snes-sdk/Makefile

set the prefix to : /home/snes-sdk (without path separator!!) & save

sudo gedit /home/snes-sdk/libs/Makefile
replace :
Code: [Select]
../tcc-65816/816-tcc $(CFLAGS) -I. -o $@ -c $<

with :
Code: [Select]
../tcc-65816/816-tcc $(CFLAGS) -I. -I../tcc-65816/include -o $@ -c $<

sudo make
sudo make install <- this will copy the compiler & linker and the include folder to the sdk dir.

sudo gedit /home/snes-sdk/snesc/Makefile

set the prefix to : /home/snes-sdk (without path separator!!) & save

cd /home/snes-sdk/snesc/
sudo make

And that was it! Now you should have "snesc.smc" in "snesc" directory. ~sm-42.gif~
« Last Edit: February 17, 2010, 06:09:13 PM by Conle »

Offline spinal

  • Coder of DSision
  • Neo MOD
  • Hero Member
  • *
  • Posts: 796
    • spinalcode
Re: SNES C compiler?
« Reply #22 on: February 17, 2010, 06:51:14 PM »
Perhaps my complete lack of linux knowledge isn't helping but still I fail :(

Quote
spinal@SNES-Dev:/home$ cd snes-sdk
spinal@SNES-Dev:/home/snes-sdk$ sudo gedit /home/snes-sdk/Makefile
spinal@SNES-Dev:/home/snes-sdk$ sudo gedit /home/snes-sdk/libs/Makefile
spinal@SNES-Dev:/home/snes-sdk$ sudo make
cd wla_dx && make PREFIX=/home/snes-sdk
make[1]: Entering directory `/home/snes-sdk/wla_dx'
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 main.c
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 parse.c
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 include_file.c
include_file.c: In function ‘include_file’:
include_file.c:211: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
include_file.c: In function ‘incbin_file’:
include_file.c:343: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 pass_1.c
pass_1.c: In function ‘parse_directive’:
pass_1.c:2653: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_1.c:3499: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
pass_1.c:3748: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
pass_1.c:1973: warning: array subscript is below array bounds
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 pass_2.c
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 pass_3.c
pass_3.c: In function ‘pass_3’:
pass_3.c:67: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:78: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:88: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:98: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:103: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:107: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:111: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:117: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:124: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:140: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:156: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:209: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:256: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:275: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:279: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:325: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:327: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:375: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:380: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:387: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:392: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:397: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:405: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:413: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:419: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:424: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:429: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:433: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:439: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:446: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:462: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:478: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:540: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_3.c:546: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 pass_4.c
pass_4.c: In function ‘pass_4’:
pass_4.c:169: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:175: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:179: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:187: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:189: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:258: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:267: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:284: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:290: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:303: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:307: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:325: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:359: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:361: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:381: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:387: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:427: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:470: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:515: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:560: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:602: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:643: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
pass_4.c:680: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 stack.c
gcc -c -O2 -ansi -pedantic -Wall -g -DUNIX -DW65816 listfile.c
listfile.c: In function ‘listfile_collect’:
listfile.c:47: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:55: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:57: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:86: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:91: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:98: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:103: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:108: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:116: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:124: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:130: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:135: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:140: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:144: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:152: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:156: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
listfile.c:171: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
gcc -lm main.o parse.o include_file.o pass_1.o pass_2.o pass_3.o pass_4.o stack.o listfile.o -o wla-65816 ; strip wla-65816
make[1]: Leaving directory `/home/snes-sdk/wla_dx'
cd wla_dx/wlalink && make PREFIX=/home/snes-sdk
make[1]: Entering directory `/home/snes-sdk/wla_dx/wlalink'
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" main.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" memory.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" parse.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" files.c
files.c: In function ‘load_file_data’:
files.c:352: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" check.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" analyze.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" write.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" compute.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" discard.c
gcc -c -g -Wall -O2 -DPREFIX=\"/home/snes-sdk\" listfile.c
listfile.c: In function ‘listfile_write_listfiles’:
listfile.c:134: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
gcc -g  main.o memory.o parse.o files.o check.o analyze.o write.o compute.o discard.o listfile.o -o wlalink
make[1]: Leaving directory `/home/snes-sdk/wla_dx/wlalink'
cd wla_dx/wlab && make PREFIX=/home/snes-sdk
make[1]: Entering directory `/home/snes-sdk/wla_dx/wlab'
cc -c -ansi -O3 -pedantic -Wall main.c
main.c: In function ‘main’:
main.c:75: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
cc  main.o -o wlab ; strip wlab
make[1]: Leaving directory `/home/snes-sdk/wla_dx/wlab'
cd tcc-65816 && ./configure --prefix=/home/snes-sdk --enable-cross
Binary  directory   /home/snes-sdk/bin
TinyCC directory    /home/snes-sdk
Library directory   /home/snes-sdk/lib
Include directory   /home/snes-sdk/include
Manual directory    /home/snes-sdk/man
Doc directory       /home/snes-sdk/share/doc/tcc
Source path      /home/snes-sdk/tcc-65816
C compiler       gcc
make             make
CPU              x86
Big Endian       no
gprof enabled    no
cross compilers  yes
Creating config.mak and config.h
make[1]: Entering directory `/home/snes-sdk/tcc-65816'
gcc -O2 -g -Wall -Wno-pointer-sign -mpreferred-stack-boundary=4 -falign-functions=0 -fno-strict-aliasing -DTCC_TARGET_816 -o 816-tcc tcc.c
tcc.c: In function ‘tcc_compile’:
tcc.c:9525: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result
tcc.c: In function ‘decl_initializer_alloc’:
tcc.c:8945: warning: ‘saved_parse_state.tok’ may be used uninitialized in this function
tcc.c:8945: warning: ‘saved_parse_state.macro_ptr’ may be used uninitialized in this function
tcc.c:8945: warning: ‘saved_parse_state.line_num’ may be used uninitialized in this function
make[1]: Leaving directory `/home/snes-sdk/tcc-65816'
cd libs && make PREFIX=/home/snes-sdk
make[1]: Entering directory `/home/snes-sdk/libs'
../wla_dx/wla-65816 -io crt0_snes.asm crt0_snes.obj
../tcc-65816/816-tcc  -I. -I../tcc-65816/include -o libm_c.pasm -c libm_c.c
sed 's/.include "hdr.asm"//' <libm_c.pasm >libm_c.pasm.tmp
mv libm_c.pasm.tmp libm_c.pasm
python ../tcc-65816/816-opt.py libm_c.pasm >libm_c.asm
optimization pass 1: 93 optimizations performed
optimization pass 2: 21 optimizations performed
optimization pass 3: 2 optimizations performed
optimization pass 4: 0 optimizations performed
116 optimizations performed in total
../wla_dx/wla-65816 -io libm.asm libm.obj
../wla_dx/wla-65816 -io libtcc.asm libtcc.obj
../tcc-65816/816-tcc  -I. -I../tcc-65816/include -o libc_c.pasm -c libc_c.c
sed 's/.include "hdr.asm"//' <libc_c.pasm >libc_c.pasm.tmp
mv libc_c.pasm.tmp libc_c.pasm
python ../tcc-65816/816-opt.py libc_c.pasm >libc_c.asm
optimization pass 1: 785 optimizations performed
optimization pass 2: 394 optimizations performed
optimization pass 3: 153 optimizations performed
optimization pass 4: 82 optimizations performed
optimization pass 5: 0 optimizations performed
1414 optimizations performed in total
../wla_dx/wla-65816 -io libc.asm libc.obj
rm libc_c.pasm libm_c.pasm
make[1]: Leaving directory `/home/snes-sdk/libs'
cd snes9x && ./configure --prefix=/home/snes-sdk --with-extra-opt="-Wno-parentheses -Wno-missing-braces" --with-debugger
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking for size_t... no
configure: WARNING:
Converted . to /home/snes-sdk/snes9x,
If this does not work, please use an absolute path to the configure script.

checking -O2... no
checking -O1... no
checking -fomit-frame-pointer... no
checking -fno-exceptions... no
checking -Wall... no
checking -W... no
checking -pedantic... no
checking -Wno-unused-parameter... no
checking -pipe... no
checking -fno-rtti... no
configure: WARNING: You specified --with-extra-opt. I hope you know what you're doing, since
configure: WARNING: *** MISUSING THIS OPTION WILL CAUSE SNES9X TO CRASH! ***
checking -Wno-parentheses -Wno-missing-braces... no
configure: error: Please specify a working value for --with-extra-opt, or use --without-extra-opt
make: *** [snes9x/config.info] Error 1
spinal@SNES-Dev:/home/snes-sdk$ sudo make install
mkdir -p /home/snes-sdk
mkdir -p /home/snes-sdk/lib
mkdir -p /home/snes-sdk/include
mkdir -p /home/snes-sdk/bin
cp -p libs/*.obj /home/snes-sdk/lib/
cp -p libs/hdr.asm /home/snes-sdk/include/
cp -p tcc-65816/include/* /home/snes-sdk/include/
cp -p tcc-65816/816-tcc /home/snes-sdk/bin/
install -m 755 tcc-65816/816-opt.py /home/snes-sdk/bin/816-opt
cp -p wla_dx/wla-65816 /home/snes-sdk/bin/
cp -p wla_dx/wlalink/wlalink /home/snes-sdk/bin/
cp -p wla_dx/wlab/wlab /home/snes-sdk/bin/
cp -p snes9x/snes9x /home/snes-sdk/bin/
cp: cannot stat `snes9x/snes9x': No such file or directory
make: *** [install] Error 1
spinal@SNES-Dev:/home/snes-sdk$ cd /home/snes-sdk/snesc/
spinal@SNES-Dev:/home/snes-sdk/snesc$ sudo make
/usr/local/snes-sdk/bin/wla-65816 -io data.asm data.obj
make: /usr/local/snes-sdk/bin/wla-65816: Command not found
make: *** [data.obj] Error 127
spinal@SNES-Dev:/home/snes-sdk/snesc$

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SNES C compiler?
« Reply #23 on: February 17, 2010, 07:06:38 PM »
You missed this part :

Code: [Select]
sudo gedit /home/snes-sdk/snesc/Makefile

set the prefix to : /home/snes-sdk (without path separator!!) & save

cd /home/snes-sdk/snesc/
sudo make

 ~sm-36.gif~ ~sm-36.gif~

Offline spinal

  • Coder of DSision
  • Neo MOD
  • Hero Member
  • *
  • Posts: 796
    • spinalcode
Re: SNES C compiler?
« Reply #24 on: February 17, 2010, 07:57:03 PM »
 ::sm-18.gif:: Silly me!

Cool, now I have breakout!

Thanks guys.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1753
  • Just a coding machine.
Re: SNES C compiler?
« Reply #25 on: February 18, 2010, 02:16:35 AM »
I found an error in the snesc example that might cause some people some trouble - the makefile is missing an include directory which makes it use a linux include instead of a snes-sdk include. Edit the makefile and put this line after the LIBDIR variable

Code: [Select]
INCDIR=$(PREFIX)/include
and then change this line

Code: [Select]
$(CC) $(CFLAGS) -I. -o $@ -c $<
to this

Code: [Select]
$(CC) $(CFLAGS) -I. -I$(INCDIR) -o $@ -c $<

Offline ~tak

  • Newbie
  • *
  • Posts: 46
Re: SNES C compiler?
« Reply #26 on: February 19, 2010, 05:14:58 AM »
coding directly in ASM makes fun




with the SNES specifics I'm now set to go! happy development :-)

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SNES C compiler?
« Reply #27 on: February 19, 2010, 11:59:23 AM »
Yes asm is cool once you fully master it(Don't get me wrong ,..i still haven't  ::sm-11.gif:: ).Its useful but not for every project.
I think it really depends what you're making.In most cases you can combine a high level language with asm...
« Last Edit: February 19, 2010, 12:03:14 PM by Conle »

Offline spinal

  • Coder of DSision
  • Neo MOD
  • Hero Member
  • *
  • Posts: 796
    • spinalcode
Re: SNES C compiler?
« Reply #28 on: February 19, 2010, 09:54:13 PM »
Can anyone recommend a gfx converter? Either I'm blind or there is a complete lack of useful tools for the snes :(

Offline mic_

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 632
Re: SNES C compiler?
« Reply #29 on: February 19, 2010, 10:17:04 PM »
Graphics converter: http://jiggawatt.org/badc0de/sixpack/
Not every possible graphics format on the SNES is supported yet, but the most common are.