Page 1 of 1

hi

Posted: Sun May 17, 2020 11:06 am
by Peter Swinkels
I am a vb.net developer who mostly dabbles in personal projects in his spare time. Started using computers during the mid 80s, mostly gaming and learned programming in Qbasic on a 386. My projects mostly include personal attempts at game development, database related stuff, small finance related stuff, reverse engineering and exploring the workings of computers and software.

On this forum I hope to learn more about x86 assembly language and the inner workings of the software I used to use all those years ago.

I would love to learn more about the other users here and their experiences.

Re: hi

Posted: Mon May 18, 2020 1:52 pm
by Voyager_sput
Hi Peter, welcome to the forums!

x86 assembly is very interesting, just not my personal cup of tea. I'm more of a 6502 programmer. What made you choose to go to x86 assembly from programming in a high level language such as VB.NET? Just out of curiosity for how to talk to the hardware?

Re: hi

Posted: Mon May 18, 2020 5:30 pm
by Peter Swinkels
Voyager_sput wrote: Mon May 18, 2020 1:52 pm Hi Peter, welcome to the forums!

x86 assembly is very interesting, just not my personal cup of tea. I'm more of a 6502 programmer. What made you choose to go to x86 assembly from programming in a high level language such as VB.NET? Just out of curiosity for how to talk to the hardware?
I have known a bit of x86 assembly for years. And, I fully intend to stick with high-level programming languages for most purposes. In my initial post I mentioned reverse engineering old software. I have already had some successes such as completely ripping apart Cartooners' (very old animation software) actor file format for example. And I managed to extract several interesting bits of data from the executable.

Back to the point: I can read and understand short x86 assembly code but don't really have the skill to make sense of the large stretches of code you get when disassembling an executable. Another game I tried to reverse engineer is a game called Alley Cat. With some patience I found instructions that manage the cat's (character controlled by the player in the game) life counter. E.g., decrease/increase/reset. You'd think finding the code that calls the code responsible for decreasing the number lives wouldn't be that hard. Buuut that is where my lack of skill at low-level x86 programming fails me. There must be a way to figure these things out.

What I hope to learn here is how.

Re: hi

Posted: Tue May 19, 2020 3:23 pm
by Voyager_sput
Yeah, reverse engineering your way through a decompiled piece of code, without any assembler provided labels or comments written by the original developers is not a easy thing. I've tried decompiling a few 6502 programs, and made some headway looking for RTS calls to return from a subroutine. I was able to piece together a few functions that way. However i didn't get much further then some functions calling a video or sound register for 'something'. I hope you'll get a better feel for it :)

Feel free to also pop into the Chibiakumas Discord channel (https://discord.gg/QYZUW5a) , there's quite a few assembler enthusiasts out there. Perhaps it'll help on your quest!

Re: hi

Posted: Wed May 20, 2020 9:00 am
by Peter Swinkels
Voyager_sput wrote: Tue May 19, 2020 3:23 pm Yeah, reverse engineering your way through a decompiled piece of code, without any assembler provided labels or comments written by the original developers is not a easy thing. I've tried decompiling a few 6502 programs, and made some headway looking for RTS calls to return from a subroutine. I was able to piece together a few functions that way. However i didn't get much further then some functions calling a video or sound register for 'something'. I hope you'll get a better feel for it :)

Feel free to also pop into the Chibiakumas Discord channel (https://discord.gg/QYZUW5a) , there's quite a few assembler enthusiasts out there. Perhaps it'll help on your quest!
Hehehe, looks like you had just about as much success as me. :-) Have you had any success at cracking file formats? Once, a few tidbits of info I found in a program's file actually helped decypher a huge chunk of data in the actual executable. Finding out that the program was actually a port from Amiga to x86 helped me understand why in the world the color palettes were stored in some bizarre 12 bit format and to decode them. Apparently Alley Cat is a port from the Atari 800. If you like I can share some info if you like. What kind of 6502 programs have you tried to decompile? I wouldn't surprised if some were ported to the pc.