Hacker News new | ask | show | jobs
by alehyze 1902 days ago
Let me reply to both questions.

1) why?

I always loved low level programming. I started as a kid on a c64 and then on an Amiga and really loved tinkering with those. Then when I got old enough to get a job in the computer industry there were layers of software everywhere and no more tinkering. I felt cheated.

I love old school games more than modern ones. This is only a matter of personal preference. People still play chess after thousands of years and nobody complains that the chessboard is obsolete, so there must be something about games that does not age with time and technological progress.

With modern video games there is a perceivable delay between when I press a button and when something happens. That is called "latency", and for many reasons it is one thing that has become worse and worse with advancements in technology. It appears to me that most people are used to having high latency in games and they do not bother too much. To me it breaks the immersion. Again, purely personal preference. One strategy to reduce latency is to remove software layers between the game code and the hardware.

2) isn't the pi hardware already fairly well documented?

Yes and no. Yes if you want to play with electronics via GPIO. No if you want to make old school games or if you want to write your own toy but fully functional operating system.

1 comments

Your 1) is not related to reverse engineering at all. Just low-level programming.

What EXACTLY needs to be reverse engineered to "make old school games" or "fully functional operating system"?

It's an ARM and the GPU has some API.

My 1) is a reply to why I did it. I took it as a literal question and I gave a genuine answer.

EDIT: Ok, I think I see what you mean now. I believe your question is about what is the appeal in doing this stuff. It's pretty much the same reason why someone would build a chair or a table from scratch versus buying one at IKEA and building it. The former gets the enjoyment from all of the journey from a piece of wood to the finished chair and from building exactly the chair that they want and the latter is probably more focused on the chair itself. END_OF_EDIT

As for the rest, I believe that some answers are already in the post and in the comments that I and other people made.

I may have misunderstood what you meant and if that is the case let's restart from scratch:

Do you want to program a raspberry pi at the hardware register level, without any APIs ?