I don't know a lot about the Prime and your game, but if all Invaders move at the same time and in the same direction, couldn't you have one image with them all instead of separate images so that it is faster to move them all ? And when one is hit, you edit the image, would that be possible ?
I like how it sounds so far, especially considering you have multiple channels. It would be nice to hear a longer sound sample, though, such as a SMB1 sample.
Thanks And for the longer sample, you'll have to wait until the editor comes because I really don't feel like writing that by hand for now
I'd be interested in knowing how you are combining multiple channels on a single output pin. The method I'm using for BA, where I alternate between ANDing and ORing the two channels, sounds fine in Wabbitemu.
I only use OR so I guess this is why there are some problems. I store all 4 states (take two bits each) in one byte then OR all those and send them to the port. ld a,(states) ld c,a srl c srl c or c srl c srl c or c srl c srl c or c and %00000011 ;this is probably useless out (00h),a
You said it would be better with some ANDs ? Would that still be better considering that channels can change their positions (I mean, channel one can be on the right ear or the left one, or both, I just have to change two bits) or would it be better if they had given positions and never change ?
Not bad. You should consider adding a noise channel. I did it in Bad Apple by reading from the r register, but having a properly random sequence of bits should sound better.
A noise channel ? That would be a channel with random noise on it ??
Yes. It's commonly used in 1 bit music as a substitute for drums. Here's how I used it in Bad Apple: https://mediacru.sh/0YlhBMdyRnVn.
Oh wow, that would be a nice addition indeed ! Thanks for the tip, I'll consider that.
I am working on TRAXE version 2 which is a chiptune tracker with 3 channels and it will be used in combination with the TIMID soundchip. I want it to have calculator generated sound as well for those who don't have the soundchip. Send me a pm and maybe you can help me with that.
Erm, I didn't understand everything in that post due to the presence of too precise English words What is a "chiptune tracker" exactly ? Is a soundchip external hardware (external from the point of vue of the calculator) ?
Not bad. You should consider adding a noise channel. I did it in Bad Apple by reading from the r register, but having a properly random sequence of bits should sound better.
A noise channel ? That would be a channel with random noise on it ??
First of all, AudaciTI is a play-on-words because it sounds like Audacity... when said in French, so if you have a better name (preferably not longer than 8 chars), I might take it.
Why another music player ? Because, from what I understood, TruSound takes "too much memory" (not too much for what it plays, but too much to fit a lot of music in a calc) and runs at 15 MHz. MuseInc needs both Axe and Celtic III on the calc so it doesn't fit either on a regular 83+, same for MobileTunes which requires DoorsCS (well it fits but takes a lot of memory), TI JukeBox only plays one channel of sound, ... (I didn't know about this one until fb39ca4 told me about it, which was after I posted).
So this is why I thought we needed a player with those features:
plays 4 channels of sound
runs at 6 MHz
has an on-calc editor
has a on-PC editor (I won't do that but the format I'll use will be so easy anyone who knows how to code for PC could do that editor)
standalone (no need for librairies)
Do you have some progress to show off ? Yay ! Screenshot Time ! Seriously, I won't do a screenshot for a music player. But yeah, I have an executable if you want. Plays a stupid track with 8x4 notes in. If you don't have the adapter, you can always try that with Wabbitemu. The other executable (TESTNOTE) is to test notes independantly (no chord, one note at a time). The "player" (if we can call that demo a player) supports 45 different notes for now, but I was too lazy to make a music that supports all those notes without an editor. But you can still hear most of the range in the demo, it plays the 6th note in the list and the 42th note.
Now it's my turn to ask questions ! :P
Do you think the sound you heard in that demo is crappy ? Do you think we need such a player-editor or do we already have enough of those ?
Some documentation in spoiler, if you want to make an editor.
Spoiler For Spoiler:
The first note that my "player" supports is a F#. So whenever you want to play that F# you put 0. Then, this is not logic but you go decreasing, so the "next" note is the previous note, so a F. So whenever you want to play that F, you put 1. Of course, it doesn't support only one F#, so 12 is also a F# (lower than the 0 one), 24 too, same for 36,... but not 48 because the player only supports 46 notes (from 0 to 45). The first note that my player supports is a A. So whenever you want to play that A you put 0. Then the next note is obviously A#, so whenever you want to play it you put 1. And caetera until you reach 45 which is the last note my player supports.
The player reads from appvars, and you don't want to play zStart's appvar so put "AUDACITI"[00] at the beginning of your appvar.
Now that you know which note corresponds to which number, how do I play them ? I'll make the player support more things but for now, you just put note11, note12, note13, note14, note21, note22, note23,note24,... where note1X are the components of the first chord, note2X are the component of the second chord, ... and noteX1 are played on the first channel, noteX2 are played on the second channel, ... And you end with a 255.
So the thing you hear in the demo is just that: "AUDACITI"[00] Data( 45-18, 45-42, 45-30, 45-06 ) .do do do do Data( 45-19, 45-40, 45-26, 45-09 ) .si re mi la Data( 45-21, 45-38, 45-28, 45-07 ) .la mi re si Data( 45-23, 45-37, 45-25, 45-11 ) .sol fa fa sol Data( 45-25, 45-35, 45-26, 45-09 ) .fa sol mi la Data( 45-26, 45-33, 45-23, 45-13 ) .mi la sol fa Data( 45-28, 45-31, 45-23, 45-11 ) .re si sol sol Data( 45-30, 45-30, 45-23, 45-11 ) .do do sol sol Data( 255) (sorry for the "45-X", this is due to a previous way of storing notes).
Planned: -change the length of notes -silences -change the position of channels -mute channels (to save space when only one note at a time is played) -"drums"
This is completely offtopic, and I apologize for that, but TheCoder1998, a lot of people (read: 2) complained about your sig being too high, so I propose a workaround below.
It would be hard for a variable to get to 65565, but yeah, I get what you mean, if X increases too much, then it will come back to 0 at an unexpected time (due to 65536 not being a multiple of 96) and the sprite will jump. Maybe there is also a problem when Y>255, then Y+r2>255 and Y+r2 and 63>255 (and only affects the lower byte).
Also except for Axe, all the apps you put in parentheses are useless (well I use Period because I can anyway , but a replacement program for it would be cool cause it sucks, blame TI for that).
Français is indeed useless (especially for coders), but in maths class, some teachers might want you to put your calc in French so that they say the same word to 82 Stats.fr and 83+ users. And Period can be useful in exams when you don't know the Z for the Oxygen (don't worry for me, I know it ).