Ballmerpeak devblog

Software development, related stuff and others

Pro vim development environment 2: mid-level tricks and tips

July 26, 2020 — Richárd Thier

Pro "haxxors" and coders can live without a full-blown IDE and usually prefer a good editor, a good terminal, a good operating system, scripts and habits.

The second part of the vim devenv story. Read on, more heavy, but still mid level stuff is presented here. I am presenting this not from a purely "vim" viewpoint, but from a "what comes up handy when programmng" viewpoint!

Read more...

Tags: vim, devenv, development, environment, tips, tricks, pro, hacker, hackz, tutorial, linux, bash, sex

Pro vim development environment 1: basics and motivation

April 24, 2020 — Richárd Thier

Pro "haxxors" and coders can live without a full-blown IDE and usually prefer a good editor, a good terminal, a good operating system, scripts and habits.

One such good editor is vim and I thought why not blog down some tips&tricks?

Aside of writing down some neat tricks I wrote and wrote and wrote and my text became a spaghetti whose half is for vim-novices and other half is for mid level and "at least casual" vim users so I thought I seperate these two into their own blog posts or maybe later who knows add more and more parts to this little "vim dev env series".

Read more...

Tags: vim, devenv, development, environment, tips, tricks, pro, hacker, hackz, tutorial, linux, bash, series

Make it work 3: Nexus - The Jupiter Incident

September 03, 2019 — Richárd Thier

This post is about making the game in the title run on linux. Might be helpful for anyone who has 3D glitches for this or any other games when played in wine.

Now after I had changed my linux distro to an arch machine I had to reinstall some of my games that I made run well earlier. These were sometimes cases that are much less interesting then disassembling GT97 racing as before so I did not blog about these and sometimes I had no notes on how to make them work.

Now as I redo these things it became visible that it is worth noting this kind of information too because one can easily forget what was the key and thus I can see now that others might be interested in the process too.

Read more...

Tags: make-it-work, retro, linux, gaming, wine, nexus, the-jupiter-incident, install, hack, custom, resolution, swiftshader, directx, glitch

Debugging HyperZ and fixing a radeon drm linux kernel module

June 19, 2019 — Richárd Thier

It was only a few days ago I have finished debugging a really heavy bug making as big of a mesa performance hit in the userland radeon driver that it became a news article on Phoronix. Back then while still on the heavy journey for getting my performance back I saw HyperZ was also not enabled for me, but if I enable it I gain 10-15% more performance - and an unplayable 3D screen.

On the original blog post I have also written about how to troubleshoot a performance issue generally, but what to do if you know about a performance increasing functionality - just you see it destroys the 3D picture?

Read on if you are interested in linux graphics internals once again ;-)

Read more...

Tags: drm, hyperz, r300, radeon, linux, kernel, mesa, arch, 32bit, linux, debug, glitches, fix, contribute, open-source, graphics, stack, analysis, 3D, optimization, tutorial, system, internals, hackerman, opengl, zbuffer, hiz, zmask, documentation

Debugging HyperZ and fixing a radeon drm linux kernel module

June 19, 2019 — Richárd Thier

It was only a few days ago I have finished debugging a really heavy bug making as big of a mesa performance hit in the userland radeon driver that it became a news article on Phoronix. Back then while still on the heavy journey for getting my performance back I saw HyperZ was also not enabled for me, but if I enable it I gain 10-15% more performance - and an unplayable 3D screen.

On the original blog post I have also written about how to troubleshoot a performance issue generally, but what to do if you know about a performance increasing functionality - just you see it destroys the 3D picture?

Read on if you are interested in linux graphics internals once again ;-)

Read more...

Tags: drm, hyperz, r300, radeon, linux, kernel, mesa, arch, 32bit, linux, debug, glitches, fix, contribute, open-source, graphics, stack, analysis, 3D, optimization, tutorial, system, internals, hackerman, opengl, zbuffer, hiz, zmask, documentation

Debugging mesa and the linux 3D graphics stack

June 11, 2019 — Richárd Thier

Have you ever wanted to troubleshoot or even contribute to the linux graphics stack? Were you ever interested in doing a deep dive? Read on if you dare, but do not fear - I was rookie on the topic myself before I went for my hunt on a 50-1000% slowdown after some updates and a distro change.

I wanted to document the process of delving deep into open source drivers. I just wanted to put things together as it might be valuable for others wanting to do similar things - I was and still is a rookie for these things after all.

The power of open source: We can fix a more than decade old hardware getting a slowdown as easily as a new one! Fuck you planned obsolesence haha!

Read more...

Tags: mesa, arch, 32bit, linux, debug, slowdown, contribute, open-source, graphics, stack, analysis, 3D, optimization, tutorial, system, internals

Building your own mesa

June 04, 2019 — Richárd Thier

These days I was doing a debugging session on a slowdown somewhere in the linux graphics pipeline of mine after I have changed to arch linux. It have turned out to be a bug in mesa, but in order to corner the problem I had to compile mesa myself both in latest and earlier versions.

I have found that it is really easy to do so - nearly as "simple" as compiling and using your own kernel and it is well documented, but I had to use different information from different sites so I thought it is good to collect the relevant links in one place.

Read more...

Tags: mesa, build, compile, tutorial, linux

Termshot

February 06, 2019 — Richárd Thier

Have you ever wanted to create a "screenshot" of a linux terminal? Have you wanted to save the current screen as text-only file?

Enter termshot! A small app written by me for this purpose. :-)

See: http://github.com/prenex/termshot

Read more...

Tags: termshot, asciinema, ascii, vty, screenshot, text, txt, c, open-source, links2, git, linux, terminal, pro, hackz, sysinternals, friend

Awsome linux tools I: Screen capture and stuff

January 21, 2019 — Richárd Thier

When the idea of screen capture comes to our mind many usually think about the youtube-streaming stars and heavy-weight professional applications running on some then-hyped apple device or high-end PC computers.

If you are recording CGI or gaming videos maybe these are necessary anyways, but there are more hacker-friendly, lightweight ways - and on linux. :-)

Read more...

Tags: linux, tools, scripts, tricks, snipping, tool, screen record, mpv, mp4, gif, screenshot, video, youtube, asciinema, pro, following, cult, hacker

Make it work 2: GT 97 Racing - "playing" the game

January 19, 2019 — Richárd Thier

After creating the NO-CD version of the game it was time to play some is not it? It started out really hard and after perfecting the game while making it run without any lag... I have found that it is unbeatable on the first level even with a perfect drive!

It seems the internet is also complaining on this: People write on various places that there are versions which are unbeatable and versiouns which are beatable. Instead of finding a right versioun I thought it is best to go and 'play' a bit differently - 'play' with some debuggers and reverse engineering tools.

After all this became a much longer and harder journey than removing the no-cd code. The results are presented in this post, but if you are only interested in downloading the final binaries, scroll down to the posts end!

Also if you just want to see how I removed the CD-checks, look for the earlier post on this very same blog.

Read more...

Tags: retro, gaming, dosbox, crack, gtracing, hacking, assembly, debug, hack, linux, cdemu, make-it-work, gt, 97, racing, trainer, fix, patch, bugfix, checkpoint, time, issues, too, little, bonus, no, cd, no-cd, problem, cannot, beat, pwn, h4x00r, hackerman

Setting up my own ascii-casting on my blog

January 18, 2019 — Richárd Thier

Uploading live-code like recordings is handy for a blog in many ways. My machine is not the fastest to handle easy MP4 content creation software and I like lightweight solutions anyways.

Asciinema is a nice app for recording the terminal. It closely resembles termrec and earlier alternatives but is much more stable when it comes to handling editors and other things. In this post I show how have I set up a javascript player for asciinema recordings to work with my minimalist blog using bb.sh (bashblog)

Read more...

Tags: meta, asciinema, bashblog, asciicast, termrec, blog, terminal, lightweight, fun, tutorial, software-development, linux

Make it work: GT97 Racing

January 16, 2019 — Richárd Thier

Once I had this game (GT97 Racing) and now found it in nrg image format so I thought it is time to retroplay a bit with it, to find out sadly that the game does not work because of copy protection complains when trying with the NRG, cdemu, linux, dosbox environment.

The game uses CD checking in a way that does not work when the .nrg image is mounted with cdemu on linux and its drive directory is mounted with dosbox!

This is because the CD is a mixed-mode CD with audio tracks and allegedly the length of the tracks are used as copy protection.

Read more...

Tags: retro, gaming, dosbox, crack, gtracing, hacking, assembly, debug, hack, linux, cdemu, make-it-work, gt, 97, racing