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.

HAL6128

@madram: just a short question: I tried the assembler for the first time. The "ret" command wont be recognized by the editor as a command but as a label? What do I do wrong? (It's too difficult to understand the French user guide correctly.)
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Ast

You must put a Space before the ret command as the other z80 opcodes or they Will be taken as label.
_____________________

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 !

HAL6128

...ah, that's easy! :)
Thank you very much for your short hint & help.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Ast

_____________________

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 !

madram

#29
Note: Orgams is very permissive for labels. 'ret' could be a label, not an advisable one for sure. Even 'd' is accepted, handy for quick debugging shortcut (i.e. 'dd' in monitor).

But you don't need any spaces when entered text can't be a label :

; Miaou
lda,-1 ; expand to  LD A,-1
exaf,  ; expand to  EX AF,AF



Note2: there is an English user guide, thanks to Shakespearean CPCWiki members: UserGuide - ORGAMS. Will be on disk in the incoming release.

madram


Thanks to the wonderful job of Drill and Hicks, I'm glad to announce the new official Orgams release: 'Codigo Con CPC'


HFE: http://orgams.wikidot.com/local--files/releases/Orgams-Codigo-Con-CPC.hfe
HFE+DSK+ROMs: http://orgams.wikidot.com/local--files/releases/Orgams-Codigo-Con-CPC.rar


User Guide: UserGuide - ORGAMS
Camembert: GuideUtilisateur - ORGAMS



Release notes 'Codigo Con CPC'


Bug fix:
* Bloc repetition was corrupted when corresponding source was overlapping 2 banks
* Division with MSB set in divisor (e.g. &240/&C0) was corrupted
* Sign was lost with sub-expression (e.g. -1/[1/1] or -1 mod [4 mod 5])
* Negative values for FILL, ORG and repetitions raise error.
* Bad expression for repetitions (e.g. undefined label) raise error.
* Proper binary save from 9800-HIMEM zone
* Returning to basic won't reset 9800-HIMEM zone anymore
* 'ORG &100' now correctly parsed (not as 'OR G AND 100')
* Assembling in RSX workzone (e.g. A6FC+) won't corrupt firmware (Orgams-wise) anymore
* Reset CRTC in RESTORE
* Mute AY in BRK/RESTORE
* At first invocation of BRK/Monogams, select RAM by default (lower & upper)
* Robuster memory detection
* Fix stack going down at each assemble / editor access.
* Numeric pad is active when invoking |m
* Block markers properly corrected when importing file
* LD B,(IX) doesn't crash anymore
* LD H,IXH doesn't crash anymore
* Miscellaneous search bugs (CONTROL F) corrected.


New features:
* Trace: Source visualization while debugging (imperfect, Orgams can be lost with conditional or repeated blocs)
* Trace: Memory visualization while debugging
* Trace: CONTROL UP/DOWN for faster navigation
* Monitor: Binary display with '?' command
* Monitor: Display restored zone when returning to BASIC
* Assembler: Can assemble up to #BF80, and in #C000-#FFFF page
* Editor: Free cursor
* Editor: TAB to repeat previous search (text or label)
* Editor: ESC to stop current search (only works with CONTROL F)
* Editor: CONTROL-ESPACE put/remove BRK
* Editor: CONTROL-C to display CATalogue
* Editor: Can join lines (DEL at first column). Corollary : 'DEL' after 'RETURN' cancels an unexpected split
* Editor: Use '&' for hexa, like in BASIC and MAXAM.
* Editor: Allow (IX) as shortcut for (IX+0)
* General: Use RAM from very last bank (&FF) to alleviate conflict with 256k RAM-DISC.
* General: Extension and Monogams ROMs can be burned everywhere (i.e. ROM 1 to 127)
* General: Allow |o,"source" (no need to write ".o")


Comming Next:
* Surprise
* Another surprise

TFM

SuperCool! Will give it a try very soon!!!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Targhan

I am getting stupid I guess. I did some tests with Orgams yesterday. Everything worked fine.
I tried again today, now everything is well assembled, but Jumping into the program does NOT execute it. It shows a little flickering of the screen (as if the RESTORE mnemonic was called) and returns to the assembler. I tried very simple program like:
ORG #1000
ld a,7
call #bb5a
ret


or even:
ORG #1000
jr $


The same behavior happens! It returns to the Assembler without doing anything.
I tried to save as binary, loaded in Basic and my code works. What am I doing wrong? The parameter at the top seem fine to me (#7fc0, LRAM, URAM).


The only thing I did today was plugging the PlayCity and typed some code to detect it (it works).


Thanks.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Targhan

#33
Mmmh, Ctrl+1 + Jump works, but Ctrl+2 returns to the Assembler.
But making some tests with the PlayCity really makes Orgams behave strangely.


(I have the latest version)
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Ast

Did you think about the "ent adress' command ?
If not, Orgams will do a jp #9000


My playcity is plugged and i use Orgams all the days. No problem with OrgAms.
Of course, i've ever do some test with my playcity...
_____________________

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 !

Targhan

"ENT" exists on Orgams? I never used it, but you must be right. Yet the "Jump" indicates #1000 (which is where my code is assembled). I'll try this evening, thanks!
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Targhan

Well, you were right all along! Missing ENT, but I don't understand how I missed the "jump" pointing at the wrong address, I'm pretty sure I triple checked. Anyway, problem solved. Thanks !
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Ast

Great !
Using OrgAms, a playcity on réal hardware !
I've an idea of what you're doing...  ;D
_____________________

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 !

Targhan

Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

m_dr_m

Preparing new release 'Fluffy Flags' for 2023/12/12. All known bugs won't be fixed though. Any one that particularly annoys you?

HAL6128

No bugs for me annoying me so far.
Looking forward to it.
What are the changes of this release?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

m_dr_m

#41
Good question!
If you go to Orgams Last Beta page, you'll find Change since lastest release (EE).

Now, the incoming changes are:
  • Fix bug#167 [Monogams UI] Garbage in status bar when label not found
  • Fix bug#162 [Assembler] Supernumerous 'END' not detected
  • New logo

HAL6128

Thank you.
Just a general question because I hadn't worked so much with the step tracer  / debugger: it is an emulation not a real step tracer (or have I read / understood something wrong)?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

m_dr_m

I'm not sure what is a step tracer then!

Yep it's emulated. Only Z80 and ROM/RAM connection for now.
As a benefit, it allows for instance fast trace until the instruction under the cursor.
Handy to fast-track a loop.

m_dr_m

Incoming (Per @Cwiiis request, thanks!)
  • Auto-completion also for CONTROL-L (go to label)
  • Fix bug#169 and #16A

HAL6128

Quote from: m_dr_m on 10:19, 05 December 23I'm not sure what is a step tracer then!

Yep it's emulated. Only Z80 and ROM/RAM connection for now.
As a benefit, it allows for instance fast trace until the instruction under the cursor.
Handy to fast-track a loop.

Yeah, that's what I thought. Step by step debugging. It would be be very, very handy to have also external devices and registers available with with OUTs and INs.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

m_dr_m

Some "logging" (eg. which value has been sent to which port) could be added quite easily.
Also, in some case we should actually write or read to the actual port. E.g.: 
ld a,&f5:in a,(&ff)Not to be blocked in flyback wait.

Do you have a specific use-case in mind?

HAL6128

Just a simple routine where I put for detection purpose a value in an external vram via OUT command and read it back with an IN.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

m_dr_m

Ok, so no emulation for the port, just doing the exact I/O (with slower timing though).
Should be pretty easy.

m_dr_m

Just by curiosity, instead of step by step trace, why not use normal execution + (conditional) breakpoint?

Powered by SMFPacks Menu Editor Mod