You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server
0
b/Hardware publicado por u/Ephraim Becker March 17, 2016, 04:10:30 PM
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?
Inicia sesión o crea una cuenta para dejar un comentario
u/Ivoah March 17, 2016, 04:15:41 PM
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
Last Edit: March 17, 2016, 04:18:57 PM by Ivoah
u/p4nix March 17, 2016, 04:16:20 PM
-> 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
u/aetios 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. 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.
u/Dream of Omnimaga March 17, 2016, 07:07:49 PM
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
u/aetios March 17, 2016, 07:08:46 PM
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.
u/Dream of Omnimaga March 17, 2016, 07:14:26 PM
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.
u/Yuki 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.
Last Edit: March 17, 2016, 08:19:07 PM by Juju
u/Ephraim Becker March 17, 2016, 08:18:37 PM
Where are the tutorials for making my own CPU?
u/Dream of Omnimaga March 17, 2016, 10:19:36 PM
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.
u/ben_g March 18, 2016, 04:00:58 AM
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.
Last Edit: March 18, 2016, 04:11:38 AM by ben_g
u/Dream of Omnimaga March 18, 2016, 04:04:47 AM
It's not hard, but it just takes an absurdly long amount of time, especially when you have over 128 sprites >.<
u/ben_g March 18, 2016, 04:16:56 AM
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 )
u/Dream of Omnimaga March 18, 2016, 04:21:18 AM
Ah I see now. Still, I kinda prefer using a sprite or image editor personally. :P But to each their own.
Start a Discussion

b/Hardware

Building a robot, some old-school handheld or other piece of hardware? This is the section to showcase it.

56
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal