Page 2 of 3

Re: Cross-Chase

Posted: Sat Jul 14, 2018 9:33 am
by Derek_Stewart
Hi Fabrizio,

I had a read of your documentation on the GitHub website, probably the easiest way to get Cross-Chase running on the QL would be to use "ncurses" library. The QL ANSI C compiler C68 only has "curses" library available.

Can Cross-Chase use "curses" or does need to compile "ncurses" to the C environment for the QL

Re: Cross-Chase

Posted: Mon Jul 16, 2018 8:52 pm
by Fabrizio
Hi Derek,

the problem here is that I cannot ever run the compiler. I need to understad how to use qdos-gcc.

The graphics and sounds on CROSS-CHASE is target-specific through some sort of "driver" or module.
I have all sort of modules and I can make one for whatever is possible with the QL. I can even make a low-level hardware-banging module.
So far I support more than 120 different systems including almost all 8-bit computers (including very rare ones), pocket calculators, consoles and handheld consoles.
I currently support Motorola 6809, MOS 6502, Ziog 80 (and derivaties) as well as modern PC (ncurses). Now I want to add more architectures.
I have modules for:
- conio and conio-like (anything where you move a cursor to (x,y) including real conio, ncurses, adm3a, vt52, vt100, etc.)
- memory mapped (any target where the video is managed by writing bytes into direct memory or indirect video memory)
- TGI (graphics lib used on some 6502-targets)
- CPCRSLIB (graphics lib for the Amstrad CPC)
- Z88DK Sprites (graphics lib for Z80 targets)
- bit-mapped (low level code to access single pixels)

Fabrizio

Re: Cross-Chase

Posted: Mon Jul 16, 2018 10:00 pm
by RWAP
Fabrizio wrote:
To just see if it is capable of compiling my game, I have tried the dockerized version but with not much luck.
I have managed to install it through docker with the pull command but the compiler cannot be executed successfully:
$ docker run xora/qdos-gcc qdos-gcc ./hello.c
qdos-gcc: ./hello.c: No such file or directory
qdos-gcc: No input files

the hello.c is there and I can also place it elsewhere but I get the same error message.
qdos-gcc --version does produce the expected result:
$ docker run xora/qdos-gcc qdos-gcc --version
2.95.3

I guess until you get an answer on the other thread - https://www.qlforum.co.uk/viewtopic.php ... 05&p=23999 - we are all unable to help.

I have no experience of docker, or qdos-gcc.

However, the same question arises (that I asked before) - what is your directory structure?

Under Linux:

Code: Select all

run xora/qdos-gcc qdos-gcc ./hello.c
suggests that your directory structure is something like:

Code: Select all

c/gcc/xora/qdos-gcc
c/hello.c
It depends on whether qdos-gcc understands the ./ for starters and whether it sees that as relative to its own current directory, or the base directory used in docker.

In the other thread you say you were passing :

Code: Select all

run xora/qdos-gcc qdos-gcc /c/Retro/hello.c
which is simpler, because it is not using relative paths, but an absolute directory. However, you have to ensure that the folder Retro exists on your c drive.

Re: Cross-Chase

Posted: Mon Jul 16, 2018 10:15 pm
by tofro
On most platforms I know (Windows is none of them), Docker can be told to use (mount) a local directory by a configuration dialog. This is where your source could should be, I guess.

Tobias

Re: Cross-Chase

Posted: Mon Jul 16, 2018 10:46 pm
by XorA
For sure in later experiment he is missing the

Code: Select all

-v <HOST DIR>:/build
Which maps the host dir to the /build inside the container where qdos-gcc is looking for files.

I would suggest checking out the documentation https://docs.docker.com/engine/referenc ... tion-types and seeing how that interacts with the windows version.

Re: Cross-Chase

Posted: Tue Jul 17, 2018 6:47 am
by M68008
Ciao Fabrizio,

as XorA says, you need to use the -v option to map a host computer directory containing your sources to a directory inside the docker container where gcc will find your sources.

Re: Cross-Chase

Posted: Tue Jul 17, 2018 7:29 am
by Fabrizio
@M68008, I know I need to use the -v option. The question is how:

Brizio@DESKTOP-I20P8HM MINGW64 /c/Program Files/Docker Toolbox
$ docker run -v /c/Retro xora/qdos-gcc qdos-gcc hello.c
qdos-gcc: hello.c: No such file or directory
qdos-gcc: No input files

Brizio@DESKTOP-I20P8HM MINGW64 /c/Program Files/Docker Toolbox
$ ll /c/Retro/hello.c
-rw-r--r-- 1 Brizio 197121 81 Jul 10 23:17 /c/Retro/hello.c

As you can see I have the hello.c file inside /c/Retro, but I gdos-gcc cannot find it.

Re: Cross-Chase

Posted: Tue Jul 17, 2018 7:32 am
by Fabrizio
Maybe I should give up docker and try to install qdos-gcc natively. It is a lengthy process that requires patching a specific gcc version.

Has anyone here managed to install gdos-gcc? I will try to install it under cygwin.

Re: Cross-Chase

Posted: Tue Jul 17, 2018 8:18 am
by NormanDunbar
Morning Fabrizio,

I tried.
I failed.

My Linux box is way too modern for the version of qdos-gcc required I'm afraid. :(

Good luck.


Cheers,
Norm.

Re: Cross-Chase

Posted: Tue Jul 17, 2018 8:30 am
by XorA
NormanDunbar wrote:Morning Fabrizio,

I tried.
I failed.

My Linux box is way too modern for the version of qdos-gcc required I'm afraid. :(
You can just extract the image inside the docker and use it as a chroot. Thats what I was doing until it occurred to me I could wrap the chroot up in docker to upload it for easy consumption.