Code Monkey home page Code Monkey logo

Comments (9)

randomdude999 avatar randomdude999 commented on July 16, 2024 1

use optimize address ram and put your label in bank 7e, then asar will reduce it to a word access automatically. or you can juse optimize address mirrors which will reduce all accesses to $00-3f:0000-7fff to words automatically.

yeah, asar throwing "unknown command" on invalid instruction widths is a long-known issue.

from asar.

RPGHacker avatar RPGHacker commented on July 16, 2024

I think you're just using INC incorrectly here. What you probably want is:

INC LairsClreared

Not sure what INC #LairsClreared would even do. That looks like a pseudo-opcode to me. Like "increment accumulator $1E0A times".

from asar.

Alcaro avatar Alcaro commented on July 16, 2024

INC #LairsCleared means 'insert the INC A instruction [numeric value of LairsCleared] times'.

INC #2 is a normal thing to say. INC #<label> is not, unless you want to insert $1E00 instructions and waste a quarter of a bank and tens of thousands of cpu cycles.

The solution is remove the #.

from asar.

hellow554 avatar hellow554 commented on July 16, 2024

You're somewhat right. Now the error is:

hooks/lair_reveal.asm:6: error: (Eunknown_command): Unknown command.
    in block: [INC LairsCleared]

from asar.

RPGHacker avatar RPGHacker commented on July 16, 2024

Do you have a simple test patch that reproduces the issue?

I wasn't able to reproduce it with the following test code:

base $1E00
LairsCleared: skip 2

inc LairsCleared

This assembled without issues.

EDIT:
Also, could you specify what version of Asar you're testing in?

from asar.

hellow554 avatar hellow554 commented on July 16, 2024

INC.w LairsCleared works though. I try to come up with a simple test.

Version: both master and beta_2

from asar.

hellow554 avatar hellow554 commented on July 16, 2024

Testcase:

org $8000
base $1E00
LairsCleared: skip 2

org $A08000

inc LairsCleared

from asar.

RPGHacker avatar RPGHacker commented on July 16, 2024

I think that makes sense to fail. Asar considers LairsCleared to be in a different bank from where the inc is ($001E00 vs $A08000). So it tries to assemble inc.l which doesn't exist. So the explicit .w being required here makes sense (although admittedly the error message could be a lot clearer here - I think we might already have a TODO for that somewhere?).

Configuring the label optimizer might make it possible to remove necessity for the explicit .w, though.

from asar.

hellow554 avatar hellow554 commented on July 16, 2024

Configuring the label optimizer might make it possible to remove necessity for the explicit .w, though.

You mean because $1E00 is accessible in the $A0 bank it can be reduced to a word access automatically?

Closing as resolved, thanks! :)

from asar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.