Is this good? I downloaded but Virustotal said 1/66 vendors gave > "MaxSecure Trojan.Malware.300983.susgen Acronis (Static ML) Undetected"
Probably a false positive but enough for me not to try it.
https://www.geeksforgeeks.org/c/bresenhams-circle-drawing-al...
The secret is to draw 1 arc of a 45 degree angle and the reflect it (redraw it with different coordinates).
Here is the repository owner explaining the process himself: https://github.com/Piddewitt/C64-Game-Source-Code
Nice work and interesting still, but maybe we can correct the title?
A lot of old games were written in assembly. The difference between the disassembled and assembled code is/was pretty minimal.
What you ultimately lose out on is the comments and perhaps jump location names depending on the assembler.
https://github.com/Piddewitt/Loderunner/blob/main/Lode%20Run...
Original source, I imagine, would be very tersely commented, if only to fit in memory / floppy, and would have very short variable and subroutine names, and lots of mess and commented-out lines from experiments.
This looks like a very lovingly done disassembly.
Commented source code of the C64 Lode Runner Game - Including the copy protectionThis is pretty cool.
Whatever happened to that guy?
Here it is in C (from my own notes)
SetCurrentRow1(y);
if (CURROW1[x] != 0) {
if (x != 0) {
if (CURROW1[x-1] == 4) {
TargetY = y;
if (y >= PlayerY)
return y;
} else {
SetCurrentRow1(y+1);
if (CURROW1[x-1] == 1 || CURROW1[x-1] == 2 || CURROW1[x-1] == 3) {
TargetY = y;
if (y >= PlayerY)
return y;
}
}
}
if (x < 27) {
if (CURROW1[x+1] == 4) {
TargetY = y;
if (y >= PlayerY)
return y;
} else {
SetCurrentRow1(y+1);
if (CURROW1[x+1] == 1 || CURROW1[x+1] == 2 || CURROW1[x+1] == 3) {
TargetY = y;
if (y >= PlayerY)
return y;
}
}
}
}
The bug can be seen on level 29 if you stand on the left set of blocks that has a single gold in it. The enemies will get stuck on the second ladder which has a pole on the right side.The Apple II, Atari 8-bit, Commodore 64, and naturally the VIC-20 versions of the game have this bug since they were all made by Broderbund. But interestingly so does the Hudson Soft NES port. The later Macintosh version, which is otherwise a direct port of the Apple II code, fixed it. The IBM-PC version didn't have this bug because it was rewritten with the memory layout column-ordered instead of row-ordered. But then introduced a similar bug by subtracting when it should be adding.
(edit: I hadn't checked until just now but I'm amused to find that Lode Runner Legacy from 2017 preserved this bug in the classic game mode.)
In the case of level 29[1], the best position on the second ladder is to move to the top then use the horizontal pole to move left. That's what it will do when below the right-side pole. But when it gets above that it switches to thinking it should move down. Because the goal changes it gets stuck in the loop of moving up then moving down.
What you may be thinking of is when the "best" position is at the top of a ladder but no clear path left or right. It will climb to the top so the only way to go next is down. But after moving down immediately wants to go up again.
[1] https://strategywiki.org/wiki/File:Lode_Runner_level29.png
phendrenad2•3mo ago
gabrielsroka•3mo ago
snvzz•3mo ago
It will still be a while until copyright expires, unfortunately.
Pannoniae•3mo ago