beneath a steel sky?

Support forum for homebrew development on the Philips CD-i system. Hosted through the CDinteractive network the CD-i Homebrew Forum will provide an active resource for new software initiatives on the system and offer hosting for any serious attempts.
User avatar
Shroo-man
Sum Zero Barman
Posts: 260
Joined: Tue Oct 30, 2007 8:20 am
Location: Australia

beneath a steel sky?

Post by Shroo-man » Tue Feb 12, 2008 12:55 pm

Just out of interest one time I emailed the creator of Beneath a Steel Sky Tony Warriner at Revolution Software. This is what I wrote

"Hi. I'm just wondering since Beneath a Steel Sky is freeware if someone wanted to would you let someone to produce and release a port for the Philips CD-i?"

and his reply

"hi there,

sorry for the HUGE delay in REPLYING

we'd be fine with a CDi bass, so long as it's not being sold commercially.

Please credit us, and give us informed of progress, etc...

cheers

tony"


I know there wouldn't be much incentive for someone to develop the game because you can't sell it but if it was made this would easily be the best adventure game on the cd-i. it is a very high quality game on PC and amiga CD32, it can be download for nothing as it has been made freeware.

Image

yokohama
Burn:Cycle Activated
Posts: 40
Joined: Sun Oct 09, 2005 4:39 pm

Post by yokohama » Sat Mar 29, 2008 7:41 pm

****
Last edited by yokohama on Thu Aug 14, 2014 1:15 pm, edited 1 time in total.

User avatar
K1ngArth3r
Sum Zero Barman
Posts: 357
Joined: Mon Aug 25, 2008 12:16 pm
Location: Derbyshire, England

Post by K1ngArth3r » Mon Oct 13, 2008 3:05 pm

This sounds like a great idea!

Anybody taken up this project, any news on it?

I would love to help anyway I could.

User avatar
K1ngArth3r
Sum Zero Barman
Posts: 357
Joined: Mon Aug 25, 2008 12:16 pm
Location: Derbyshire, England

Post by K1ngArth3r » Tue Jan 20, 2009 1:56 pm

Let's try and make this project a reality.

If anybody as done any research on porting BASS to the CD-I platform then please post it here so others can help get involved.

I for one hope to learn how to programme for the CD-I and help make this a reality!

Would a project on this scale be possible with an application such as mogulike combined with the full version of the cdi emulator for debug purposes?

Would there be a need for any other applications or hardware, if so what would they be?

Is there any documentation anywhere for someone to start learning how to program for the CD-I (If so can we link it here)

User avatar
Bas
CDinteractive Admin
Posts: 3041
Joined: Mon Jun 20, 2005 11:14 am
Location: the Netherlands
Contact:

Post by Bas » Wed Jan 21, 2009 7:55 am

It's a lot more difficult than you would think. I even more realized this during the Frog Feast process Charles has gone through, which I documented on Interactive Dreams here. Take a look, just for an impression how the process went..
I'd love to see new homebrew developments by the way (ofcourse),
Charles was a unique person who just did it (with a lot of help of our CD-i guru 'cdifan', the author of the CD-i Emulator.
Unfortunately both persons are absent for a pretty long while now.

User avatar
K1ngArth3r
Sum Zero Barman
Posts: 357
Joined: Mon Aug 25, 2008 12:16 pm
Location: Derbyshire, England

Post by K1ngArth3r » Wed Jan 21, 2009 9:14 am

Thanks for the info Bas.

I can imagine that the CD-i would be really hard to programme for, but Charles provided the break through so hopefully with is hard work and sites like this:

http://cdidev.emuvibes.com/

We should have an headstart.

User avatar
cdifan
CD-i Emulator Author
Posts: 923
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Post by cdifan » Thu Jan 22, 2009 11:05 pm

I'm not absent, just absent-minded :-)

I still check these fora at least once a week...

User avatar
Devin
CDinteractive Admin
Posts: 2153
Joined: Sun Jun 19, 2005 1:51 pm
Location: England
Contact:

Post by Devin » Fri Jan 23, 2009 9:56 pm

cdifan wrote:I still check these fora at least once a week...
At least the absent minded aspect hasn't affected your spelling :wink:

User avatar
K1ngArth3r
Sum Zero Barman
Posts: 357
Joined: Mon Aug 25, 2008 12:16 pm
Location: Derbyshire, England

Post by K1ngArth3r » Sat Jan 24, 2009 9:05 am

Glad to see you around still.

Hopefully you'll be able to help me.

I'm trying to figure out what programming language is used to program games on the CD-i, do you know?

User avatar
cdifan
CD-i Emulator Author
Posts: 923
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Post by cdifan » Tue Jan 27, 2009 1:01 am

Various languages can be used, but they are ultimately all compiled to (or in some cases interpreted by) 68000 machine language.

The OS9 "memory module" file format is well-defined in the OS9 documentation; any development software that produces a valid 68000 machine langage module can be used.

Microware used to supply a K&R C compiler and an 68000 assembler; they exist in native versions (run under OS9) but there are also cross versions for the PC, Sun and Mac.

There are at least two ports of the GNU C/C++ compiler to OS9; these could also be used.

Both compilers and the assembler need the Microware linker; I don't think GNU ld was ever sufficiently adapted to OS9 to produce a valid module file.

For sprite blitting you really need to use 68000 machine language; it's too slow otherwise unless you have a small number of sprites or are not rendering at the 50Hz or 60Hz video frame rate. The best results are achieved using a "sprite compiler" that compiles the graphics to assembly language to draw them.

For game logic you can usually get away with using C or C++.

However, the big caveat is this: you REALLY need the "CD-i Full Functional Specification", a.k.a. the "Green Book". There are digital versions floating around the net, but they are hard to read and most of the pictures are badly mangled.

The Green Book defines the CD-RTOS API, which is really just OS9 rev 2.4 with a custom set of file managers and drivers for the CD-i specific hardware.

The rest of the needed OS9 documentation can be found in PDF format on the ICDIA site.

User avatar
K1ngArth3r
Sum Zero Barman
Posts: 357
Joined: Mon Aug 25, 2008 12:16 pm
Location: Derbyshire, England

Post by K1ngArth3r » Tue Jan 27, 2009 9:46 am

Many thanks for all of the much needed input cdifan!!

I'm trying to get hold of the Green Book as we speak (but think I have an electronic copy on my HDD).

Do you think the CD-I Emulator will be a good substitute for the CD-I 605?

If possible I want to try and program the game without the use of any actually CD-I hardware (due to not knowing where to get hold of the 605 easily.)

User avatar
cdifan
CD-i Emulator Author
Posts: 923
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Post by cdifan » Tue Jan 27, 2009 10:47 pm

If you want to develop with a 605, you also need a so-called "disc emulator"; this is a box that reads the CD-i disc image file on your hard image and simulates a CD drive to the 605 (it connects to the EBU inputs on the back of the 605).

There are various problems with using this road nowadays, not the least being that the emulaton software does not work under Windows 2000/XP/Vista (it does work under Win98, if you are sufficiently careful).

CD-i emulator is a great substitute for the 605, because you can emulate directly from the same CD-i disc image file. It also has superb debugging features (hardware single-step and breakpoints), although they are very sparsely documented.

That being said, at some point you will need to test on real players, preferably as many as possible, because there WILL be compatibility problems unless your title is very simple or uses a robust and proven CD-support library (and I don't think any of those are around anymore).

It's starting to look like publishing my e-mail discussions with Charles might be a good idea. I'll ask him...

User avatar
K1ngArth3r
Sum Zero Barman
Posts: 357
Joined: Mon Aug 25, 2008 12:16 pm
Location: Derbyshire, England

Post by K1ngArth3r » Tue Jan 27, 2009 10:57 pm

cdifan wrote:If you want to develop with a 605, you also need a so-called "disc emulator"; this is a box that reads the CD-i disc image file on your hard image and simulates a CD drive to the 605 (it connects to the EBU inputs on the back of the 605).

There are various problems with using this road nowadays, not the least being that the emulaton software does not work under Windows 2000/XP/Vista (it does work under Win98, if you are sufficiently careful).

CD-i emulator is a great substitute for the 605, because you can emulate directly from the same CD-i disc image file. It also has superb debugging features (hardware single-step and breakpoints), although they are very sparsely documented.

That being said, at some point you will need to test on real players, preferably as many as possible, because there WILL be compatibility problems unless your title is very simple or uses a robust and proven CD-support library (and I don't think any of those are around anymore).

It's starting to look like publishing my e-mail discussions with Charles might be a good idea. I'll ask him...
Thanks for your input once again - The more input the better :)

sfetchit
Burn:Cycle Activated
Posts: 8
Joined: Sun Nov 22, 2009 2:18 pm
Location: Michigan - US

development with the 605

Post by sfetchit » Mon Dec 07, 2009 3:28 am

Hi, you can actually use the 605 without a disc emulator for program development. You simply burn your assets to a disc and run the software from a connected hard drive or the floppy drive - starting the software from the terminal connection. With the right software on the 605 hard drive and connecting the box to the pc with a terminal emulator you can transfer software to the box from the same session. We used it this way quite a bit as another (hardware) alternative to debugging on the I2M cards. At one point we had worked out how to share a drive on the SCSI chain between a PC and the 605 so that we could compile directly to the connected hard drive.

User avatar
cdifan
CD-i Emulator Author
Posts: 923
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Post by cdifan » Mon Dec 07, 2009 11:22 am

We experimented with sharing the hard drive between the 605 and the PC also and it works okay as long as you keep in mind the FAT and directory caching issues. You need a special SCSI cable and rejumper either the 605 or your PC SCSI interface, otherwise both end up using SCSI ID 7.

The OS-9 PCF file manager caches almost nothing, so using it for reading data written by the PC works fine (sometimes you have to force a cache flush but this usually happens automatically within a few seconds). However, if you want to write to the hard disk from the 605 and subsequently read it from the PC you have to flush the PC cache and reload it after the writing is done.

We initially used Windows 3.1 and found that we had to quit Windows and use SMARTDRV /F (or something). With Windows 9X it got easier: you could just take a full drive lock from a DOS box (I think we used the LOCK command).

The technique you describe for using an asset disc also works on most consumer players if you download the application using the serial port; we even went to far as to have special file open routines that looked for downloaded versions of specific asset files. This was sometimes necessary to debug player incompatibilities. You needed a DVC, of course, or there usually wasn't enough RAM for the downloading as our CD-i games had a tendency to use all of the available base-case memory for screen buffers, compiled sprites and sound effects.

At the time we used a crappy Philips tool called PCCDI to do the serial downloading (it had serial port bugs), but nowadays you could use my CD-i Link program (works on modern PCs and over an USB-Serial adapter).

Of course, you could also use CD-i Emulator nowadays...

Post Reply