Actually I use TED (Text EDitor), so I'll redirect output to a file ????
And I'll try new version as soon as it will be available ????
Ok! Let me know if that works. Apologies if this is inconvenient to run in Windows, I haven't seen a Windows machine for so long that sometimes I forget they even exist! hahaha sorry about that! But any suggestion to make it more convenient in Windows is appreciated!
Actually I use TED (Text EDitor), so I'll redirect output to a file ????
And I'll try new version as soon as it will be available ????
Oh, I'm sorry about those "????" that give to the message an urgency and/or a disappointment that there really isn't...
I'm writing from the smartphone and it automatically issued an emoticon instead of "" and those emoticons weren't recognized by the forum engine, I suppose...
haha, no problem! I hope it worked
I'm trying it right now. I'm curious about this (I don't get how it works):
INFO: Pattern-based optimization in ffplet.asm#263: Replace ld hl,304 with ld l,(304) & #00ff (1 bytes, 3 t-states saved)
can you explain it to me? seems to be a smart trick
It looks like it sees that the h register already contains 0x01, so only l needs an update ?
Exactly! This optimization can only happen in two different situations:
1) MDL has determined that H already contains 0x01, as ToriHino says
2) or, MDL has determined that the value of H will never be used later on, and hence only L needs to be set.
so this is another similar case, right?
INFO: Pattern-based optimization in ffplet.asm#1265: Replace ld hl,-128 with ld h,(-128) >> 8 (1 bytes, 3 t-states saved)
I'm applying manually all the optimizations, discarding those not necessary...
For example, in non-critical parts of code I replaced (time ago) all the direct JP with JR, to save some bytes. So I'm not applying the opposite replacement (I don't need speed, in title screen).
I have not reached critical zone, yet. But I haven't encountered optimizations in all the need-for-speed parts till now
wow, found an optimization that MDL hasn't found (same kind of one it spotted)
I have two labels that have same Hi byte
ramspttbl: equ 0e700h ;this is the SAT in RAM respawn_time: equ 0e78eh
they are both used inside the ISR in my "putsprite" routine. to move inside the SAT normally I do:
ld hl,ramspttbl
and point to desired byte using l
ld l,0-127
now I have this piece of code:
update_respawn_y: ld l,0 ld a,(hl) ;and add -2 to ypos until it reaches 130 add a,-3 cp 130 jp nz,continue_respawn ;if y>130 continue respawn ld a,2 ld (dead_flag),a respawn_y_updated: ; ld hl,respawn_time ld l,8eh ; <--- inspired by MDL dec (hl) jp nz,still_invisible