News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_ronaldo

#CPCtelera 1.4.2. release

Started by ronaldo, 11:59, 11 May 15

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

mr_lou

@ronaldo

Alright, my CPC464 started behaving again for some reason, so I looked into SFX again.

I now stop music in the title screen, and then do this before the game starts:


    cpct_akp_musicInit((u8*) 5877);
    cpct_akp_SFXInit((u8*) 5877);


As far as I understand, I have to initialize music again with the address of my SFX file? And then call cpct_akp_musicPlay() in my game-loop?
There's no song-data in my sfx file, as I wish to only have sound-effects in the game. So I mark "Export only SFX" when exporting to binary. Otherwise it seems to exclude all the instruments that aren't used in the song.... meaning all of them....

But I get this error now when trying to compile:

Multiple definition of _music

EDIT: Argh, nevermind, I'm stupid again.

mr_lou

Ok I'm getting a ton of these messages now:

Overlapped record detected

Thought maybe it was confused by me adding two __at prefixes, so I tried merging my music and sfx into the same array, but still get a ton of those messages.

EDIT: Oh gawd, I'm going for a record in being stupid. Been entering the export address in decimals in Arkos Tracker.... and it says clearly "hex".... I'm just gonna go to bed now... G'nite.

EDIT 2: mkay, that didn't help. I still get a ton of "Overlapped record detected" messages.....

EDIT 3: I'm beginning to suspect the problem simply is having two Arkos Tracks......?

ronaldo

@mr_lou: when using __at prefixes, try to have all your absolutely located stuff on the same source code file. If you produce different .rel modules with absolutely located code, some of your absolutely located stuff will be relocated by the linker. It's a problem SDCC has with the linker.

If some of your code gets relocated, you may end up having different pieces of code ending on the same address space, then having overlapped records.

You also may overlap records by not correctly calculate where to place your absolutely located portions of code.

mr_lou

Well that was good to know. :-)

It doesn't fix my problem though.

I have this in my titlemusic.h file now:


#include <types.h>

extern __at(64) const u8 music[5813];
extern __at(5878) const u8 soundeffects[318];


I have tried various start addresses for the soundeffects. All gives this overlapping error.

As soon as I remove the soundeffects line (and the data in the corresponding c file) then it compiles fine.

I also tried putting my sound-effects into the music array. Gave the same overlapping error. This tells me that the overlapping error is caused by the data somehow. But I don't get why.
I don't think I'm exceeding limit, because I have a huge scroll-text that I removed, resulting in several kb freed, and still nothing.

So I'm still suspecting that you just can't have two Arkos Tracker tracks in one project.....


mr_lou

The interesting part in this, is that even when I just add the 318 bytes of sound-effects into my music array, I still get the overlapping errors.

Meaning I only have one __at prefix. Same as before. The only difference is the additional 318 bytes in the array - and that results in the overlapping errors.

ronaldo

The overlapping is lilely happening between your sfx and the start of your code. Where is your code loading? Check the value of Z80CODELOC.

After compiling, go to obj/ folder and open .map file to check loading addresses of everything. Check if your sfx and music are being loaded where you put them, and check where does overlapping happen.

There is nothing preventing you having 2 Arkos tracker buffers. SDCC doesn't know what do buffers contain. It could be Arkos tracker songs or random data. For SDCC it's exactly the same.

mr_lou

Quote from: ronaldo on 06:41, 30 September 15
The overlapping is lilely happening between your sfx and the start of your code. Where is your code loading? Check the value of Z80CODELOC.

Yes that was it of course.
I'm just gonna go sit in the corner for an hour now....

ervin

Quote from: mr_lou on 07:00, 30 September 15
Yes that was it of course.
I'm just gonna go sit in the corner for an hour now....

:laugh:

Having said that, I shouldn't really laugh.
I've also done that many times...

mr_lou

Alright.

Sound effects working, except one.
I have 5 sound effects at the moment, all working, except one of them that just doesn't play. Just weird.
I can't spot anything weird about it in Arkos Tracker. The only thing that stands out about it, is that it was copied from another effect in STaRKos. Surely that shouldn't mean anything.
Out of ideas at the moment, but not given up.

Targhan

Hi all,

QuotePersonally, I think that Arkos Player is a great player, but may not be suitable for all uses/needs. I plan to add other players in the future, to let users choose the one they prefer. Sorry for not having time to do it now.

Could you please tell me what you feel is limitating or why the player doesn't work as you would like it to ? I may have plans about it, so don't hesitate to give me ideas about how to improve things. Though I thought the Music/SFX thingy was quite flexible... PM me, I wouldn't want to hijack this thread. Thanks !
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

ronaldo

@Targhan: I might have sounded wrong way, sorry. I was just trying to be neutral with my statement. As you already know, I asked you to include Arkos Player because I think is really great. However, I'm councious that users always have different preferences, no matter how great a product is. So, I planned to include different music players in CPCtelera from the start. It's not a complain on Arkos Player features, but just a way to give options to users and let them pick their preference.

Anyway, if you like I'd love to discuss some ideas with you. As I adapted it to work with CPCtelera I took some notes that might be interesting. Also, you might find interesting discussing with people using CPCtelera's version of your player about their experience.

It's always really nice to have great developers like you willing to improve already great software :D.

Targhan

Oh no don't worry, you didn't sound negative, and even if you did, I wouldn't have been upset: each one has the right to have an opinion :). But it's important to me now to know what could be improved for future evolution, whether they could be related to its CPCTelera integration or not.


And supporting various players in your framework is actually a great idea.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

ronaldo

Well, on latest months, development of CPCtelera is going very slow, but lot of things have entered this release step by step. So, the time has come for a new official release, including all new features that have been populating development branch this time. There plenty of interesting things: please, take time to read releas notes. Moreover, we've collected plenty of feedback and our tasklist is full of ideas. We really hope to have time to implement all your suggestions and make CPCtelera a much better software for you to fastly and comfortably develop new games and programs for our Amstrad CPCs!

Here you are the release notes :

       
  • API change on cpct_getXBits functions. Changed order of parameters to further optimize operations.
  • Optimized functions: bitarray functions, cpct_count2VSYNC, cpct_px2byteM0, cpct_enable/disablefirmware, cpct_getHWColour, cpct_setPalette, cpct_fw2hw
  • Added example on getting hardware values with cpct_getHWColour
  • Automatic inclusion of binary files in DSK: Users can now specify a path for the makefile to retrieve binary files and insert them on the DSK on compilation.
  • iDSK: Fixed historic data corruption problem on adding new files.
  • Added cpct_winape script that automatically downloads, installs and lauches winape from command line to speed up development process. It works multiplatform, transparently using wine where required.
  • Added cpct_setInterruptHandler and cpct_removeInterruptHandler functions to let the user easily hook any function to system interrupts.
  • Added example on hooking a function to system interrupts.
  • Added cpct_img2tileset support for generating sprites with interlaced masks.
  • Added new script cpct_tmx2csv to convert tmx files from tiled into CSVs ready for inclusion in user code.
  • Added Augusto Ruiz's dskgen tool for generating and managing DSKs low level.
  • Updated SDCC with latest patches and bugfixes.
  • Modified SDCC building: SDCC now builds with maximum optimizations activated and all unnecessary parts are removed from compilation (it compiles faster)
  • Improved Makefile functions for CDT Creation.
  • Added examples about automatic assets inclusion/conversion and CDT generation with multiple files.
  • Improved compatibility and functionality of Augusto Ruiz's img2cpc
  • Improved examples and explanations
  • Added GCC/CLang version checking on installation (checks required C++11 features are present)
  • Added splitted C/ASM bindings for most of CPCtelera's functions, along with __z88dk_callee and __z88dk_fastcall calling convention use.
Thank you very much to all of you who are collaborating with CPCtelera. This is getting better and better thanks to all of you :D . Special mention in this release goes to donnors: @Arnaud, @mr_lou, @ervin, @Octoate and @lachlank. I also want to specially mention @AugustoRuiz for his incredible support and direct collaboration with the project as developer.

Hope you enjoy this release and create new and better games and software for Amstrad CPC! :)

And, of course, don't forget that we are 1 week away from CPCRetroDev's deadline. There are lots of projects under development for this edition. You can check some of them on twiiter (hashtag #CPCRetroDev'). ¡This year we are probably going to have to create a double cassette edition to include all the games! Amstrad community's true potential is still to be unleashed :D .

mr_lou

We're having two mates over tomorrow to test our 4-player game. The CPC+ is set up ready for the show.  :)
Still not sure on how to do the video-demonstration of the game.

It's awesome to see CPCtelera improved and expanded. I've used v1.1.1 for our game though. I almost never upgrade my dev tool in the middle of a project. (Had a bad experience once).
I already have ideas for other CPC games to do with CPCtelera. Sadly time isn't my biggest resource. But hopefully I'll have a chance to check out newer versions of CPCtelera eventually.

Arnaud

Downloaded, installed, project rebuilded and tested. All is OK.
And i saw the wrong size on disk of the binary added is fixed.

Congratulation for this release  :)

Edit : I had to modified manualy .bask_profile in order to set path to cpctelera-1.3. At the end of installation the path of cpctelera was not updated and stay on cpctelera-1.2.3.

mr_lou

I have a question about audio channels.

While preparing for our mates to arrive (in 10 minutes) I notice I seem to have reversed the stereo. When expecting sound in the right speaker I'm hearing it in the left speaker, and vice versa.

I thought:
Channel A = left speaker
Channel B = both speakers
Channel C = right speaker

But it seems to be:
Channel A = right speaker
Channel B = both speakers
Channel C = left speaker

Meanwhile, trying to figure out what's right I find this page claiming a whole third thing:
Locomotive BASIC - CPCWiki
Channel A = both speakers
Channel B = left speaker
Channel C = right speaker

So I'm confused.
What's right?

P.S.: I haven't checked if I've connected my speakers correctly, because it requires me to pull out the whole TV.

ronaldo

Well, the best way to determine this is having a look to the schematics:
[attach=2]
It appears clear that B channel is conected to both (left and right), whereas A and C are connected to either left-right or right-left: I can't determine exactly, as I can't distinguish them with the labels 2 and 3. However, it should be easy to test, if your speakers are connected the right way.

mr_lou

Hm I checked. I've connected the wires correctly.

Here's more weirdness:

Plugging in headphones to the CPC, audio does come in left speaker as expected.
So I thought maybe my audio-system switched the channels around, but no. Connecting audio out from the CPC to my audio-system, stereo is as expected too.

So, in conclusion: The problem is with the monitor/scart cable that comes with the CPC+
(Unless @Bryce made the cable for me, which I can't remember if he did?).


andycadley

Well the CPC+ itself never came with a monitor/scart cable (it's built into the CM14) so it seems a definite candidate.....

EgoTrip

I noticed a typo on the website, on the main page underneath the banner it says "Astohishing" instead of "Astonishing"

arnoldemu

@mr_lou:
I will confirm this on my plus monitor over this weekend.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource


arnoldemu

Quote from: arnoldemu on 10:35, 30 October 15
@mr_lou:
I will confirm this on my plus monitor over this weekend.
All is ok here.

channel a (psg register 8 ) is left.

On my cm14, sound comes from left speaker (left here means left side when monitor is connected up and I am looking at the screen).

I checked the stereo, sound comes from left headphone too.

Tested on 464plus with cm14 and gx4000 with the same cm14.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

EgoTrip

Someone please write a windows graphical game-maker style program as I can't deal with all the text only stuff and the c and ha files etc, it just confuses me and is easy to get lost in.

AMSDOS

Quote from: EgoTrip on 12:18, 01 November 15
Someone please write a windows graphical game-maker style program as I can't deal with all the text only stuff and the c and ha files etc, it just confuses me and is easy to get lost in.


Isn't that what TommyGun does?
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Powered by SMFPacks Menu Editor Mod