Bly's Basic B* ASM


#1

Note: this shit is old, yo. Don’t murder me because I didn’t do the super sekrit opcode optimization teq-nique passed down through you family for generations. ᕳ ゚Д ゚ᕲ

FE5 Style RES (FE8)
Makes weapons with the magic bit set in4 the item editor use RES for magic calculation for both fighting and staves.
(FE8) FE5 Style RES Download

Delphi Shield Neutralizes All Effective Damage (FE7)
Made for Ghast, I thiiink? Does what it says on the tin.

[code]ORG $16886
SHORT $2000

ORG $1686A
SHORT $D016[/code]

Difficulty Sets Permanent Event ID (FE8)
Same as above, says what it tin on the does. Wait…
This specifically sets event ID1 0xB0.
(FE8) Difficulty Sets Perm ID # Download

Supply Command (FE8)
This is basically for use in FE8 to fill up the supply with items automatically, via events. The following macro is included.

#define Supply(ItemID,Durability,Amount) "_SETVAL 0x02 ItemID; _SETVAL 0x03 Durability; _SETVAL 0x04 Amount; ASMC SupplyGive|1"

If the supply fills up, it will leave the amount of weapons that were left to be added in event slot 0.
(FE8) Supply Command Download

Supply Hacks (FE8)
Some misc hacks, which you can easily remove from the inst1aller. I’ll just quickly repeat what they do right here: the first two allow Ephraim the same control of the Supply command as Eirika, including letting others use Supply when adjacent to him. The 3rd part allows supply to be used at any time during the story.
(FE8) Supply Hacks Download

Still working on that phoenix down and fe4 randomizer and stuffs, expect that soon.
Decided to post all this now since I’ve been busy af lately, and I figure I might as well.


#2

Repair Inventory Command (FE8)
This is for use in FE8 to add X uses to all of the active unit’s items. This ignores any weapons with usage of FF (which means it is unbreakable), and caps out the usage at 0xFE (i.e. if my item has 0xFD uses left, and i say to increase all item’s usage by 0x02, it will stay at 0xFE). The following macro is included.

#define RepairInventory(amountToAdd) "_SETVAL 0xC amountToAdd; ASMC AddToPerishables|0x01"

(FE8) Repair Inventory Command Download

still have some other stuff coming soonᵗᵐ
I’ve also edited all the links in the OP to automatically download rather than you have go to the dropbox page then download.


#3

So I know you meant this as a joke, but I’ve been reminded of this and feel it necessary to share:

A technique that was actually passed down through my family for generations (my grandfather gave my father this advice who gave it to me) is “Make everything as simple as it needs to be and no simpler”, the perfect example of which is something told to me as “vectorized opcodes”:

It allowed you to perform an operation to a register, and perform these operations on registers A through B inclusive.
For example, multiply r1-7 by r0.
This would be a singular opcode; that would take obscenely largening amounts of time to execute as the values in those eight registers increased.
To the point that your system would be quite likely, if not adequately cooled, to overheat and melt the CPU; 'cuz you can’t send an Interrupt signal during a single opcode’s execution; only between two opcodes.

Which, of course, means that the implementation, in an effort to make things simpler, makes it too simple to a detrimental level.

That’s a wildly different end of opcode optimization than the one you were talking about, though; so

«/tangent»


#4

what the fucq
edit: thats pretty cool tho


#5

Events as Supports (FE8)
This hack allows you to utilize the whole event engine for supports rather than just text. This means you can do things such as give EXP, give items, or set event IDs. There are a couple parts to it. First, in the Support editor, the slot for Text ID has now become something we’ll dub Support ID. The Support ID is just unique for every support convo. (i.e. eirika/seth c is different from eirika/seth b is different from eirika/ephraim c etc. etc. etc.) I’ve included an edited nmm. Next, in the event file, we need to set up a table underneath IDTable:. The following macro is included.

#define SupportTable(SupportID, EventLabel) "SHORT SupportID $0000; POIN EventLabel"

Next, you simply say what is in this event label. Remember, like a normal event, it will keep going until it reaches an ENDA. The following macro is included to imitate vanilla behavior.

#define SupportConvo(TextID) "TEXTSHOW TextID; TEXTEND; ENDA"

If it’s confusing, examples are provided for you in the included installer.
Lastly, I’d like the mention some special cases. When the Support ID is 0x0, then no events will be run. Similarily, if there is no SupportTable entry with the ID entered in the Support editor, the code will fail to find the ID and instead not run any events. Remember, please report any bugs here.
(FE8) Events as Supports Download


#6

The supply hacks download softlocks my ROM after moving a character before the menu can pop up. This happens in a clean ROM and my edited ROM. Anyone else have this?

EDIT: Fixed on Discord. This one has to be done in bl space.