News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_JAC!

Poll: Common Z80 Cross-Assemblers in use / WUDSN IDE

Started by JAC!, 10:25, 16 June 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JAC!

Hi there,

my name  is Peter Dell/JAC! and I'm the author of WUDEN IDE, a cross-platform IDE for 6502 based systems like Atari, Apple and C64,

https://www.wudsn.com/index.php/ide

https://www.youtube.com/playlist?list=PLD57AEE018938BA5E


My first machine in 1984 was a ZX81 which I had to solder together. One year later at christmas I went to buy a ZX Spectrum but it was sold out.
So I bought an Atari 800 XL instead and the rest is history :-)


Over the years I have received a numer of requests for Z80 support and ZX Spectrum and CPC targets in my IDE. 
Since every assembler is different ( = work for me)  I'd like to know if there is some kind of "de facto standard" assembler for the ZX Spectrum / CPC. If possible is should be under active maintenance, so feature I can file bug/feature requests when required.

Cheers, JAC!



Targhan

Many people still use the Winape embedded assembler, but it is somehow limited. I think many switched to RASM lately. Roudoudou is very fast at adding new features and correcting bugs.
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

Thinking about it, many people also code in C (using CPCtelera for example). I don't know how how it could integrate with your IDE though.
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

SOS

PASMO http://pasmo.speccy.org/

With Phactory as an IDE, but an IDE with more functions are interesting  :D

SRS

A lot of us use "MAXAM"-compatible ASM.
Second most should be the syntax of asm cpctelera uses

mahlemiut

Quote from: SOS on 14:53, 16 June 18
PASMO http://pasmo.speccy.org/

I wrote a very basic Qt IDE that uses Pasmo to make some simple CPC programs.  You'll need to compile it to use it, however.  Builds on Linux, should also build on other OSes.
https://github.com/mahlemiut/cpcbuilder
- Barry Rodewald

Widukind

Hallo JAC.

A nice IDE would be a good idea. Do you use Java Eclipse as your framwork?

P.S. Targhan's mentioned CPCtelera looks amazing! (I am new to cross-developing for CPC)  Is CPCtelera's Spanish author and professor also on this forum?

pelrun

I've been seduced by Visual Studio Code, it's very very nice. Free, multiplatform, language agnostic, extensions for everything under the sun (including Z80 syntax highlighting.) And it's easy to work with a cpctelera codebase in it.


Eclipse can die in a fire now. That monstrosity has caused me so much pain!

Targhan

QuoteIs CPCtelera's Spanish author and professor also on this forum?


Yes, his nickname is @ronaldo .
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

keith56

It's WinAPE all the way for me, though I'm looking at Notepad++ and VASM as an alternative for building gameboy GBZ80 code.

VASM supports 6502 and 68000 too, and it's 'OldStyle' syntax mode is very similar to WinAPE's - to be honest, I think Winape lets you get away with things no other assembler will!

I've made some notes on differences between Winape and Vasm on my website, and I've uploaded Windows builds of VASM with all possible configurations... I'm planning to start covering VASM next week in my tutorials
http://www.chibiakumas.com/z80/vasm.php
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

JAC!


Thanks a lot you all you feedback so far.


My aim to to give people who'd like to start assembly coding a good and easy start.
Not to convince those who already built their own environment over the years.


Quote from: Widukind on 10:59, 17 June 18
Do you use Java Eclipse as your framwork?
More precisely I use the Eclipse Platform Runtime as the basis.
That is the core worspace/project/extension framework with comes with around 60MB and gives you everything you need.
My IDE has over 200 installations across all OS platforms (Windows, Mac, Linux) and targets.


Quote from: pelrun on 12:52, 17 June 18
Eclipse can die in a fire now. That monstrosity has caused me so much pain!
See above. People typically mix up the Eclipse JDT or J2EE Edition with tons of server relates stuff with the excellent core framework.
So no point in flaming Eclipse, really. I also use Qt and VS on a regular basis and their have their dark sides, too.


My summary so far:
PASMO looks OK, but there is only a beta and no development recently.
RASM looks very good for CPC, esp. because of the direct support for banks and the specific binary output formats and because it's in active development.
VASM looks more general (which make it also more complex) and I could not find the details on the output compatibility for CPC/ZX so far.


So for a ZX specific answer I'll do the same in WoS.


Thanks, again, JAC!

ervin

Another vote for RASM.
It's absolutely outstanding, and *very* fast.

GUNHED

Hi! If you want to support the CPC and FutureOS I can help you with any information you need.  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

keith56

Quote from: JAC! on 07:31, 18 June 18
VASM looks more general (which make it also more complex) and I could not find the details on the output compatibility for CPC/ZX so far.
Vasm outputs raw binary code, so you need to put the correct file headers onto it and build it into a disk/cart image for the destination platform (eg MSX/ZX spectrum etc...) that you're loading to, but I was doing that when I was building spectrum & MSX files with Winape anyway, so it's all the same to me.... I'd rather have total control than rely on something else to do the work for me (and it's not like anyone programming in ASM has chosen the easy route!), as I'm unlikely to find anything that can do the cross platform stuff to the extend I want
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

pelrun

Quote from: JAC! on 07:31, 18 June 18
See above. People typically mix up the Eclipse JDT or J2EE Edition with tons of server relates stuff with the excellent core framework.
So no point in flaming Eclipse, really. I also use Qt and VS on a regular basis and their have their dark sides, too.


*deep breath*

Hey, it's not cool to tell me my experiences are invalid and justify it by assuming I installed the wrong version of it. All my experiences have been with Eclipse CDT. And how every microcontroller vendor has released their own custom Eclipse based IDE with integrated plugins requiring me to have 5 independent installations simultaneously *all of which end up invoking arm-none-eabi-gcc with minor differences*, and how the plugins don't play well with each other, and how half the build environment is hardcoded into an extension so good luck if you don't want to build your project exactly the way the extension author wanted it, the project file symlinking support is simultaneously too complex and also incapable of doing some basic things, and how the Eclipse Foundation make breaking changes in every major release forcing you to rebuild your install configuration from scratch if you want to upgrade (and of course the vendor-supplied plugins stop being updated anyway so you're stuck on Eclipse Ganymede forever)

At least it was free. And you can get stuff done with it, so if it works for you that's great. I'm just too tired to deal with it anymore.


I'm using Keil right now for work and considering the thousands of dollars the license costs per year, it's amazing the things it's IDE fails at. You shouldn't have to learn how to identify when the debugger flat out *lies* to your face...

GUNHED

Coming back to assembler, on CPC-side everything should be compatible to the MAXAM assembler. IMHO that's a kind of prerequisite.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Targhan


Quoteon CPC-side everything should be compatible to the MAXAM assembler

The whole point of his IDE is, I guess, NOT to be on CPC side. Maxam was awesome, but modern assemblers are way better.
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

GUNHED

Well, If I have to rewrite anything than this will be no gain for me at least.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

andycadley

It's worth noting that if you ask this in a Spectrum forum you'll get an almost universally different list of options. The assembler toolchains that most people use there are often very different to the CPC crowd (not entirely sure why)

keith56

Quote from: GUNHED on 13:50, 19 June 18
Coming back to assembler, on CPC-side everything should be compatible to the MAXAM assembler. IMHO that's a kind of prerequisite.  :)
I think pretty close maxim compatibility would be very important for new CPC developers, as otherwise many of the examples you see online may not work, nothing worse as a beginner than copying-pasting a code example, and it not doing anything!
That said, for 'beginner' CPC-ASM development, I don't see how anything can beat WinAPE for speed and ease of use.
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

roudoudou

Quote from: keith56 on 22:32, 19 June 18
That said, for 'beginner' CPC-ASM development, I don't see how anything can beat WinAPE for speed and ease of use.


Did you try to press ESC in the winape editor?  ;D  Many bugs in the assembler AND the editor. Bugs that a beginner won't understand
My pronouns are RASM and ACE

GUNHED

Even if I bought MAXAM II (for 150 bucks back the day, special price from a friendly computer shop), still using MAXAM 1.15 on ROM, and yes using an Emulator with full speed makes things about 10-15 times more quick. I never found time to even convert things from MAXAM to MAXAM II, the latter one provides some really great features though  :)


If not MAXAM compatible, then it would be good to have an option to import MAXAM source.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

mr_lou

Am I the only one using NetBeans?  :)

I switched to Eclipse 3 times because people kept telling me how lame NetBeans was and how great Eclipse was. But every time I tried to find this greatness in Eclipse I just failed, and then went back to NetBeans again. Conclusion: People are crazy. (Or else I am).

I use NetBeans for all my coding - except CPC coding. I should try using it for CPC coding too I guess. When I created "Space Rivals" I just used a plain ASCII editor. I'm hardcore like that.  :P


Widukind

Quote from: mr_lou on 05:02, 21 June 18
Am I the only one using NetBeans?
Welcome to the long time Netbeans developer club. :-)

JAC!

Quote from: pelrun on 10:46, 19 June 18
Hey, it's not cool to tell me my experiences are invalid and justify it by assuming I installed the wrong version of it. All my experiences have been with Eclipse CDT.
I didn't mean to be provoking, sorry if it sounded like that. The point is that the Eclipse Runtime, Eclipse JDT and Eclipse CDT are totally different animals. I use Eclipse Runtime and have been able to keep my plugin compatible for 9 years for all versions now without issues. CDT (and in my opinion also Visual Studio C++ and Qt) are pain on all plaforms, simply because of the way C++ has too many degrees of freedom on the one hand (macros, preprocessor) to make things like refactoring work correctly. And deficits on the other hand (no inplace code replacment due to linking, garbeld runtime information unless you build a debug version separately, separate header files, cumbersomer namespace concept... ). So all I ask is to no judge the IDE by the fact that is build on "XYZ", but on the way in feels and works for what it is designed.


Also I'm not here to convince anybody with a working environment to change that. My aim is to lower the barrier for people what want to get started. 


Today I finally got the confirmation for the World of Spectrum Forum. Let's check what the other Z80 folks tend to do. Thanks again for all your feedback!

Powered by SMFPacks Menu Editor Mod