Homebrew [Release] OpenTitus for 3DS

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
70B0PZk.png

Info


Port of OpenTitus for 3DS
More info here: http://opentitus.wikia.com/wiki/Introduction-to-OpenTitus

OpenTitus is able to play:
Titus the Fox: To Marrakech and Back (1992)
Lagaf': Les Aventures de Moktar - Vol 1: La Zoubida (1991)

You will need a Old or New3DS and a copy of 'Titus the Fox' or 'Lagaf': Les Aventures de Moktar' to use these builds.

Changelog


27-12-2018
- Low frequency audio for old3DS

25-12-2018
- .cia builds

23-12-2018
- GitHub release
- Support for 'Moktar'

25-6-2018
- Fixed password input

23-12-2017
- Updated source to 0.8.1 including:
- Fixed sprite issues
- Added Amiga Skylines

18-12-2017
- Initial release

Todo


-

Install


-Download latest *release: https://github.com/MrHuu/opentitus/releases/
*old3DS users should download the 'LOW_FREQ' builds.

-Place the 'OpenTitus' folder from the archive in: 'sd:/3ds/'

-Copy gamefiles from 'Titus the Fox - To Marrakech and Back' into: 'sd:/3ds/OpenTitus/titus'
-Or, copy gamefiles from 'Lagaf: Les Aventures de Moktar' into: 'sd:/3ds/OpenTitus/moktar'

Controls


D-pad - Movement

A - Throw / Pickup
B - Jump
Y - Show health bar

Start - Show status screen / Pause
Select - Exit

LT - Amiga Skyline On / OFF
ZR - Audio On / OFF
ZL - Show Debug stats (disabled in current build)

Screenshots


2SGKZjX.png
M00evDL.png

zYNoV6Z.png
2PaUWmr.png


Credits


nop90 - SDL 1.2 library for 3ds

Stople - OpenTitus
usineur - Vita port / fixes

Titus Interactive!

Source(s)


OpenTitus: https://sourceforge.net/projects/opentitus/
Vita Port : https://github.com/usineur/opentitus/
3DS port: https://github.com/MrHuu/opentitus/
 
Last edited by MrHuu,

CaptainHIT

Well-Known Member
Member
Joined
Mar 2, 2011
Messages
384
Trophies
1
Age
47
Location
Frankfurt
XP
1,454
Country
Germany
Thanks for the release. I played only the Amiga version back in the days. The scrolling is not what I remembered from then. Was this scrolling screen by screen only on the PC version? Sadly they only support Amiga gfx but not the gameplay which I think was better than the PC version.
 

Mark McDonut

GBATemp's Resident Ghostbuster
Member
Joined
Oct 8, 2008
Messages
855
Trophies
1
XP
2,210
Country
United States
oh my god thank you so much, I remember banging away at this with a janky tandy 1000tx joystick in such a wonderful palette of neon pink, seafoam green, cigarette ash grey and absence-of-color black when I was 10. Will be interesting using muscle memory on a not-piece-of-shit joystick for once.
 
  • Like
Reactions: MrHuu

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
meh.. ok final update. OpenTitus is fully playable on the old3DS now.
well.. kinda.. with slightly lower sound quality, that is.
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
I don't think is working for me, it crashes when I try it

Could you please give me some more info?

Are you using an old3DS or new3DS?
Are u using the .3dsx or the .cia builds? Maybe the low_freq builds?

Have you copied the OpenTitus folder, including all files, from the release copied to: 'SD:/3ds/' ?

Do you have the gamefiles copied to 'SD:/3ds/opentitus/titus/' ?
or do you have the Moktar release? in that case it's 'SD:/3ds/opentitus/moktar/'
 

Appledashpone54

Member
Newcomer
Joined
Dec 19, 2018
Messages
13
Trophies
0
Age
25
XP
546
Country
United States
Could you please give me some more info?

Are you using an old3DS or new3DS?
Are u using the .3dsx or the .cia builds? Maybe the low_freq builds?

Have you copied the OpenTitus folder, including all files, from the release copied to: 'SD:/3ds/' ?

Do you have the gamefiles copied to 'SD:/3ds/opentitus/titus/' ?
or do you have the Moktar release? in that case it's 'SD:/3ds/opentitus/moktar/'

Old 3ds (3ds xl) .3dsx build
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Can you confirm that you have the game copied to your sd card?

Here's a list of the files you need to provide yourself.

Game files:
titus/LEVELJ.SQZ
titus/LEVEL1.SQZ
titus/LEVEL2.SQZ
titus/LEVEL3.SQZ
titus/LEVEL4.SQZ
titus/LEVEL5.SQZ
titus/LEVEL6.SQZ
titus/LEVEL7.SQZ
titus/LEVEL8.SQZ
titus/LEVEL9.SQZ
titus/LEVELB.SQZ
titus/LEVELC.SQZ
titus/LEVELE.SQZ
titus/LEVELG.SQZ
titus/LEVEL0.SQZ
titus/SPREXP.SQZ
titus/TITUS.SQZ
titus/TITRE.SQZ
titus/MENU.SQZ
titus/LEVELA.SQZ
titus/FONTS.SQZ

Note, Titus the fox is on sale right now! Get it on GOG.
https://www.gog.com/game/titus_the_fox_to_marrakech_and_back
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Hmm.. if that's how it's layed out right now on your sd..
..my suggestion would be, to start from scratch.

You're using an old3DS, so:
- Download the LOW_FREQ build for TITUS here: https://github.com/MrHuu/opentitus/releases/tag/27-12-2018
- Extract it.
- Copy all the gamefiles you have ( all *.SQZ files ) to '/OpenTitus/titus/'

You should have it layed out like this now:
OpenTitus/OpenTitus.3dsx
OpenTitus/OpenTitus.smdh
OpenTitus/titus.conf

OpenTitus/titus/ttf_music.bin

OpenTitus/titus/LEVELJ.SQZ
OpenTitus/titus/LEVEL1.SQZ
OpenTitus/titus/LEVEL2.SQZ
OpenTitus/titus/LEVEL3.SQZ
OpenTitus/titus/LEVEL4.SQZ
OpenTitus/titus/LEVEL5.SQZ
OpenTitus/titus/LEVEL6.SQZ
OpenTitus/titus/LEVEL7.SQZ
OpenTitus/titus/LEVEL8.SQZ
OpenTitus/titus/LEVEL9.SQZ
OpenTitus/titus/LEVELB.SQZ
OpenTitus/titus/LEVELC.SQZ
OpenTitus/titus/LEVELE.SQZ
OpenTitus/titus/LEVELG.SQZ
OpenTitus/titus/LEVEL0.SQZ
OpenTitus/titus/SPREXP.SQZ
OpenTitus/titus/TITUS.SQZ
OpenTitus/titus/TITRE.SQZ
OpenTitus/titus/MENU.SQZ
OpenTitus/titus/LEVELA.SQZ
OpenTitus/titus/FONTS.SQZ
Please, double check if you got all files in the right location.

- Now copy the entire 'OpenTitus' folder to your SD card. 'sdmc:/3ds/'

If you've been using an older release before, make sure to replace all files.
For example; ttf_music.bin has been moved to the titus folder, to match the OpenTitus builds for other platforms.

cheers
 

nin187

Member
Newcomer
Joined
Jun 11, 2008
Messages
7
Trophies
1
XP
138
Country
Thank you for your work.
I want to change the controls, so I edited key bindings in ./include/globals.h, then got below error when compiling.
What should I do?
I'm using WSL Ubuntu 22.04.

linking OpenTitus.elf
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: audio.o:(.bss+0x514): multiple definition of `lasterrornr'; opentitus.o:(.bss+0x4aa0): first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: audio.o:(.bss+0x3e0): multiple definition of `lasterror'; opentitus.o:(.bss+0x324): first defined here

.
.
.

/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: viewimage.o:(.bss+0x2acc): multiple definition of `spritefile'; opentitus.o:(.bss+0x48a0): first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: viewimage.o:(.bss+0x2bcc): multiple definition of `audiofile'; opentitus.o:(.bss+0x49a0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/devkitARM/3ds_rules:42: /home/nin187/opentitus/output/OpenTitus/OpenTitus.elf] Error 1
make: *** [Makefile.3ds:179: cia] Error 2
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Thank you for your work.
I want to change the controls, so I edited key bindings in ./include/globals.h, then got below error when compiling.
What should I do?
I'm using WSL Ubuntu 22.04.

linking OpenTitus.elf
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: audio.o:(.bss+0x514): multiple definition of `lasterrornr'; opentitus.o:(.bss+0x4aa0): first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: audio.o:(.bss+0x3e0): multiple definition of `lasterror'; opentitus.o:(.bss+0x324): first defined here

.
.
.

/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: viewimage.o:(.bss+0x2acc): multiple definition of `spritefile'; opentitus.o:(.bss+0x48a0): first defined here
/opt/devkitpro/devkitARM/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: viewimage.o:(.bss+0x2bcc): multiple definition of `audiofile'; opentitus.o:(.bss+0x49a0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [/opt/devkitpro/devkitARM/3ds_rules:42: /home/nin187/opentitus/output/OpenTitus/OpenTitus.elf] Error 1
make: *** [Makefile.3ds:179: cia] Error 2

There have been a lot of changes in both libctru and sdl 1.2 for 3ds.
This port has to be updated before being able to be compiled with the latest libraries.

One of the changes, is how the controls are handled. So if it does compile, the controls won't be recognized as-is.

I do want to revisit this some time, i've learned a lot about the do and don'ts when porting stuff since then.

Some of the things i've been wanting to add;

- re-mappeble controls
- saving the last found password
- confirm on exit, instead of just exiting right away
- aspect ratio options
- a single build for old / new3DS

Looking at the log you've provided i probably messed up the includes somewhere, and didn't rebuild from scratch.
I'll do my best to try and get it compiled again.
 
  • Like
Reactions: Tebra and nin187

nin187

Member
Newcomer
Joined
Jun 11, 2008
Messages
7
Trophies
1
XP
138
Country
There have been a lot of changes in both libctru and sdl 1.2 for 3ds.
This port has to be updated before being able to be compiled with the latest libraries.

One of the changes, is how the controls are handled. So if it does compile, the controls won't be recognized as-is.

I do want to revisit this some time, i've learned a lot about the do and don'ts when porting stuff since then.

Some of the things i've been wanting to add;

- re-mappeble controls
- saving the last found password
- confirm on exit, instead of just exiting right away
- aspect ratio options
- a single build for old / new3DS

Looking at the log you've provided i probably messed up the includes somewhere, and didn't rebuild from scratch.
I'll do my best to try and get it compiled again.
After some research, it seems latest gcc don't allow multiple definitions.
Since i'm a noob, i don't know how to downgrade the gcc version or get it to work on the newest gcc verion.
Really hoping for the new release with the functions you mentioned!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte