Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Chat about anything CX16 related that doesn't fit elsewhere
BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Post by BruceMcF »



12 hours ago, kktos said:




Yeah, yeah, I know, one of this stupid idea.



Nevertheless, there's something to it which is appealing.... like having a local ZP and Stack.....

Having a 65C02 which can behave kinda like its big brother, the 65816....



Just a thought....

?



Build the task inside $A000-$BFFF. Do the tasks stack as an X-indexed or Y-indexed stack at $BF00. A pair of zero page vector location (source, target) that the tasks use on zero page. The bank of the next task in the chain at $A000, A, X, Y index state at $A001-$A003,  S & T at $A004-$A007, the current RTI address and status at $A008/$A00A.

STA TA : STX TX : STY TY : PLA : STA TFLAG : PLA : STA TLRET : PLA : STA THRET 

LDA T : STA TT : LDA T1 : STA TT1 : LDA S : STA TS : LDA S1 : STA TS1

LDA $A000 : STA $00

LDA TS1 : STA S1 : LDA TS : STA S : LDA TT1 : STA T1 : LDA TT : STA T

LDA THRET : PHA : LDA TLRET : PHA : LDA TFLAG : PHA : LDY TY : LDX TX : LDA TA : RTI

 

 

rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Post by rje »



6 hours ago, StephenHorn said:




I just feel that the 65C02 is a distinctly poor choice for a multitasking system. 



That’s what makes it soooo fun to try!

rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Post by rje »



5 hours ago, Stefan said:




After programming a while for the emulator I'm generally very pleased with how things are working.




  • There are a lot of free ZP addresses, at least when you program in assembly. Typically even a large program really requires only a few ZP words, mostly for indirect addressing.


  • The bank switching works well as is, and it will work even better when moved to ZP. But I have the advantage of not having done bank switching 6502 programs before, so I have no fixed view on how this could or should work.


  • The interface to VERA is logical and easy to work with. I'm especially fond of the auto increment/decrement feature, making it possible to do really fast writes to the memory in VERA.


  • And there's a lot of RAM and ROM, making it possible to do things never imagined on 8 bit computers.




I think it really is a dream to program. ?



Sprites on VERA are more complicated than on the C64, and that causes me a bit of heartburn.

And it seems that the PSG needs a way to ... well to set decay I guess.  Envelopes.... ONLY because it’s a nice way to do “gunshots” and “explosions”.

 

But  I agree with your other points.

m00dawg
Posts: 346
Joined: Wed Jul 08, 2020 12:41 am
Contact:

Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Post by m00dawg »



1 hour ago, rje said:




And it seems that the PSG needs a way to ... well to set decay I guess.  Envelopes.... ONLY because it’s a nice way to do “gunshots” and “explosions”.



Us chiptune musicians would also enjoy ADSR, or some level of envelopes and decay as well ? Based on the number of channels, I expect the VERA's PSG will be between maybe an NES with the VRC6 chip and TG16 though that's just hazarding a guess. TG16 had programmable waveforms of sorts (like the WAVE channel of the GB as I recall) and that's something I'd love to see. But if it's closer to an NES that's ok too. Actually I'm not particularly picky - I'll be happy with anything generally but these features would certainly be a nice to have.

Of course I know the YM2151 is quite capable of music (and SFX) but the blending of FM and PSGs is something I find quite interesting from a musical perspective.

Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
Lorin Millsap
Posts: 193
Joined: Wed Apr 29, 2020 6:46 pm

Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Post by Lorin Millsap »

Have you tried dropping the volume on the channel you want to fade. Or you can play samples.


Sent from my iPhone using Tapatalk
rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Banked RAM, ok... And why not banking Page 0 and 1 ;) ?

Post by rje »



16 hours ago, Lorin Millsap said:




Have you tried dropping the volume on the channel you want to fade.



That's exactly what I'd have to do -- I'd have to actively manage it... which might require interrupt-driven assembly, because it would become complicated with BASIC.  Not impossible, just complicated... because instead of focusing on "game logic", I'd also have to interleave sound timing.  Eeek.

 

Post Reply