barnieg Posted November 30, 2010 Share Posted November 30, 2010 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 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 30, 2010 Share Posted November 30, 2010 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. Quote Link to comment Share on other sites More sharing options...
barnieg Posted November 30, 2010 Author Share Posted November 30, 2010 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 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. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 30, 2010 Share Posted November 30, 2010 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. 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. Quote Link to comment Share on other sites More sharing options...
JamesD Posted December 15, 2010 Share Posted December 15, 2010 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. Quote Link to comment Share on other sites More sharing options...
barnieg Posted December 15, 2010 Author Share Posted December 15, 2010 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 Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted December 15, 2010 Share Posted December 15, 2010 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. Quote Link to comment Share on other sites More sharing options...
barnieg Posted December 16, 2010 Author Share Posted December 16, 2010 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 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. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted December 16, 2010 Share Posted December 16, 2010 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.com/forums/forum/144-intellivision-programming/ I don't think anybody would mind if you posted Aquarius stuff in there too. Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted December 16, 2010 Share Posted December 16, 2010 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. Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted December 16, 2010 Share Posted December 16, 2010 Intellivision has its own programming forum :- http://www.atariage.com/forums/forum/144-intellivision-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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.