On this page
  1. Related
  2. Games
  3. References
  4. Sources

A magic meter is a gauge that spells or magic items draw on, filled by pickups. Zelda II builds it from magic containers of 32 units each1. Each spell’s cost there falls with Link’s magic level2. A Link to the Past gives each magic item three costs, and one byte picks the column for every item3.

Games

GameYearHowNote
Zelda II: The Adventure of Link1987Spell levelseach spell's cost falls with the magic level, from a table of eight levels
The Legend of Zelda: A Link to the Past1991Consumption levela cost per item, from one of three columns that a single byte picks
Every claim about this mechanic, by game (3)

References

  1. ^ abA new game starts with four heart containers and four magic containers. Picking up a container adds one, and a full meter holds 32 units per container less one, so four containers fill to 127.CodeFiendsOfTheElements/z2disassembly
    How we know
    17AFF - Number of Magic Containers to begin game … 17B00 - Number of Heart Containers to begin game
    src/prg5.asm#L7062-L7064 · upstream ↗
    6165    INC      $0775,x                   ; 0x1e7dd $E7CD FE 75 07                ; 0E = Magic Containers, 0F = Heart Containers
    
    src/prg7.asm lines 6158–6165 at c4c3a4c · upstream ↗
    1823    LDA      $0783,x                   ; 0x1cb28 $CB18 BD 83 07                ; Current number of Magic/Heart Containers
    
    src/prg7.asm lines 1815–1831 at c4c3a4c · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  2. ^ abA spell's cost comes from an 8 × 8 table by spell and magic level, in meter units (32 per container). Shield costs 64 at magic level 1 and 32 from level 4; Life costs 140 at level 1 and 100 from level 5; Thunder costs 240 until level 7. Casting fails when the meter can't cover the cost.CodeFiendsOfTheElements/z2disassembly
    How we know
    Table_for_Magic_Needed_for_Spells: … 40 30 30 20 20 20 20 20 Shield … 8C 8C 78 78 64 64 64 64 Life … F0 F0 F0 F0 F0 F0 C8 80 Thunder
    src/prg0.asm#L2161-L2177 · upstream ↗
    2200    ADC      $0778                     ; 0xdf8 $8DE8 6D 78 07                  ; Add Magic Level to get magic usage (index)
    ⋮
    2205    BCC      L8E3B                     ; 0xe03 $8DF3 90 46                     ; if Carry Clear (not enough magic) goto $0E3B
    
    src/prg0.asm lines 2196–2205 at c4c3a4c · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  3. ^ abEach magic item's cost comes from a table with three columns, and one byte, $7EF37B, picks the column for every item. The rods cost 16, 8, or 4; the medallions 32, 16, or 8; the powder 8, 4, or 2; the lamp 4, 2, or 2.Codespannerisms/usdasmrevised
    How we know
    9964ItemMagicCost:
    ⋮
    9967|07B087| db $10, $08, $04 ; rod
    9968|07B08A| db $20, $10, $08 ; medallion
    9969|07B08D| db $08, $04, $02 ; powder
    ⋮
    9973|07B099| db $04, $02, $02 ; lamp
    
    bank_07.asm lines 9964–9975 at bcdd96e · upstream ↗
    9990CheckMagicCost:
    ⋮
    9993|07B0AD| LDA.w ItemMagicCost.offset,X
    9994|07B0B0| CLC
    9995|07B0B1| ADC.l $7EF37B
    ⋮
    9998|07B0B6| LDA.w ItemMagicCost.cost,X
    ⋮
    10001|07B0BB| LDA.l $7EF36E
    
    bank_07.asm lines 9990–10007 at bcdd96e · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

Sources

Code