Homebrew Question Starting Homebrew Development

yardie

Banned!
Banned
Joined
Mar 27, 2016
Messages
1,334
Trophies
1
XP
1,549
Country
United States
Almost like I've seen your other whiney opinions here and was commenting on your whiney opinionS. And it's kind of like I was assessing your overall contribution rather than a singular post, since when talking about contributions, it's a summary of work and not one event. Context is hard though, I understand.
mr professional developer
develop something
 
D

Deleted User

Guest
I do. I'm in the discord under a separate name, this is an account I've had on here for a while and don't want the two combined. Daeken and a few others have noticed that I'm on here and know I'm also in discord, but aren't sure who I am on there. I like it that way. I like to keep degrees of separation, it's an odd compulsion I've always had (among the many others)

That being besides the point, I've contributed to the PSP scene, and 3DS scene, and know a bunch of the guys from this one, one personally. I've put in a couple PRs for libtransistor now. I have vacation in 2 weeks, when I'll probably finish up a bochs port I started the other night.

See, when you have a full-time job, a wife, and various other responsibilites, it saps at your ability to make free software for people who assert ignorant opinions about skills they don't have.

Now, how do you contribute may I ask?
Well, then thank you for your contribution to the Switch Homebrew Scene. :)
 
D

Deleted User

Guest
mr professional developer
develop something
I do! 5, sometimes 6 days a week! It's the reason I went into my field, glad you can appreciate that. If you're going to tell someone off though, don't offer them an option they'll not only enjoy, but will do regardless. Looks desperate and uncreative. You know those people who you meet in every day life that just kind of rattle off the same old tired phrases and don't really say anything worthwhile? It's kind of like that.

Can you develop a sense of self-awareness enough to realize that your opinion when it comes to things you don't know anything about doesn't matter though? Asking the real tough questions, I know.

Well, then thank you for your contribution to the Switch Homebrew Scene. :)

You're very welcome dude. I come on here and shit on people if they have a bad attitude or act liked spoiled little fuckers, but I'm actually a pretty friendly dude. I like doing this stuff because back in the PSP days I was very new and barely could scrap together a minigame in LUA, and the scene is what got me so interested in learning and expanding my skills. Tons of helpful people were around too, and if you were courteous to them they would help when they could. I'd like to return the favor, problem is that 90% of the users on this site are armchair experts with no real knowledge, and a whole lot of self-esteem wrapped up in that tiny bit knowledge they've received via osmosis.

If you look around on these forums it's kind of funny to watch. People that flat out state they "aren't experts", yet immediately try to go on and explain something they completely misunderstand.
 
  • Like
Reactions: ShonenJump
D

Deleted User

Guest
I do! 5, sometimes 6 days a week! It's the reason I went into my field, glad you can appreciate that. If you're going to tell someone off though, don't offer them an option they'll not only enjoy, but will do regardless. Looks desperate and uncreative. You know those people who you meet in every day life that just kind of rattle off the same old tired phrases and don't really say anything worthwhile? It's kind of like that.

Can you develop a sense of self-awareness enough to realize that your opinion when it comes to things you don't know anything about doesn't matter though? Asking the real tough questions, I know.



You're very welcome dude. I come on here and shit on people if they have a bad attitude or act liked spoiled little fuckers, but I'm actually a pretty friendly dude. I like doing this stuff because back in the PSP days I was very new and barely could scrap together a minigame in LUA, and the scene is what got me so interested in learning and expanding my skills. Tons of helpful people were around too, and if you were courteous to them they would help when they could. I'd like to return the favor, problem is that 90% of the users on this site are armchair experts with no real knowledge, and a whole lot of self-esteem wrapped up in that tiny bit knowledge they've received via osmosis.

If you look around on these forums it's kind of funny to watch. People that flat out state they "aren't experts", yet immediately try to go on and explain something they completely misunderstand.
Glad you don´t take things too personal. We lost a bunch of good developers because of the drama that sometimes happens here.:mellow:
 

I_doTinySoldering

Active Member
Newcomer
Joined
Jan 19, 2018
Messages
34
Trophies
0
Age
44
XP
138
Country
United States
Everything UnsureSherlock said it true.

IDE's have partially changed the game, but assembler is a tedious torture chamber of opcode memorization and careful documentation. Even with a strong library, it's a tedious chore to perform even simple tasks. Nobody likes assembler and nobody uses it when there's a better option.

C/Python/Lua let me use naming convention/meaningful names to make things easy to read without the aggravation of cryptic opcodes and constantly composing comments to explain my code to the next person. Assembler is just too d@#n close to the metal.
 
  • Like
Reactions: gnmmarechal
D

Deleted User

Guest
As most are saying C/C++. it is probably best you don't just jump in. If you are creating a tool (one comparable to Anemone3DS or FBI) C might suit you better. However, if you are developing a game/application (comparable to Clementine or Super Hexagon) C++ might suit you better because of OOP.
 
D

Deleted User

Guest
As most are saying C/C++. it is probably best you don't just jump in. If you are creating a tool (one comparable to Anemone3DS or FBI) C might suit you better. However, if you are developing a game/application (comparable to Clementine or Super Hexagon) C++ might suit you better because of OOP.
Good advice. One addon though is I would suggest also learning a weakly typed language of any kind on top of a strongly typed language like C/C++/Java. There's a weird disconnect when you've worked exclusively in one for a long time without being introduced to the other. People typically used to strong-typed languages have a lot of difficulty at first with languages like javascript, which is understandable since one of the things you'll get used to in strongly typed languages like C or C++ is keeping types in mind through each session. When you're working in an IDE, or a text editor and compiling, it sucks for a long term build to fail because you forgot a function you wrote returns a double and you try to cram it into a string for whatever reason (maybe not enough coffee that morning).

So it kind of becomes a subpriority in the back of your mind while you're working away. So adapting to a different model like that can take some time, but easier the earlier you do it.

The other addon: learn build systems early on. Make, cmake, gradle, and gulp are all really good to learn, though gulp in itself requires knowledge of javascript, so be aware on that one. Unrelated to builds, but for fucks sake learn gdb. Trying to debug with print statements takes orders of magnitude more time than just learning how to properly step through a program. I can't tell you how many devs I've seen at jobs that take 3 days to find a bug using print statements when it could have been solved in an hour or two if they just used the right tool from the beginning.

Sorry if that was ranty.
 

I_doTinySoldering

Active Member
Newcomer
Joined
Jan 19, 2018
Messages
34
Trophies
0
Age
44
XP
138
Country
United States
Given that C lets me directly allocate memory and create my own data types, I'm not sure I would characterize it as strongly typed.

Maybe the definition of the term has evolved since the Fortran versus Pascal typing debates I recall, but C seems very flexibile with data types to me.
 
D

Deleted User

Guest
Given that C lets me directly allocate memory and create my own data types, I'm not sure I would characterize it as strongly typed.

Maybe the definition of the term has evolved since the Fortran versus Pascal typing debates I recall, but C seems very flexibile with data types to me.
Eh, it's fairly strongly typed, it's not exactly a black and white concept since the definition is argued over. The better word would be statically typed since it's checked during compile time. My apologies.
 

Technicmaster0

Well-Known Member
Member
Joined
Oct 22, 2011
Messages
4,406
Trophies
2
Website
www.flashkarten.tk
XP
3,497
Country
Gambia, The
Everything UnsureSherlock said it true.

IDE's have partially changed the game, but assembler is a tedious torture chamber of opcode memorization and careful documentation. Even with a strong library, it's a tedious chore to perform even simple tasks. Nobody likes assembler and nobody uses it when there's a better option.

C/Python/Lua let me use naming convention/meaningful names to make things easy to read without the aggravation of cryptic opcodes and constantly composing comments to explain my code to the next person. Assembler is just too d@#n close to the metal.
Nocash loves assembler. No$GBA is written in assembler.
 

Technicmaster0

Well-Known Member
Member
Joined
Oct 22, 2011
Messages
4,406
Trophies
2
Website
www.flashkarten.tk
XP
3,497
Country
Gambia, The
Right. One person loves assembler. That means that it isn't a hard language.
You wrote "Nobody likes assembler and nobody uses it when there's a better option", which is wrong. Assembler as some advantages over high level languages and you can argue that it's simpler because there are no structures, classes etc. Assembler is how a computer works and you can try to hide it with a high level language, but in the end everything comes down to machine code. A good programmer should understand the hardware anyways.
 
D

Deleted User

Guest
You wrote "Nobody likes assembler and nobody uses it when there's a better option", which is wrong. Assembler as some advantages over high level languages and you can argue that it's simpler because there are no structures, classes etc. Assembler is how a computer works and you can try to hide it with a high level language, but in the end everything comes down to machine code. A good programmer should understand the hardware anyways.
I never said nobody uses assembly, but nobody should. Assembler has different requirements for different systems. If everybody uses the same platform it wouldn't be a waste of time, but they don't so it requires a lot more effort than what should be needed.

And by your logic, we should be writing applications in binary because that is how computers execute them and it allows for more freedom. Sometimes a high level language is better than a low level language.
 
  • Like
Reactions: CuriousTommy

Technicmaster0

Well-Known Member
Member
Joined
Oct 22, 2011
Messages
4,406
Trophies
2
Website
www.flashkarten.tk
XP
3,497
Country
Gambia, The
I never said nobody uses assembly, but nobody should. Assembler has different requirements for different systems. If everybody uses the same platform it wouldn't be a waste of time, but they don't so it requires a lot more effort than what should be needed.

And by your logic, we should be writing applications in binary because that is how computers execute them and it allows for more freedom. Sometimes a high level language is better than a low level language.
But the person I quoted did. Assembler is still very useful for time crucial applications, integrated stuff and probably compiler building.
Knowing how the hardware works is crucial to write efficient code. Efficient code is not needed for simple homebrew apps but for professional stuff. The higher the level of the language is, the more power is wasted from the hardware to compensate the gap between code and hardware.
 
D

Deleted User

Guest
But the person I quoted did. Assembler is still very useful for time crucial applications, integrated stuff and probably compiler building.
Knowing how the hardware works is crucial to write efficient code. Efficient code is not needed for simple homebrew apps but for professional stuff. The higher the level of the language is, the more power is wasted from the hardware to compensate the gap between code and hardware.
You do realize that all code ends up in binary at the end? You can write the same application in assembly as you can C. All of that lost time is made up for portability.
 

I_doTinySoldering

Active Member
Newcomer
Joined
Jan 19, 2018
Messages
34
Trophies
0
Age
44
XP
138
Country
United States
You wrote "Nobody likes assembler and nobody uses it when there's a better option", which is wrong.

¯\_(ツ)_/¯

Okay. ;) Sure thing. ;)

I don't know anyone that wants to spend more time and money with x64 assembler. (Or, are we maintaining two code bases for x86 compatibility and x64? Another for ARM?)

Assembler as some advantages over high level languages and you can argue that it's simpler because there are no structures, classes etc.

¯\_(ツ)_/¯

Okay. ;) Sure thing. ;)

Structures don't complicate design--they simplify. Logical naming and structure makes code easier to read and maintain.

Assembler is how a computer works and you can try to hide it with a high level language, but in the end everything comes down to machine code. A good programmer should understand the hardware anyways.

¯\_(ツ)_/¯

Okay. ;) Sure thing. ;)

Because, we never ever port code, maintain it, or change jobs out here. It's just one guy hacking code.

Good lord, the noise to signal here is embarrassing.

--------------------- MERGED ---------------------------

But the person I quoted did. Assembler is still very useful for time crucial applications, integrated stuff and probably compiler building.
Knowing how the hardware works is crucial to write efficient code. Efficient code is not needed for simple homebrew apps but for professional stuff. The higher the level of the language is, the more power is wasted from the hardware to compensate the gap between code and hardware.

Useful when there's no other option. Just like I said.
 
Last edited by I_doTinySoldering,
  • Like
Reactions: Meriadoc

Technicmaster0

Well-Known Member
Member
Joined
Oct 22, 2011
Messages
4,406
Trophies
2
Website
www.flashkarten.tk
XP
3,497
Country
Gambia, The
You do realize that all code ends up in binary at the end? You can write the same application in assembly as you can C. All of that lost time is made up for portability.
Sure, but assembly gets transated direclty while C (which is a pretty low level language) and higher level languages contain commands etc. that don't directly exist in hardware. There is no "loop" machine code - only jumps. As I said, it depends on the purpose of the code.

I don't know anyone that wants to spend more time and money with x64 assembler. (Or, are we maintaining two code bases for x86 compatibility and x64? Another for ARM?)
It depends on the purpose of the code. There are cases where a fast code is crucial and where it is crucial to know exactly how long a program takes. That's nearly impossible with higher level languages.

Structures don't complicate design--they simplify. Logical naming and structure makes code easier to read and maintain.
That depens on the perspecitve. Access modificators may lead to compiler errors although the code should work on a logical layer, you have more keywords etc. Assembly is named logical, too. Nocash would tell you that it's much easier to read assembly. It depends on what you're used to, how you got teached etc.
 

I_doTinySoldering

Active Member
Newcomer
Joined
Jan 19, 2018
Messages
34
Trophies
0
Age
44
XP
138
Country
United States
As I said, it depends on the purpose of the code.

I said that, too. That's why I pointed out that using assembly instructions is a last resort--or only when there isn't a better option. Something you said was "wrong" before you started backpedaling.

Also, writing the No$ emulators in assembly will ultimately kill the project. I have a hard time believing the code hasn't evolved into a monster. It can't be ported to other platforms. Worst of all, x86 will eventually be abandoned and the No$ emulators will all be forced to run on top of an additional layer to translate instructions to x64. That will nullify the performance benefits.

It depends on the purpose of the code. There are cases where a fast code is crucial and where it is crucial to know exactly how long a program takes. That's nearly impossible with higher level languages.

You just rephrased your first statement and ignored what I asked.

This response is nosense because you completely ignored my question. I pointed out how much work it would be to maintain completely independent code bases for multiple pieces of hardware. Does that make sense for an emulator?

I said assembler is not good unless there's no other option. You said I'm "wrong". Then, you started backpedaling with a bunch of "umm.. umm.. it depends" garbage.

That depens on the perspecitve. Access modificators may lead to compiler errors although the code should work on a logical layer, you have more keywords etc. Assembly is named logical, too. Nocash would tell you that it's much easier to read assembly. It depends on what you're used to, how you got teached etc.

Gotchas and mistakes happen. So what? Big deal.

Nocash is good at x86 assembler and x86 assembler is moving towards deprecation. It's great to have another option in the community, but I wouldn't choose assembler for many (if any) projects. It's just too d#$n close to the metal.
 
D

Deleted User

Guest
C (which is a pretty low level language)
This is the most ignorant thing you have said all day.

Languages that are low level are Machine code and assembly.
C is a high level language. The way I see it is this:

Machine Code -> Assembly -> Compiled Languages (C, C++, Objective C, etc) -> Scripting Languages (Python, Perl, Batch, etc)

And to the rest of your post: You are reversing pretty much close to everything you have stated with the statement "As I said, it depends on the purpose of the code."

The only benefit to Assembly is speed, and the only legitimate reason I can defend for using Assembly for that purpose is a BootROM where a glitch attack is possible (AKA, Switch, 3DS, Wii U, etc). The faster the execution the better. Do you know of any games that were written in Assembly? No. Assembly libraries don't exist because you have to make everything yourself.

The whole purpose of high level languages is to provide an abstraction to lower levels.
Assembly is an extraction of machine code, Compiled languages of Assembly, and scripting languages of compiled languages. Your arguments are moot in the sense of software development (which I might remind you the topic of this thread is).

EDIT: To prove my point, here is hello world in Machine Code, Assembly, C, and then Python.
Machine Code said:
Code:
b8    21 0a 00 00   #moving "!\n" into eax
a3    0c 10 00 06   #moving eax into first memory location
b8    6f 72 6c 64   #moving "orld" into eax
a3    08 10 00 06   #moving eax into next memory location
b8    6f 2c 20 57   #moving "o, W" into eax
a3    04 10 00 06   #moving eax into next memory location
b8    48 65 6c 6c   #moving "Hell" into eax
a3    00 10 00 06   #moving eax into next memory location
b9    00 10 00 06   #moving pointer to start of memory location into ecx
ba    10 00 00 00   #moving string size into edx
bb    01 00 00 00   #moving "stdout" number to ebx
b8    04 00 00 00   #moving "print out" syscall number to eax
cd    80            #calling the linux kernel to execute our print to stdout
b8    01 00 00 00   #moving "sys_exit" call number to eax
cd    80            #executing it via linux sys_call
Assembly said:
Code:
   global  _main
   extern  _printf

   section .text
_main:
   push    message
   call    _printf
   add     esp, 4
   ret
message:
   db  'Hello, World', 10, 0
C said:
Code:
#include <stdio.h>

int main(void)
{
   printf("hello, world\n");
}
Python said:
Code:
print("Hello World")

Notice how much simpler they get? All while performing the same function?
 
Last edited by ,
  • Like
Reactions: I_doTinySoldering
D

Deleted User

Guest
I m through with a lot of languages but tbh - i only had to use asm when i really had to communicate on low Level. As Long as you dont want to Hack and Reverse Code stay away from asm!
It will burn your brain if u start with it!
Stick to c - its easy enough as a beginner. Or if u want to learn but not program on switch immediately after learning - Start with basic... or Maybe Lua (super simple and not that strong)... usually lua will run on any hacked Device sooner or later
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: hello everyone