What assembler for Next games?

If you like transforming your statements into code, this is the place for you

Moderator: Programming Moderators

Post Reply
User avatar
RetroRusty
Posts: 9
Joined: Tue May 30, 2017 12:25 pm

What assembler for Next games?

Post by RetroRusty » Sat Jul 08, 2017 1:52 pm

What assembler to you plan on using (or are already using) for coding games on the Next and why are you going to use (or already use) that particular assembler?

I thought seeing as there are so many assemblers to choose from, it would be good to see what people are using.

User avatar
Jonathan
Posts: 7
Joined: Wed May 31, 2017 4:52 pm
Location: Nottingham
Contact:

Re: What assembler for Next games?

Post by Jonathan » Sun Jul 09, 2017 9:38 am

Nextipede was written with SjAsmPlus and I'm also using it for the Next version of AGD.

Switched from 2500 AD to SjAsmPlus a few years ago as I needed an assembler that would build code at one address to be relocated and run at another during run-time. Absolutely essential for the Spectrum version of AGD which has to do a lot of memory management.

The editorless AGD compiler should produce code that will build with most assemblers, even ones that are not case-sensitive.

dave18
Posts: 86
Joined: Tue May 30, 2017 1:06 am
Location: Bristol, UK

Re: What assembler for Next games?

Post by dave18 » Mon Aug 07, 2017 6:15 am

I use PASMO as I like the way you can declare public symbols and export tables of them, essential for building code that uses bank switching. I expect other assemblers let you do this too but I started with PASMO and have never needed anything else.

User avatar
Timbucus
Posts: 230
Joined: Tue May 30, 2017 7:43 pm

Re: What assembler for Next games?

Post by Timbucus » Sun Aug 20, 2017 6:47 pm

Although it has a few quirks I am using the one from Z88DK as it is a linking assembler with segments you can do a single build with code for different memory banks etc. I also like the idea that eventually I will be able to use C around some of the work easily.
I'm Infinite Imaginations when not in work... PAWS for thought.

nitrofurano
Posts: 5
Joined: Mon Aug 21, 2017 7:08 pm

Re: What assembler for Next games?

Post by nitrofurano » Mon Aug 21, 2017 9:29 pm

Pasmo is the neatest one i found up to now - C-Bios (MSX bios software-libre replacement used on OpenMSX) was totally compiled on Pasmo

i also made some experiences coding assembly (only) on Boriel’s ZX-Basic Compiler, with no basic lines, and everything inline inside asm/endasm

hyphz
Posts: 54
Joined: Wed May 31, 2017 12:15 am

Re: What assembler for Next games?

Post by hyphz » Thu Aug 24, 2017 4:51 pm

At the moment I'm preferring Zeus for the IDE, but it doesn't support the extended opcodes yet - SNasm is the only one that does.

Alcoholics Anonymous
Posts: 513
Joined: Mon May 29, 2017 7:00 pm

Re: What assembler for Next games?

Post by Alcoholics Anonymous » Thu Aug 24, 2017 6:02 pm

hyphz wrote:
Thu Aug 24, 2017 4:51 pm
At the moment I'm preferring Zeus for the IDE, but it doesn't support the extended opcodes yet - SNasm is the only one that does.
z88dk/z80asm does too. It also brings linker / librarian functionality, simple assignment of code + data to memory banks and generates output in a variety of formats including raw binary, tap, sna and esxdos dot command.

hyphz
Posts: 54
Joined: Wed May 31, 2017 12:15 am

Re: What assembler for Next games?

Post by hyphz » Sun Aug 27, 2017 2:40 pm

Nice. I'll check that out. I just get a bit miffed at the Cygwin type dependencies.

Alcoholics Anonymous
Posts: 513
Joined: Mon May 29, 2017 7:00 pm

Re: What assembler for Next games?

Post by Alcoholics Anonymous » Sun Aug 27, 2017 6:36 pm

hyphz wrote:
Sun Aug 27, 2017 2:40 pm
Nice. I'll check that out. I just get a bit miffed at the Cygwin type dependencies.
Every night a windows build is created with everything ready to go. You just need to download the latest windows package ( http://nightly.z88dk.org/ ) and unzip. Set a couple of environment variables ZCCCFG and PATH ( https://www.z88dk.org/wiki/doku.php?id= ... nt#windows ) and go. If you want to update just delete the tree and unzip a new nightly build in the same place.

If you go the github route, prime the z88dk/bin directory with the nightly build's binaries. Some binaries there are from outside the project. Then you can compile the z88dk binaries when you want to using vs2015 and the sln file in z88dk/win32. zsdcc & zsdcpp are not part of the z88dk project yet - they exist in a separate repository at the moment but the nightly build will get you those binaries. Besides the binaries you will also need the z80 libraries built. For the newlib this can be done from a windows command prompt by running "Winmake all" from z88dk/libsrc/_DEVELOPMENT (and this is where the zx next target lives). The classic library's z80 lib has to be built using a linux compatible toolset like cygwin, msys, etc. On a pure windows install you can just steal that from the nightly build too. Just copy the contents of z88dk/lib/clibs . When you do a git update, you will have to rebuild the z88dk binaries (via vs2015 or copy from nightly) and rebuild the z80 libraries if these things are affected.

z88dk/z80asm works like modern tools with sections / object files / linker / librarian so there will be a difference in how code is organized compared to, say, pasmo or sjasm. But thing will be much easier when you start to write code for 2MB of memory :)

Post Reply