the 3ds homebrew scene is calling out to me. what do i need to learn? i want a tracker that has good sub bass.
Do you have any coding experience at all? If not, that's okay, it will just take you longer to get to where you want to be. I would strongly recommend against starting trying to learn 3DS homebrew and C/C++ (or whatever they use) at the same time. 3DS scene has little to no documentation, little support, and is constantly changing.
Start learning about some basic C++ data structures, then start playing with SDL in C++. Once you can make a decent tracker in that, you could probably make a really nice tracker for the 3DS.
the only experience i have is a ton of frustration trying to run hello world on a dmg.
In this case and as Catskull say.
Try to write some simple stuff with c/c++ then when you think you are ok add the sdl, it will help you a lot.
If you want to make sub bass, you can learn how to write oscillator with c/c++ it's a big part.
The psp is easier to start IMHO today.
when i see people talking about c++ is that the same as c##? im a bit confused. is c+ the same as c#? so sdl is free i just cant say i wrote it? and i keep my fortune i make off programming someday? that sounds too good to be true almost.
Last edited by bitjacker (Jun 17, 2015 8:54 pm)
C++ is the C language with ketchup and potatoes.
I think C++ is easier for a beginner.
C# is a Microsoft clone of Java, I have no experience at all but it's designed for and by Microsoft so you like or you hate.
SDL is free gpl stuff and IMHO it's really a great library to make game but also tracker interface.
If you work, learn a lot you will be able to write tracker with C++ and SDL.
It's the two big things to master.
If you know how to so this you can jump to more hardcore platform : 3DS.
http://www.amazon.com/C-Nutshell-OReill 596006977/
it's very hard and takes a long time to learn and you won't be able to make a tracker for 3ds straight away and you should know that before you begin otherwise you will just be disappointed
you really want to have to learn to program for its own sake because the amount of time and effort required is so much that by the time you have the competence to make a 3ds tracker you might no longer even care about the idea
but i say: go for it
It's always better to start learning something with an idea of what you want to make of it.
is smea's picasso sdl? it says its c++. also, the manual that came with nihstro says it's c++. couldnt i just dive right in and ask all of you lads a lot of questions? seeing as how this will become another tool to make music with... it would be like a think tank, for me.
I am currently out of work, so i have a ton of time on my hands.
Last edited by bitjacker (Jun 17, 2015 11:07 pm)
If you are serious about this, then start with plain C. I recommend http://c.learncodethehardway.org/book/. It is a series of coding exercises that will help you learn C. As most other programming languages nowadays are derivatives of C (either borrow much of the C syntax as is the case with C#, C++, etc. or are built on C as is the case with higher-level languages like Python), just learning plain C is a gateway to so much more.
After learning C, probably also familiarize yourself with x86 assembly (which is the machine code that all programming languages devolves to--super low level) and get a better understanding of processor architecture and development. The Intel Developer's Manual is a good place to start (or die as is the case with most): http://www.intel.com/content/dam/www/pu 325462.pdf. However, as 3500 pages is a bit much for any person and the 3DS uses the ARM architecture, you may want to read up on ARM, but still learn x86 assembly as it will be of vital importance.
There is some stuff in the 3DS homebrew wiki: http://3dbrew.org/wiki/Setting_up_Devel nvironment.
I myself have never directly made homebrew applications, but I have reverse engineered a few. There is also an IRC channel for the homebrew wiki too, so you might want to check that out.
Hope this helps.
Nintendo is super close about that console and there's little/no homebrew on 3DS, sorry but if you don't have the know-how, starting with such a difficult environment will frustrate you and the project will face a dead end before even start.
Consider start writing a Windows based tracker, keep in mind some portability practices and you will be able to attack 3DS with a more focused weapon after some time.
Last edited by Delek (Jun 18, 2015 1:02 pm)
Fine. I will start with c. I got a very dated book "the c programming language 2nd ed." by kernighan and ritche along with the c answer book some time ago, but couldn't get any compiler to work. what is it with newer versions of windows dos? how would i make my dos run commands like an old pc? would i have better luck on a windows me computer? point me to some software that would allow me to do the stuff in this book!
update: i am setting up virtual box with ubuntu linux inside it. that c the hard way wants me to use linux or osx.
Last edited by bitjacker (Jun 18, 2015 7:28 pm)
You could always start with porting littlegptracker:
https://github.com/Mdashdotdashn/LittleGPTracker
or make something in PetitComputer !
http://petitcomputer.wikia.com/wiki/Petit_Computer_Wiki
I recommend setting up a Linux VM. If you aren't familiar with what a Virtual Machine is, think of it as a computer inside a computer. The 2 best freeware virtualization software are Virtualbox and VMware Player. As for what Linux distribution to go with, Ubuntu is pretty friendly to new users. As for compiling C programs, in Linux you use GCC (GNU C Compiler). By typing gcc --help in the terminal, you should be able to go from there.
Why a virtual machine to start learning C?, simply download CodeBlocks IDE and MinGW compiler run a "Hello world!" program to check everything and done!
Here is a package with compiler+IDE bundled together:
http://www.codeblocks.org/downloads/26
I recommend CodeBlocks because it is cross-platform.
Last edited by Delek (Jun 18, 2015 6:33 pm)