Author Topic: asmdream is waking up...  (Read 23007 times)

0 Members and 3 Guests are viewing this topic.

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: asmdream is waking up...
« Reply #75 on: July 29, 2011, 11:31:28 am »
That's pretty interesting.  Personally, I think you should make a new topic, in case some people don't see it here. ;)

I like the new splash screen. ;D

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #76 on: July 29, 2011, 12:09:34 pm »
Hey trumpet man...

Well, didn't really know if that specific tasm80.tab was used by lots of coders.
If you think that's worth it, maybe i should create a dedicated topic, indeed.
Add to that the fact that i found a 3rd error...

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #77 on: August 19, 2011, 04:59:44 am »
Some fresh news...

After infinite failed attempts, i finally found a way to force the os to open up the prgm editor upon exiting the app.
However, since the method is quite tricky, i won't get the render i wanted.

The sequence will look like this :

- An error is encountered during the process.
- The error details are displayed.
- The curious user selects the goto option.
- The app automatically quits.
- The os immediately shows a syntax error.
- If goto is selected, the prgm editor is opened for the concerned prgm (source or include), the cursor pointing to the line where the error was encountered.

Unfortunately, here are the drawbacks :

- The ugly ERR:SYNTAX menu.
- The user will have to select the goto option twice (one time in the app and one time when back to the os).
- Not possible to point to a token, only a line (The user will have to use his brain a bit, despite i didn't wanted that).
- I will have to modify my code again =[

I wouldn't say i'm proud of it but it's better than nothing and at least, it works =]
« Last Edit: August 19, 2011, 05:38:02 am by the_mad_joob »

Offline ZippyDee

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +83/-8
  • Why not zoidberg?
    • View Profile
Re: asmdream is waking up...
« Reply #78 on: August 19, 2011, 06:14:17 am »
There must be SOME way to get it to work. Axe Parser does it if you press [PRGM] on the error screen when compiling...Ask Quigibo how he does it.
There's something about Tuesday...


Pushpins 'n' stuff...


Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #79 on: August 19, 2011, 07:01:12 am »
PM sended.
Thx for the tip zippy =]

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #80 on: November 24, 2011, 09:24:01 am »
Some little fresh news about the project :

Current size is about 17K, and final will probably be around 20 (2 pages app confirmed).
The code part will probably be finished in a few weeks.
It took longer than expected, cuz i did lots of changes since.
I'm also optimizing the best i can, in real time (trust me, would be too dangerous to perform post-optim with such code).
The way i coded it (and if everything works as expected), asmdream should handle things such as high level language libraries (soundz juicy i know =]).

z80 ops are now hard-coded and threated using my new 4-levels indexing algorithm, which should improve the assembling speed significantly.
On the other hand, i reduced the assembler limitations to the max i could, and there's a chance it'll have a negative impact on assembling speed (definitely hope not).

It will handle up to 17 different error types.
That said, still have to find how to code a custom goto routine... (@Quigibo : help me plz you're my only lead there =])
« Last Edit: November 24, 2011, 11:40:43 am by the_mad_joob »

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: asmdream is waking up...
« Reply #81 on: November 24, 2011, 09:36:48 am »
Nice!
I'm not a nerd but I pretend:

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #82 on: November 25, 2011, 10:41:10 am »
> all procedures complete <

current overall size (bin) : 17830 bytes

left to do, in order :

> main code for passes 1, 2, and 3 (represents less than 10% of the whole code)
> debugging part 1
> screeny for u guyz =]
> hardware-specific include prgm(s) (basically some boring reformating job)
> debugging part 2
> find a way to code the goto feature and do it
> debugging part 3
> jp>jr optimization
> readme
> upload beta @www.ticalc.org
> create dedicated topic @www.omnimaga.org

I can make it...
« Last Edit: December 07, 2011, 07:36:49 pm by the_mad_joob »

Offline LincolnB

  • Check It Out Now
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1115
  • Rating: +125/-4
  • By Hackers For Hackers
    • View Profile
Re: asmdream is waking up...
« Reply #83 on: December 01, 2011, 10:29:18 am »
Very nice! I don't code ASM, I'm more into the Axe side of things, but this sounds pretty neat.
Completed Projects:
   >> Spacky Emprise   >> Spacky 2 - Beta   >> Fantastic Sam
   >> An Exercise In Futility   >> GeoCore

My Current Projects:

Projects in Development:
In Medias Res - Contest Entry

Talk to me if you need help with Axe coding.


Spoiler For Bragging Rights:
Not much yet, hopefully this section will grow soon with time (and more contests)



Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #84 on: December 09, 2011, 06:17:09 pm »
Thx =]

*****

left to do :

> code for passes 1, 2, and 3
> debugging part 1
> screeny for u guyz =]
> hardware-specific include prgm(s) (basically some boring reformating job)
> debugging part 2
> find a way to code the goto feature and do it
> debugging part 3
> optimization
> readme
> upload beta @www.ticalc.org
> create beta-testing topic @www.omnimaga.org

As promised, the new algorithm, which is waaaaay faster :


Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: asmdream is waking up...
« Reply #85 on: December 09, 2011, 07:13:29 pm »
Looks awesome!!!

I use mimas now, but am frustrated over the lack of macro support. This will help a lot. Maybe you could include support for including appvars as headers? like convert ti83plus.inc into appvTI83PLUS. That way, we dont have to define every b_call address or system ram pointer/flags offset.

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: asmdream is waking up...
« Reply #86 on: December 09, 2011, 08:06:09 pm »
Oh, hey, did your question ever get answered about jumping to errors? I do this in Grammer, so I do know how to do this, but to make life easier, you will need to only allow it for programs in RAM. Anyways, what I would do:

-At the beginning of the program, store the source file name at address 9652h. Since you must at some point have the name of the program in OP1, just copy OP1 here.
-Next, get the size of the program and make sure to have a pointer to the data (not the size bytes)
-Store the address of where the program data is at 965Bh
-Add the size of the program to the start address to get the end of the source file and store it to 965Fh

Now you are all set up. When you need to jump to an offending byte, store the address to 965Dh and then just use bcall(_JError)

I hope this helps!

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #87 on: December 09, 2011, 08:34:02 pm »
Looks awesome!!!

I use mimas now, but am frustrated over the lack of macro support. This will help a lot. Maybe you could include support for including appvars as headers? like convert ti83plus.inc into appvTI83PLUS. That way, we dont have to define every b_call address or system ram pointer/flags offset.

Thx =]

asmdream only reads prgms, which can be sources, label libraries and macro libraries.
With prgms, the user is free to consult them, just like he'd do on a computer.
I plan on creating maybe half a dozen includes with useful equates.
More precisely, this is the next thing on my todo list =]

*****

Oh, hey, did your question ever get answered about jumping to errors? I do this in Grammer, so I do know how to do this, but to make life easier, you will need to only allow it for programs in RAM. Anyways, what I would do:

-At the beginning of the program, store the source file name at address 9652h. Since you must at some point have the name of the program in OP1, just copy OP1 here.
-Next, get the size of the program and make sure to have a pointer to the data (not the size bytes)
-Store the address of where the program data is at 965Bh
-Add the size of the program to the start address to get the end of the source file and store it to 965Fh

Now you are all set up. When you need to jump to an offending byte, store the address to 965Dh and then just use bcall(_JError)

I hope this helps!

I already tried this method but couldn't get it to work like i want.
You convinced me to try again.

Thx =]

*****

BONUS : asmdream assembling a prgm that creates a basic prgm, and run them both :

« Last Edit: December 09, 2011, 08:49:41 pm by the_mad_joob »

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: asmdream is waking up...
« Reply #88 on: December 09, 2011, 10:26:41 pm »
That's cool

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: asmdream is waking up...
« Reply #89 on: December 10, 2011, 10:37:17 am »
Thx =]

*****

Oh, hey, did your question ever get answered about jumping to errors? I do this in Grammer, so I do know how to do this, but to make life easier, you will need to only allow it for programs in RAM. Anyways, what I would do:

-At the beginning of the program, store the source file name at address 9652h. Since you must at some point have the name of the program in OP1, just copy OP1 here.
-Next, get the size of the program and make sure to have a pointer to the data (not the size bytes)
-Store the address of where the program data is at 965Bh
-Add the size of the program to the start address to get the end of the source file and store it to 965Fh

Now you are all set up. When you need to jump to an offending byte, store the address to 965Dh and then just use bcall(_JError)

I hope this helps!

Tried it again.
Here are the encountered problems :
1) _jerror always jumps to the 1st byte of the prgm, no matter which value i stored into nextparsebyte ($965D).
2) My custom error messages are already coded (without error handler) so it would be definitely good if i could find a way to directly jump to the problematic token (avoid the "ERR:XXXXX" menu display).
« Last Edit: December 10, 2011, 10:38:01 am by the_mad_joob »