Jump to content
IGNORED

Emulator, Assembler, and tools


djmips

Recommended Posts

What emulator, assembler and other tools are most popular for those who would like to program for the Colecovision? Are there some Coleco web pages similar to 2600 Programming and  DASM homepage?

You should check out the following websites for more information on development tools:

 

http://games.groups.yahoo.com/group/colecoprogramming/

 

http://www.geocities.com/newcoleco/framesen.html

 

I believe TASM is a popular assembler. However most ColecoVision programmers are developing in C using the superb guidance notes and tools provided by Daniel Bienvenu at the above websites.

 

The best emulator (in my opinion) is MESS:

 

http://www.mess.org

 

I myself am just starting out with assembly and am currently buried in a Z80 programming book.

Link to comment
Share on other sites

  • 1 month later...

I have a website up, which is called "The Colecovision Revival Website". It is mainly aimed at programmers and I have a lot of tools, uttilities and source code to get you started.

 

The website's address is:

 

Colecovision Revival

 

What emulator, assembler and other tools are most popular for those who would like to program for the Colecovision? Are there some Coleco web pages similar to 2600 Programming and  DASM homepage?

 

Thanks

 

- David

842847[/snapback]

Link to comment
Share on other sites

Wow, Colecovision is powerful enough to do decent stuff in C?

864171[/snapback]

 

Certainly! Many awesome games are programmed in C for the Colecovision.

864432[/snapback]

 

What I find more interesting is that they use a CP/M based compiler *. I don't know much about the free "modern" Z80 compilers...what's wrong with sdcc or z88dk ?

 

*) At least that's what I see on http://www.geocities.com/newcoleco/framesen.html

Edited by Tom
Link to comment
Share on other sites

Wow, Colecovision is powerful enough to do decent stuff in C?

864171[/snapback]

 

Certainly! Many awesome games are programmed in C for the Colecovision.

864432[/snapback]

Wow...guess I've been too long in 2600 land were "C" is a distant dream...

Link to comment
Share on other sites

Wow, Colecovision is powerful enough to do decent stuff in C?

864171[/snapback]

 

Certainly! Many awesome games are programmed in C for the Colecovision.

864432[/snapback]

 

What I find more interesting is that they use a CP/M based compiler *. I don't know much about the free "modern" Z80 compilers...what's wrong with sdcc or z88dk ?

 

*) At least that's what I see on http://www.geocities.com/newcoleco/framesen.html

864606[/snapback]

 

That's because the CP/M version of the Hi-Tech C compiler is freely available, and Colecovision libraries which facilitate game development have been made for that compiler.

 

In order to work with SDCC or Z88DK, one would have to re-write or port the library. I've been looking for several months now for an alternative to the CP/M C compiler, but haven't been able to find anything.

Link to comment
Share on other sites

thanks for the list... i have seen demos for the coleco...cool to have all dev tools now available... unfortunatly as a 6502 geek i am not familiar with the z80... but could be worth a try...

864751[/snapback]

 

The 6502 was the first microprocessor that I learnt on. (I use to program for the Atari 8-bit). I picked up the Z-80 rather easily, and and quite fond of it, and realize the appeal that it had in the 80's when designing systems.

Link to comment
Share on other sites

i once made a small intro for gameboy...so i played around little bit with it... so should be no real problem (same goes to the R3000 in the psone...)

 

but since 6 years i haven't touched z80... but somehow i like the coleco... but i don't like the "non accessable" vram (just via polling & I/O).... and no scrolling features.... but well...

Link to comment
Share on other sites

i once made a small intro for gameboy...so i played around little bit with it... so should be no real problem (same goes to the R3000 in the psone...)

 

but since 6 years i haven't touched z80... but somehow i like the coleco... but i don't like the "non accessable" vram (just via polling & I/O).... and no scrolling features.... but well...

865417[/snapback]

 

Indeed, there is no hardware scrolling, but it doesn't mean that Colecovision programmers cannot implement scrolling, it just means that it's a little bit harder to do via software. MSX computers use the same graphics chip as the Colecovision by the way, and they are very popular in the homebrew programming department. The way I see it, is that no hardware scrolling is simply an additional challenge to overcome.

 

VRAM access is slow because you have to access it via the VDP port. Those are the 2 main downfalls of the VDP chip. But it also has a lot of advantages such as the amount of sprites on screen, number of colors. (ok, it doesn't have 65K colors, but we're talking early 80s technology here!). It also has a decent amount of VRAM (16K).

 

Anyways, thanks to a few homebrew programmers, there are many tools available that facilitate Colecovision programming available.

Link to comment
Share on other sites

  • 4 weeks later...
i once made a small intro for gameboy...so i played around little bit with it... so should be no real problem (same goes to the R3000 in the psone...)

 

but since 6 years i haven't touched z80... but somehow i like the coleco... but i don't like the "non accessable" vram (just via polling & I/O).... and no scrolling features.... but well...

865417[/snapback]

 

A couple of years ago a gameboy baseball project fell into my lap and it was probably what got me back into coding for the older systems. It was a lot of fun. I was surprised to find out that the gameboy wasn't actually a Z80 but more akin to the earlier 8080! (the Z80's ancestor). Not many people know about the 8080 however, so the gameboy cpu is more often related to the Z80. I know that it does have a few of the Z80 instructions but since it is missing all of the new index modes and the alternate register set, the code is closer to 8080.

 

I used the SDCC compiler for the gameboy baseball game on the high level game portion, menus, and a database for the season information. The compiler was quite buggy however, and I had to make a lot of fixes (to the compiler) and in other cases I had to just be careful to avoid certain complex expressions.

 

I've used C compiler on the 65816 systems as well (Apple ][gs and SNES). A compiler would be feasible on an Atari 2600 game for the game logic. The compiler might have to be tuned for the 2600, epecially the part about having to read from a different address than you write for any of the expanded RAM carts.

Edited by djmips
Link to comment
Share on other sites

  • 2 months later...

What I find more interesting is that they use a CP/M based compiler *. I don't know much about the free "modern" Z80 compilers...what's wrong with sdcc or z88dk ?

 

*) At least that's what I see on http://www.geocities.com/newcoleco/framesen.html

864606[/snapback]

 

That's because the CP/M version of the Hi-Tech C compiler is freely available, and Colecovision libraries which facilitate game development have been made for that compiler.

 

In order to work with SDCC or Z88DK, one would have to re-write or port the library. I've been looking for several months now for an alternative to the CP/M C compiler, but haven't been able to find anything.

864734[/snapback]

 

I have written a colecovision library and tools for use with sdcc. The game "Schlange CV" I posted about is written using that.

 

I've attached another small example, a two-level game using scrolling written using sdcc and my library.

 

While the library seems pretty stable the tools (png2cv, png2cvs, abc2cvm , cvm2abc) are only developped as far as was necessary for writing Schlange CV and the attached demo.

 

In addition to sdcc I also used GNU make and sed.

Fantasy.rom.gz

Edited by PkK
Link to comment
Share on other sites

  • 1 month later...
I have written a colecovision library and tools for use with sdcc. The game "Schlange CV" I posted about is written using that.

 

Could you post the source ? Or at least compiler/linker command lines, startupcode/linker script ?

957731[/snapback]

 

I have posted download links to the source of the library and three of my tools in the Colecoshop forums at http://www.colecoshop.com/colecoshop/

 

I plan to create some small sample programs for the library to help programmers getting started.

 

Philipp

Link to comment
Share on other sites

Philipp,

I think you have some small errors in your crt0.s. I don't think the EI/RETI sequence is correct for RST 8 through 30. The RST instructions are basically calls with an implicit address (0008h, 0010h, 0018h, 0020h, 0028h, 0030h). The BIOS has at these locations JP instructions to the cartridge header, and I think instead of EI/RETI you should put a RET instruction in there.

 

.dw start  ; where to start execution of program.
ei          ; RST 0x08
reti    	
ei          ; RST 0x10
reti
ei          ; RST 0x18
reti
ei          ; RST 0x20
reti
ei          ; RST 0x28
reti
ei          ; RST 0x30
reti
ei          ; RST 0x38 - spinner interrupt
reti
jp nmi      ; NMI
nop

 

Should become

 

.dw start  ; where to start execution of program.
ret        ; RST 0x08
nop
nop
ret        ; RST 0x10
nop
nop
ret        ; RST 0x18
nop
nop
ret        ; RST 0x20
nop
nop
ret        ; RST 0x28
nop
nop
ret        ; RST 0x30
nop
nop
ei         ; RST 0x38 - spinner interrupt
reti
jp nmi     ; NMI
nop

Edited by Tom
Link to comment
Share on other sites

Philipp,

I think you have some small errors in your crt0.s. I don't think the EI/RETI sequence is correct for RST 8 through 30. The RST instructions are basically calls with an implicit address (0008h, 0010h, 0018h, 0020h, 0028h, 0030h). The BIOS has at these locations JP instructions to the cartridge header, and I think instead of EI/RETI you should put a RET instruction in there.

 

Well, what should or shouldn't be there depends on how you use rst. My library doesn't use rst, so it doesn't matter.

Edited by PkK
Link to comment
Share on other sites

  • 4 weeks later...
What emulator, assembler and other tools are most popular for those who would like to program for the Colecovision? Are there some Coleco web pages similar to 2600 Programming and   DASM homepage?

You should check out the following websites for more information on development tools:

 

http://games.groups.yahoo.com/group/colecoprogramming/

 

http://www.geocities.com/newcoleco/framesen.html

 

I believe TASM is a popular assembler. However most ColecoVision programmers are developing in C using the superb guidance notes and tools provided by Daniel Bienvenu at the above websites.

 

The best emulator (in my opinion) is MESS:

 

http://www.mess.org

 

I myself am just starting out with assembly and am currently buried in a Z80 programming book.

843646[/snapback]

mess looks like a cool emu but for some reason it does not work for me i had to use the stella (atari 2600) emu colem (colecovision) any pointers for using mess :cool: :cool: :cool:

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...