Simpletro by Flood | ||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
|
popularity : 52% |
|||||||
alltime top: #22086 |
|
|||||||
|
||||||||
added on the 2013-09-24 17:29:35 by stf |
popularity helper
comments
:|
sucks added on the 2013-09-24 18:39:33 by CHEF-KOCH
Quite OK for a firstie!
Cool :)
+1 for the beginner´s effort.
-1 for the fact that you´re lucky that it works.
you have an idle loop jmp c0c1 at c0c1 but you never reach it.
infact, i really wonder where your idle loop is going after all.
since after the cli, you´re normally in the idle loop. but you continue straight into the interrupt routines (see c055 --> this jsr returns (possibly just an init) and then continues into the irq routine!)
you are lucky that somehow the idle strain (the line of operation, that you interrupt by your interrupts) seemingly never reaches your jmp $ea7e!
because else you would end up with a nice crash.
what i find really interesting is how it can get lost. the idle loop must be stuck somewhere in your interrupt routines which is then constantly interrupted by the irq and just just reaches a dead end.
to see what i mean, write in line c055 JMP $c132
ask yourself: where does the rts go, that then returns from $c132?
--> that is your idle loop.
-1 for the fact that you´re lucky that it works.
you have an idle loop jmp c0c1 at c0c1 but you never reach it.
infact, i really wonder where your idle loop is going after all.
since after the cli, you´re normally in the idle loop. but you continue straight into the interrupt routines (see c055 --> this jsr returns (possibly just an init) and then continues into the irq routine!)
you are lucky that somehow the idle strain (the line of operation, that you interrupt by your interrupts) seemingly never reaches your jmp $ea7e!
because else you would end up with a nice crash.
what i find really interesting is how it can get lost. the idle loop must be stuck somewhere in your interrupt routines which is then constantly interrupted by the irq and just just reaches a dead end.
to see what i mean, write in line c055 JMP $c132
ask yourself: where does the rts go, that then returns from $c132?
--> that is your idle loop.
and you may ask your self...why does this work? And you may tell yourself...
I'm jealous. I wish I could even have an idle loop at C055.
SYS 8675309
I'm jealous. I wish I could even have an idle loop at C055.
SYS 8675309
don´t get me wrong, i intended to be encouraging. you can actually use the the idle/main loop to do alot of things that are not time critical and usually you would interrupt whatever the main loop is doing with things that need to happen at a certain time. therefore irqs.
if you have found many productions using an useless main loop, you are right: thats not an optimal way.
i am very interested in what you come up with, next :-)
if you have found many productions using an useless main loop, you are right: thats not an optimal way.
i am very interested in what you come up with, next :-)
:)
I don't usually do encouraging first-prod thumb-ups,
but when I do it's because the prod pleased me and its french creator didn't go apeshit from the comments in the pouet-thread! :D
but when I do it's because the prod pleased me and its french creator didn't go apeshit from the comments in the pouet-thread! :D
Nice and clean.
hahahaha what slummy said
yeah simple but cute, thumb up for doing demo on C64 as first prod!
this code is fucked up on so many levels, that I have no idea how you have managed to get it even to work.
- you set up your irq vector to the start of your code instead of pointing it to the irq routine, thus every frame at rasterline $58 your code restarts from the very beginning (answer why main loop never crashes on an RTI caused by invalid return address)
- "main" "thread" goes right into the irq routine instead of idling on a jmp *
- Your irq fires at rasterline $58, then it busy waits for $100 and then for $5c, in the meanwhile passing the vertical blank, including the points where it should change border colors, instead of busy waiting... (starting at $58 -> waiting for $100, then you should miss colorchange at $5c)
maybe its that while your '"raster"' '"irq"' runs, its possibly re-interrupted, and you somehow get VERRY lucky and get out of the -busy-wait-self-interrupting-irq-also-main-loop- AND- init routine - fucked up diarrhera bullshit mess correctly.
- you set up your irq vector to the start of your code instead of pointing it to the irq routine, thus every frame at rasterline $58 your code restarts from the very beginning (answer why main loop never crashes on an RTI caused by invalid return address)
- "main" "thread" goes right into the irq routine instead of idling on a jmp *
- Your irq fires at rasterline $58, then it busy waits for $100 and then for $5c, in the meanwhile passing the vertical blank, including the points where it should change border colors, instead of busy waiting... (starting at $58 -> waiting for $100, then you should miss colorchange at $5c)
maybe its that while your '"raster"' '"irq"' runs, its possibly re-interrupted, and you somehow get VERRY lucky and get out of the -busy-wait-self-interrupting-irq-also-main-loop- AND- init routine - fucked up diarrhera bullshit mess correctly.
guess you mixed up your shit, because $58 seems to be a good LObyte value for your IRQ entry point, and you wanted your irq start at rline $00, but it didnt so you busy waited for $00?
consider lda blah sta bleh style instead of ldx ldy lda stx sty sta.
consider lda blah sta bleh style instead of ldx ldy lda stx sty sta.
and insert jmp * after cli, if you dont want to do anything in the "main", also use inc / dec d020 so you can clearly see where are your raster irqs happening.
For a firstro, clean little try. The music is really good and the design is ok. As I am not a C64 coder, I can't find in your prod weird bugs, sorry :-).
Clean for the firstie.
submit changes
if this prod is a fake, some info is false or the download link is broken,
do not post about it in the comments, it will get lost.
instead, click here !