GodLib

Speaking with the gods about their latest releases or various subjects

Moderators: Moderator Team, Reservoir Gods

User avatar
sh3-rg
Captain Atari
Captain Atari
Posts: 438
Joined: Thu May 08, 2003 1:33 pm
Location: bolton - england
Contact:

GodLib

Postby sh3-rg » Thu Mar 12, 2015 8:48 am

A guy quoted pink's PM on Atari Age so I thought I'd post the link here, too:

pinkie wrote:I've started to put the latest version of GodLib and a bunch of example code onto GitHub. You can find the code here:

https://github.com/ReservoirGods

User avatar
CiH
Atari God
Atari God
Posts: 1134
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: GodLib

Postby CiH » Thu Mar 12, 2015 12:17 pm

Cheers to you both!

Good to hear Monsieur Pink is still gently simmering in the background.
"Where teh feck is teh Hash key on this Mac?!"

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2276
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: GodLib

Postby calimero » Thu Mar 12, 2015 7:36 pm

nice :)

I remember long time ago that I asked Mr.Pink for library that he use for Reservoir Gods games.

Back in days, I was working on Centipede clone for Falcon (I just made some graphics) and I needed starting point for game (in programming sense). Since all Reservoir Gods was very polished I assume that Mr. Pink have proven library for games :) and I was right. Unfortunately my project fell apart due 'lack of time' and life :( but it is nice to see that other peoples are interested in GodLib!
using Atari since 1986.http://wet.atari.orghttp://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X

tat
Retro freak
Retro freak
Posts: 16
Joined: Wed Nov 12, 2014 10:07 am
Contact:

Re: GodLib

Postby tat » Wed Apr 15, 2015 11:54 am

CiH wrote:Cheers to you both!

Good to hear Monsieur Pink is still gently simmering in the background.


I managed to catch up with Pink in March in San Francisco (at Games Developers Conference). He seems well :)

Steve

User avatar
lotek_style
Mod(ul)erator
Mod(ul)erator
Posts: 2430
Joined: Sat May 11, 2002 2:39 pm
Location: germany
Contact:

Re: GodLib

Postby lotek_style » Wed Apr 15, 2015 5:01 pm

Oh wow and even Mr. Tattersall is still alive :)
lotek style / the sirius cybernetics corporation
- musician - ascii-artist - swapper - archivist -

.tSCc. - low-tech atari cyberpunks since 1990
http://www.tscc.de/ | http://demozoo.org/ | http://www.lotekstyle.de/ | http://ymrockerz.atari.org/

User avatar
CiH
Atari God
Atari God
Posts: 1134
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: GodLib

Postby CiH » Wed Apr 15, 2015 5:41 pm

I managed to catch up with Pink in March in San Francisco (at Games Developers Conference). He seems well :)


The even rarer Mr Tattersall, can be found in hedgerows and things... 8)
"Where teh feck is teh Hash key on this Mac?!"

tat
Retro freak
Retro freak
Posts: 16
Joined: Wed Nov 12, 2014 10:07 am
Contact:

Re: GodLib

Postby tat » Wed Apr 15, 2015 6:42 pm

CiH wrote:The even rarer Mr Tattersall, can be found in hedgerows and things... 8)


That was never proved, officer. :angel:

Anyway, Pink seemed in rude health and very busy, as anyone who works for Ubisoft can expect to be.

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 666
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: GodLib

Postby Anima » Wed Apr 15, 2015 7:21 pm

I will not miss the opportunity to say hi to tat as well. :D

tat
Retro freak
Retro freak
Posts: 16
Joined: Wed Nov 12, 2014 10:07 am
Contact:

Re: GodLib

Postby tat » Thu Apr 16, 2015 11:57 am

Anima wrote:I will not miss the opportunity to say hi to tat as well. :D


Hello Anima! Your sprite routine looks very nice.

(Thread derailment now complete -- sorry!)

User avatar
CiH
Atari God
Atari God
Posts: 1134
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: GodLib

Postby CiH » Thu Apr 16, 2015 2:32 pm

Hello Anima! Your sprite routine looks very nice.


Those would be the "Who inserted a state of the art Japanese console in my Falcon?!" routines. :cheers:

(Thread derailment now complete -- sorry!)


No need to apologise!
"Where teh feck is teh Hash key on this Mac?!"

tschak909
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 138
Joined: Mon Mar 26, 2018 9:29 pm

Re: GodLib

Postby tschak909 » Fri Oct 19, 2018 9:07 pm

Is it possible to use godlib with m68k-atari-mint-gcc ?

-Thom

MegatronUK
Atariator
Atariator
Posts: 23
Joined: Fri Jan 04, 2019 11:11 am

Re: GodLib

Postby MegatronUK » Mon Jan 28, 2019 3:36 pm

tschak909 wrote:Is it possible to use godlib with m68k-atari-mint-gcc ?

-Thom


I'd also like to know this. I've tried compiling godlib.a using m68-atari-mint-gcc (both 4.6.4 and 8.2.0) and it's a bit of a pain just getting things into a point where all of the hardcoded uppercase filenames work. I've updated GODLIB.MAK into a slightly more standard layout too.

Of course all of the standard library references are to uppercase header names as well: <STDIO.H>, for example, which isn't the case for gcc based compilers.

I'll struggle on getting it to state where make and gcc don't complain about the filenames, then it's a case of debugging the actual code, since I'm guessing this won't have had a pass through gcc in some time.

User avatar
simonsunnyboy
Moderator
Moderator
Posts: 5082
Joined: Wed Oct 23, 2002 4:36 pm
Location: Friedrichshafen, Germany
Contact:

Re: GodLib

Postby simonsunnyboy » Mon Jan 28, 2019 4:34 pm

The assembler files need lots of interface changes. They all use Pure C calling convention using registers while GCC needs the classic stack based parameter passing.

I once started it and then decided it was not worth the time for me.
Simon Sunnyboy/Paradize - http://paradize.atari.org/

Stay cool, stay Atari!

1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

MegatronUK
Atariator
Atariator
Posts: 23
Joined: Fri Jan 04, 2019 11:11 am

Re: GodLib

Postby MegatronUK » Mon Jan 28, 2019 4:38 pm

First pass through looks like there's a lot to fix:

- References to system headers are all uppercase: <STDIO.H> and not <stdio.h>
- A mix of directory separators; some include paths use <GODLIB/DIR/HEADER.H>, whereas some use <GODLIB\DIR\HEADER.H>

Those system headers I'm finding I'm wrapping in an #ifdef so that a compile-time flag can use the new gcc system headers (in lowercase), or revert to Pure-C or whatever other standard C library headers if left undefined. e.g.

Code: Select all

#ifdef HEADERS_LOWER
#include <stdio.h>
#else
#include <STDIO.H>
#endif


I'm standardising all the <GODLIB\DIR\HEADER.H> references as I come to them with forward slashes.

Outside of that, gcc generates huge amounts of warnings for the code - it successfully generates about 4-5 object files, but blows up half way through the ASSETS/ directory:

Code: Select all

m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_DISP.C -o ACHIEVE/ACH_DISP.o
ACHIEVE/ACH_DISP.C: In function 'void Achieve_Display_ScoreTable_Render()':
ACHIEVE/ACH_DISP.C:277:105: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'S32 {aka int}' [-Wformat]
ACHIEVE/ACH_DISP.C:299:35: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'U32 {aka unsigned int}' [-Wformat]
ACHIEVE/ACH_DISP.C: In function 'void Achieve_Display_Stats_Render()':
ACHIEVE/ACH_DISP.C:465:35: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'U32 {aka unsigned int}' [-Wformat]
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_GFX.C -o ACHIEVE/ACH_GFX.o
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_GOD.C -o ACHIEVE/ACH_GOD.o
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_LOGN.C -o ACHIEVE/ACH_LOGN.o
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_MAIN.C -o ACHIEVE/ACH_MAIN.o
ACHIEVE/ACH_MAIN.C: In function 'void Achieve_Delocate(sAchieveHeader*)':
ACHIEVE/ACH_MAIN.C:1217:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1224:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1225:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1226:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1229:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1246:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1247:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1248:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1253:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1259:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1262:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1263:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1264:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C: In function 'U8 Achieve_Relocate(sAchieveHeader*)':
ACHIEVE/ACH_MAIN.C:1328:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1329:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1330:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1334:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1335:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1336:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1349:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1354:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1363:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1364:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1365:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1366:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ACHIEVE/ACH_MAIN.C:1371:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_SHOW.C -o ACHIEVE/ACH_SHOW.o
ACHIEVE/ACH_SHOW.C:112:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
ACHIEVE/ACH_SHOW.C:112:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
ACHIEVE/ACH_SHOW.C: In function 'void Achieve_Show_ButtonRender(sGraphicCanvas*, sGraphicPos*, U16)':
ACHIEVE/ACH_SHOW.C:648:64: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'U32 {aka unsigned int}' [-Wformat]
ACHIEVE/ACH_SHOW.C: In function 'void Achieve_Show_TaskPointsDraw(sGraphicCanvas*, U16)':
ACHIEVE/ACH_SHOW.C:695:71: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'U32 {aka unsigned int}' [-Wformat]
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_SIGN.C -o ACHIEVE/ACH_SIGN.o
ACHIEVE/ACH_SIGN.C:197:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
ACHIEVE/ACH_SIGN.C:197:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ACHIEVE/ACH_UNLK.C -o ACHIEVE/ACH_UNLK.o
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ASSERT/ASSERT.C -o ASSERT/ASSERT.o
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ASSET/ASSET.C -o ASSET/ASSET.o
m68k-atari-mint-gcc -c -Wall -g -Os -I/usr/m68k-atari-mint/include -DHEADERS_LOWER -DdGODLIB_PLATFORM_ATARI -DdGODLIB_COMPILER_GCC ASSET/CONTEXT.C -o ASSET/CONTEXT.o
ASSET/CONTEXT.C: In function 'void Context_AssetClient_Remove(sAssetClient*)':
ASSET/CONTEXT.C:118:92: error: invalid conversion from 'void*' to 'const sContext*' [-fpermissive]
ASSET/CONTEXT.C:73:22: error:   initializing argument 1 of 'sAssetClient* Context_AssetClient_Find(const sContext*, U32)' [-fpermissive]
Makefile.godlib:148: recipe for target 'ASSET/CONTEXT.o' failed
make: *** [ASSET/CONTEXT.o] Error 1


Looks like it could be a long slog to get all objects to build on a modern version of the cross compiler.

MegatronUK
Atariator
Atariator
Posts: 23
Joined: Fri Jan 04, 2019 11:11 am

Re: GodLib

Postby MegatronUK » Mon Jan 28, 2019 4:39 pm

simonsunnyboy wrote:The assembler files need lots of interface changes. They all use Pure C calling convention using registers while GCC needs the classic stack based parameter passing.

I once started it and then decided it was not worth the time for me.


Bah, that's beyond what I'm willing to do. I'll look at some other method of getting stuff on to the screen!


Social Media

     

Return to “Reservoir Gods”

Who is online

Users browsing this forum: No registered users and 3 guests