News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

ORGAMS, the new CPC assembler!

Started by Hicks, 12:30, 21 February 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Hicks

Hi!
(I post this message here and not in "Application" because I'm not sure to be a "serious" CPC user :) )

We were working, Madram, Drill & me, on a new ROM based Z80 assembler (exploiting the X-MEM) since some months, and the first version has been released yesterday! You can download it here. Madram, Drill & me can answer to your questions on this Push'n'Pop thread. If you speak french, you can also read our dedicated Wiki. Check the full credit list on this page... and the next versions!

Feeback is welcome! Basically, we are DAMS/Turbo Assembler users, so if you are using MAXAM or something else, you can maybe suggest us some features (Hi TFM :) ).

Gryzor


Ast

Hello,


You can find OrgAms test here!
Have a good fun with this great tool.
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

TFM

#3
Quote from: Hicks on 12:30, 21 February 15
... so if you are using MAXAM or something else, you can maybe suggest us some features (Hi TFM :) ).


I'll check it out :-) Great news!!!  :)


Quote from: Gryzor on 13:03, 22 February 15
>run"#
>coucou!  :D :D


So... it only runs in the ROM - got it!  :P
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Ast

#4
I tried to import IMPdraw source code (coming from winape assembler) with OrgAms (control+i) and unfortunately, some last lines are missing... I've got a message error. :-\
Is winape assembler syntax different than Maxam asm syntax? Is it possible to import winape source code to OrgAms?


I noticed that defb, db, defw, dw... are not converted into byte, word... Is it normal ?


Edit :
Excuse me, i've forgotten to tell you what the error is.
So, Orgams has written "dos error"
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

TFM

Attention: Using OrgAms may need to adapt the burn program, since it uses fixed ROM numbers. It uses 10, and therefore may overwrite important other software  ;) . So adapt the basic listing to alter target ROM numbers.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Ast

This isn't an answer to my question TFM.  :-\
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

TFM

Was not referring to you. Was targeted to developers. I "just" start to take a look at OrgAMS since it's new.


But to your problem... try another disc, maybe it is like the message told, just a "dos error"
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Ast

I've already test another file in another disc... Verdict? Same error :-\
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Hicks

@AST: send me a test file, ok with WinAPE and corrupted with Orgams, and then we will check the problem...

Ast

Sorry but i can't send you iMPdraw code source, but i'll try with others sources written with winape and then, i'll tell you and will send it to you, for sure.
Return to basic with OrgAms is a little bit chaotic, because sometimes, it's bugged. I don't know why.
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

Ast

@Hicks : i sent you a winape asm example, good luck!
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

TFM

One suggestion... dunno if wanted / doable... IMHO it would be nice if OrgAms can handle hex number with # and &. So it would be great if there would be an option to switch between "#" and "&".  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Gryzor

I can't use this, but damn I love the font!!!:
[attachimg=1]


Any way to port this for use on Windows? Is the full charset available somewhere?

TFM

I'm *JUST* _REALLY_ glad to see that on the CPC! :) :) :)


:)  don't shoot me!
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

trabitboy

Quote from: Ast on 16:44, 26 February 15
@Hicks : i sent you a winape asm example, good luck!

Hello,
finally got some time to try Orgams on my untouched xmem  ;)
You seem to be working also on winape,
so I thought I would try in an emulator first ( because my sitting time in front of the actual machine is limited   ;D   ).

My problem is that the basic burn program fails at |BURN ,
which means I'm missing an rsx in winape ?
I am a newbie when it comes to rom, please don't shoot me!!!
I went through the options in winape, everything related to rom seems to be enabled .



TotO

As I know, the |BURN RSX allow to program the X-MEM ROM. No emulator actually support that.
Orgasm programmers are not related to the WinAPE programmer.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TFM

#17
Quote from: trabitboy on 15:34, 09 April 15
My problem is that the basic burn program fails at |BURN ,
which means I'm missing an rsx in winape ?
I went through the options in winape, everything related to rom seems to be enabled .

Since emulators in general do not emulate the new famous ACME hardware you have to do it an an real CPC. And from the CPC you can save the ROMs to disc and bring them to the PC for emulation.

Or take the ROMs from the DSK and put them into the emulator. But beware: The ROM numbers are hard coded (like in every super fast professional software). You can take a look at the BASIC program to see where to put the ROMs in an emulator.  :)


Try this DSK, numbers are indicated!



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

trabitboy



Quote from: TotO on 16:18, 09 April 15
As I know, the |BURN RSX allow to program the X-MEM ROM.

So if an xmem is present in the system, |burn is available ? is that right ?

Thanks also tfm for the detailed explanation, I just didn't think of feeding the roms from the emulator side [emoji1]

TFM

Oh, btw, iirc, the original DSK contains the BURN RSX (called XBURN or so) just in case you don't use FW 3.15 on your CPC X-MEM.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

trabitboy

Thanks a million, this is helpful :)
Try on real hw tonight !!!
( trying the roms on emu right now )

trabitboy

Could get it to run on emu successfully; after going through the wiki and trying a few things I have a question: does it import winape sources that have includes? How does this "ide" deal with multiple source?

I can easily concatenate all my sources into one but I don't like it too much, surely somebody else already had a need to work on multi source projects?

Otherwise super sexy, although I am still searching for my xmem in my boxes #shame# #full disclosure# to try it on real hardware.

madram

Orgams only handle one file at a time. My work-flow is to assemble separately each source, each with its jump table, and to burn the binaries in ROMs.
So, the main source remains very fast to assemble, without any drive access occurring.

This method has its limitations, thus 'includes' are meant to be included at some point, with a cache mechanism (i.e. included file is only loaded once).

But it's unlikely to happen before Christmas, except:

       
  • by popular demand.
  • someone's is willing to help in this area.
Oh! In case you've missed it, user guide here: UserGuide - ORGAMS
Feel free to fix remaining anglefish mistakes.

madram

#23
Request for comments

The ability to load binaries from source would be handy.
Even in Monogams, it would be better than LOAD from BASIC or HACKIT :
* no buffer/memory issue.
* can load anywhere, up to 64k. Would also work in special configuration (e.g. Bank &c2).
Then, the default would be to use file's loading address.

A contrario, within the source, we likely want to load from current position ($, or $$).
So, what would you prefer :

  load "donut.raw",$
or
  include "donut.raw"
or
  better solution yet.


In both cases, we will be able to load only a part of the file (mimicking the size parameter of save command):

    load "donut.raw",$,&200  ; first 512 bytes
    load "donut.win",$,-5    ; all but last 5 bytes

madram

Here is my comment !

Within the source, I think we need both, since behavior would be different:

       
  • LOAD to load at an arbitrary address, leaving $ and $$ untouched
  • INCLUDE to load at current $$, adding 'size' to both $ and $$
Put in other way, since LOAD can use an arbitrary address, it doesn't feel right to update $ or $$.
The behavior of LOAD would be exactly the same than the corresponding monitor command.
And of course, INCLUDE would make no sense in monitor.

Powered by SMFPacks Menu Editor Mod