Jump to content



0

Aquarius programming & Emulator accuracy


10 replies to this topic

#1 barnieg OFFLINE  

barnieg

    Chopper Commander

  • 149 posts
  • Location:Rugby, England

Posted Tue Nov 30, 2010 5:08 AM

In between Atari coding challenges as I started programming on an Aquarius I'm looking at seeing what I can do now. What sort of support is there for C or Assembly cross compilers for targeting the Aquarius? Or do I have to resort to Poking Data statement values in basic? :~)


Finally as I can't see my self getting a real Aquarius how accurate are the current Emulators and what is the best one to use?

Thanks
Barnie

#2 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,781 posts
  • Busy bee!
  • Location:North, England

Posted Tue Nov 30, 2010 5:29 AM

The Aquarius is Z80 based so you'd probably want to look at doing a support library for SDCC to roll your own "C" development system.

#3 barnieg OFFLINE  

barnieg

    Chopper Commander

  • 149 posts
  • Location:Rugby, England

Posted Tue Nov 30, 2010 9:38 AM

I've just found that z88dk supports the Aquarius that might be easier for my limited abilities at least to start :)

Have you any experience of using z88dk compared to sdcc?

thanks
Barnie


View PostGroovyBee, on Tue Nov 30, 2010 5:29 AM, said:

The Aquarius is Z80 based so you'd probably want to look at doing a support library for SDCC to roll your own "C" development system.


#4 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,781 posts
  • Busy bee!
  • Location:North, England

Posted Tue Nov 30, 2010 9:48 AM

View Postbarnieg, on Tue Nov 30, 2010 9:38 AM, said:

I've just found that z88dk supports the Aquarius that might be easier for my limited abilities at least to start :)

SDCC is used by the Colecovision programmers so you'd be able to ask them for some help on AA if you had any issues with it.

Quote

Have you any experience of using z88dk compared to sdcc?

No experience of SDCC or Z88DK or even the Aquarius itself. However, I program in my day job so I've plenty of compiler/system/embedded experience.

#5 JamesD ONLINE  

JamesD

    River Patroller

  • 3,013 posts

Posted Wed Dec 15, 2010 2:55 PM

Z88DK has some libraries that haven't been duplicated for SDCC yet but the SDCC compiler is more ANSI compliant and generates better code. At least when I last looked at the two.

#6 barnieg OFFLINE  

barnieg

    Chopper Commander

  • 149 posts
  • Location:Rugby, England

Posted Wed Dec 15, 2010 4:24 PM

I've been able to compile and run simple programs with Z88DK, I've looked at SDCC and I haven't been able to find any simple documentation on targeting platforms, I might be missing something obvious any pointers?

thanks
Barnie

#7 jaybird3rd ONLINE  

jaybird3rd

    Quadrunner

  • 5,248 posts
  • Location:Northeast Alabama

Posted Wed Dec 15, 2010 4:52 PM

I've tinkered with Z88DK, getting as far as a simple "Hello World" program, but the fact that somebody created an Aquarius library for it made me more interested in looking at Z88DK than SDCC (which I've never tried).

The only problem I had with Z88DK is that its default format for compiled Aquarius software is a cassette tape image (a simple BASIC loader and a binary array). I'm much more interested in creating cartridge binaries. I'm sure it's possible to reconfigure the compiler to allow this, but I haven't looked into it again since my first simple experiments. My work on the Aquarius so far has all been in assembly.

#8 barnieg OFFLINE  

barnieg

    Chopper Commander

  • 149 posts
  • Location:Rugby, England

Posted Thu Dec 16, 2010 1:18 AM

I really should have got some sleep last night :) Anyway I've got a little further than hello world with z88dk, and yes the 2 part cassette loading is a pain. What assembler are you currently using?, and have you any pointers to creating a simple assembly program? I'm posting the sample in Intellivision / Aquarius, although it would probably be better suited to an Aquarius programming subforum if we had one!

Barnie

View Postjaybird3rd, on Wed Dec 15, 2010 4:52 PM, said:

I've tinkered with Z88DK, getting as far as a simple "Hello World" program, but the fact that somebody created an Aquarius library for it made me more interested in looking at Z88DK than SDCC (which I've never tried).

The only problem I had with Z88DK is that its default format for compiled Aquarius software is a cassette tape image (a simple BASIC loader and a binary array). I'm much more interested in creating cartridge binaries. I'm sure it's possible to reconfigure the compiler to allow this, but I haven't looked into it again since my first simple experiments. My work on the Aquarius so far has all been in assembly.


#9 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,781 posts
  • Busy bee!
  • Location:North, England

Posted Thu Dec 16, 2010 2:27 AM

View Postbarnieg, on Thu Dec 16, 2010 1:18 AM, said:

I'm posting the sample in Intellivision / Aquarius, although it would probably be better suited to an Aquarius programming subforum if we had one!

Intellivision has its own programming forum :-

http://www.atariage....on-programming/

I don't think anybody would mind if you posted Aquarius stuff in there too.

#10 jaybird3rd ONLINE  

jaybird3rd

    Quadrunner

  • 5,248 posts
  • Location:Northeast Alabama

Posted Thu Dec 16, 2010 3:39 AM

View Postbarnieg, on Thu Dec 16, 2010 1:18 AM, said:

I really should have got some sleep last night :) Anyway I've got a little further than hello world with z88dk, and yes the 2 part cassette loading is a pain. What assembler are you currently using?, and have you any pointers to creating a simple assembly program? I'm posting the sample in Intellivision / Aquarius, although it would probably be better suited to an Aquarius programming subforum if we had one!
I'm using the Telemark Assembler; a shareware version of it is bundled with the Virtual Aquarius emulator (which, to answer your other question, is generally considered to be the best emulator for the Aquarius). I didn't have another Z80 assembler handy when I began programming for the Aquarius, so I tried TASM and liked it. You'll also find source code for a few utilities (cartridge dumpers and such) in the Virtual Aquarius archive, so you can look at those as a starting point.

I don't have any "sample code" of my own to share yet, but creating an Aquarius cartridge binary in assembly is very easy. The execution of the cartridge starts at $E000, but the first sixteen bytes are used by a cartridge header, so the code needs to begin at $E010. The cartridge header is an encrypted 8-bit "scrambler code" which is ORed by the system with every byte that is read from the cartridge space; it's a very weak form of security. For testing my code, I simply copy the first sixteen bytes of the "Zero In" cartridge image (also bundled with Virtual Aquarius), which corresponds to a zero scrambler code, into the first sixteen bytes of my own cartridge image.

#11 jaybird3rd ONLINE  

jaybird3rd

    Quadrunner

  • 5,248 posts
  • Location:Northeast Alabama

Posted Thu Dec 16, 2010 3:53 AM

View PostGroovyBee, on Thu Dec 16, 2010 2:27 AM, said:

Intellivision has its own programming forum :-

http://www.atariage....on-programming/

I don't think anybody would mind if you posted Aquarius stuff in there too.
I think that's a good idea, as long as we clearly identify our posts as being for the Aquarius and not for the Intellivision (perhaps by putting "[AQUARIUS]" at the beginning of the thread titles). This will make it easier for those threads to be pulled out into their own subforum later, if needed.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users