Alternatively, join us on Discord.

Re-inventing the wheel by programming in binary from scratch

Started by Ephraim Becker, March 17, 2016, 04:10:30 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ephraim Becker

I want to learn binary from scratch (example: learn how to program drivers, display pixels on the screen, and make an Operating System in binary from scratch). I want to be able to program from the lowest level possible (which everybody did in the 1970's). I don't like relying on other people's code at all. I feel like me re-inventing the wheel will open up new possibilities for me in technology. I want to actually change the world. I don't want to be known as a simple "typical programmer" just like all other programmers. I want to be famous for making real new evolutions in technology.

Is there any place I can learn this?
I have Aspergers Syndrome

Ivoah

Quote from: Isaac NewtonIf I have seen further, it is by standing on the shoulders of giants.

Source: http://digitallibrary.hsp.org/index.php/Detail/Object/Show/object_id/9285

p4nix

-> reading things about Alan Turing
-> being a genius
-> maybe invent something else than normal binary computers, since you cant make an innovation there
-> if you want to go the binary way: read up logic gates and stuff

aeTIos

I agree with the other posters, it's no use reinventing the wheel because, that won't make you famous. It's not even inventing: You'd be using guides from other people to make a thing that already exists! If you really want to invent something new and possibly have a chance to get famous (which is even harder than getting a nobel prize), get a scientific degree and start doing research in a lab.
Indeed, we're trying to discourage you. The mocking on IRC earlier today was not for nothing: It's ridiculous to invent something that has been made before. Now I'm not saying that you shouldn't try and make an OS; actually I would encourage you to, but don't do it with the underlying thought 'I'm gonna be famous for this', because no one's going to see an undiscovered genie in someone who, in your own words, reinvents the wheel.

Peace, out.
ceci n'est pas une signature

DJ Omnimaga

Quote from: aeTIos on March 17, 2016, 07:07:13 pm
I agree with the other posters, it's no use reinventing the wheel because, that won't make you famous.
Unless you're Steve Jobs :P

aeTIos

He didn't reinvent the wheel. He first invented it, put it in a corner, and then took it and made it famous. Then he died, at a way too young age.
ceci n'est pas une signature

DJ Omnimaga

It depends. Sometimes the wheel was invented by other companies, not Apple, then Apple took it, polished it a bit (or made it worse, depending of opinions), then made it famous.

But yeah it's better to use the mindset that nobody will use our softwares when programming, instead of trying to be famous, else it leads to frustration. And it's better to start with higher level languages. Only one person I know in the TI community programmed using hexadecimal assembly, which is probably the closest thing you can get to binary, and there is a reason why not many people bother anymore.

Juju

Well, I heard trying to make a new CPU, despite reinventing the wheel, is a pretty cool thing to do. You can come up with your own instruction set and everything, there's a few tutorials on how to do that. Next step is to put it in a FPGA (or, if you're hardcore, solder all the logic gates on a board) and try to make a basic computer that runs programs with it. If you want to learn how a computer work, it's the perfect way to do so.

Anyway, there's nothing keeping you from programming binaries directly and you can find quite a few documentation on that. Check what assembly commands do for a particular instruction set, for instance, and they'll give out the hex codes for that instruction.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

Ephraim Becker

I have Aspergers Syndrome


DJ Omnimaga

Quote from: Juju on March 17, 2016, 08:16:38 pm
Well, I heard trying to make a new CPU, despite reinventing the wheel, is a pretty cool thing to do. You can come up with your own instruction set and everything, there's a few tutorials on how to do that. Next step is to put it in a FPGA (or, if you're hardcore, solder all the logic gates on a board) and try to make a basic computer that runs programs with it. If you want to learn how a computer work, it's the perfect way to do so.

Anyway, there's nothing keeping you from programming binaries directly and you can find quite a few documentation on that. Check what assembly commands do for a particular instruction set, for instance, and they'll give out the hex codes for that instruction.
I can't imagine learning to program in binary after being used so much to english mnemonics. Just trying to make binary sprite data by hand is tedious enough. Imagine memorizing all ASM commands in their binary form.

ben_g

Quote from: DJ Omnimaga on March 17, 2016, 10:19:36 pm
...
Just trying to make binary sprite data by hand is tedious enough. Imagine memorizing all ASM commands in their binary form.

I always make my sprite data by hand (in hexadecimal though, but that's basically just a more compact form of binary). It's quite easy for the standard axe 8x8 b&w sprites if you first draw them on some grid paper.
Programming in binary is entirely different though. I think it's still structured in some way as registers and such probably have their own combination, but it's deffinately not comparable with "black=1, white=0" like with sprites.

If you really want to learn to program in binary, then maybe you should go talk with Xeda. She used to program her calculator in hexadecimal. Learning to do it on a calculator is also advisable, since the CPU is much more limited so you'll have to memorize less. Learning the full x64 instruction set probably just isn't doable. Computers are just way to complicated to program in that way nowadays, there's a reason why no one programs them in binary anymore.

DJ Omnimaga

It's not hard, but it just takes an absurdly long amount of time, especially when you have over 128 sprites >.<

ben_g

My projects usually don't have a lot of sprites, but the conversion can still be done quite fast, especially since I have a 'cheat sheet' which contains the 16 hexadecimal characters and the 4-pixel patterns that correspond to each of them.
At least it's fast enough to me to not bother with putting the default axe sprite editor on my calc again (I started making my sprites by hand after I lost that program in a ram clear once and I was too lazy to transfer it to my calc again :P )

DJ Omnimaga

Ah I see now. Still, I kinda prefer using a sprite or image editor personally. :P But to each their own.

Powered by EzPortal