I'm alive, despite the one post in the last 2 years. Time flies. Why the time away from here? Life, and also because of an issue I've had anytime I try and come back to assembly coding: it's so ugly.
For instance, see my last attempt at a game for SNES. I was so proud of myself for finding an assembler (bass) that leaves behind all the syntactical nastiness that we've come to see as normal. The lack of a linker was also a huge thing. Why make the assembler throw away all these details and give the bare minimum to a linker, then bother to fix errors from there? Support for multiple modules might make sense if you were assembling the code on a SNES, but who would torture themselves like that?
My point being, the code is still ugly, even with a more "modern" syntax and all the curly braces that come with it. For example:
Code: Select all
function sync {
php
a8()
-;bit >VBLSTATUS // wait for leaving previous vblank
bmi -
-;bit >VBLSTATUS // wait for start of this vblank
bpl -
plp
rtl
}
Code: Select all
-;bit >VBLSTATUS; bmi - // wait for leaving previous vblank
-;bit >VBLSTATUS; bpl - // wait for start of this vblank
This happens anytime I try to return to assembly coding; the beautification takes over the urge to actually write any new code. Why program a scrolling background when your routine to sync the VBlank is looking so nasty? Why get a sprite to move around the screen when the code to display it still isn't properly indented? The assembler may throw away the white space, but that doesn't mean you shouldn't lose sleep over it...sarcasm fully intended.
So the question: do you guys also experience this issue when writing assembly, and if so, what do you do to work past it? Does anyone else never have this issue with newer languages like C++? Is it possible that I made the problem worse trying to find a "modern" assembler?