Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
merthsoft wrote:
Are the changes you're making to Alien Breed's code, or to your conversion layer's code?

I have to make some changes to Alien Breed's code, as it uses lcd ports at times, and some things are different, such as saferam areas and such. But that is really just about it. For example, I replace bcall(_grfbufcpy) with UpdateScreen, and bcall(_clrgrfbuf) with a routine that does the same thing to plottsscreen. Also, I removed things that included contrast setting, which I'm going to mess around with later. Smile Honestly, it is really just changing address and bcalls, and altering lcd specific code.
Do you think it's something that could be done automatically? Like through a preprocessor or something? It would be cool to pass in code for a game like phoenix or something, and it spits out basically working code for the color calc.
merthsoft wrote:
Do you think it's something that could be done automatically? Like through a preprocessor or something? It would be cool to pass in code for a game like phoenix or something, and it spits out basically working code for the color calc.
It sounds like it could be possibly doable if a shell like DoorsCS had most of the required routines available to call. Currently it sounds like there is more to it than just patching bcall addresses and replacing a few ION routines.
Yeah, the end goal is to get closer to that, but the problem is that there is no universal standard for all programs. Some define their equates directly in their own program, which adds to the complexity. It basically all depends on what type of program it is.

Hmm... actually, I wonder if a pre-converter is an idea...
Some kind of automated thing might work for a bunch of programs, but I think certain programs (possibly including AB5) would need a little manual attention, eg. given that AB5 currently uses 2 different gbuf->LCD routines on the 83+/84+, etc.

Mateo, this looks great! Thanks for using AB5 as one of your test subjects! It's given me some inspiration to consider including an 84+CSE version of AB5 with any future updates (with appropriate credit given to you of course!) Smile
At this stage I think having the tools in place to port over games is the way to go, with looking at some kind of conversion/dynamic interpretation at some point down the line once all the relevant lessons have been learned.

Either way, nice work Mateo! This should increase the CSE compatible games library 100 fold!
MateoConLechuga wrote:
[...] Now I just need a nice custom small font text routine for the monochrome calcs, basically just something that does the exact same thing as _vputmap, and it will be pretty much all set. Smile [...]
Take a look at Dwedit's bubfont routine. I'd also be happy to write something for you, i've written several font routines before (including stuff with variable width).

Also, i'd love to see Phoenix on the CSE as well!
Oh!! This is so cool! Could you do a mobletunes port? If you saw my calculator speaker case post then you know why... Razz
Great job with everything here though!
Botboy3000 wrote:
Oh!! This is so cool! Could you do a mobletunes port? If you saw my calculator speaker case post then you know why... Razz
Great job with everything here though!

I'm actually surprised that no one has ported it yet in color... The routines are still applicable. Smile I'll have to write a separate version though, since it is closed-source. Shouldn't be too bad though. Smile Or I could just make a quick version by porting over the QuadPlayer in like 10 minutes. I'm thinking using AppVars rather than Programs would be nicer though. I believe JamesV wrote a converter between the two.

chickendude wrote:
MateoConLechuga wrote:
[...] Now I just need a nice custom small font text routine for the monochrome calcs, basically just something that does the exact same thing as _vputmap, and it will be pretty much all set. Smile [...]
Take a look at Dwedit's bubfont routine. I'd also be happy to write something for you, i've written several font routines before (including stuff with variable width).

Also, i'd love to see Phoenix on the CSE as well!

Phoenix would be awesome! I believe that there is a color version out there; just doesn't have all of the cool things. Razz If you would like, a font routine would be fantastic! It is basically just a drop-in for the _vputmap bcall, which can just be added to to make the _vputs and all the rest. That would be fantastic; thank you! Smile
Almost a drop-in replacement for VPutMap, from a project written nearly a decade ago (2006), and modified for standalone use.

http://s000.tinyupload.com/index.php?file_id=42863972284076666552

The canned meat is in _font_rtn.z80 and _font_dat.z80. The following defines must be made at some point, preferably at the start of the project:

Code:

#DEFINE SIMULATE_TIOS

scrnBuf .equ plotsscreen  ;or wherever your screenbuf is
temp1   .equ $8000        ;6 bytes, can define elsewhere

The code assumes there's a ti83plus.inc to define penCol in _font_rtn.z80

The routines to use are:

* VPutS : Displays zero-terminated string at HL. Preserves AF.
* VPutMap: Displays character in A. Preserves BC,DE,HL,IX. Carry set if result wouldn't fit onscreen.
* VPutSN: Displays a string at HL of length B.
Iambian++! It works perfectly. Smile Just need to modify a couple sprites, and it should be set! Here's me beating the first stage in AB5:

So, this seems to be progressing sufficiently far that I definitely think I need to add something in Doors CSE to help support these kinds of programs. What can I do to that end? Are the routines necessary for this currently just the fastcopy routine and text routines with their fonts?
KermMartian wrote:
So, this seems to be progressing sufficiently far that I definitely think I need to add something in Doors CSE to help support these kinds of programs. What can I do to that end? Are the routines necessary for this currently just the fastcopy routine and text routines with their fonts?

Pretty much; there are also parts that set up the screen and clear stuff when exiting; but I imagine DCSE already has those defined. Smile I also have a monchrome to color sprite routine, which takes whatever color is in 'a' and then prints a monochrome sprite somewhere on-screen with the color in 'a', high=low. There's no clipping or anything, but it is just another idea.

I can send you the updated file soon! Smile
Wow! This is looking amazing! I wish I could do something with this, but I obviously don't know squat about z80. Razz
This is superb, Mateo! You've opened up the doors to a very neat trick Smile
Mateo, do you think this will work for the new ti 84+ CE?
Unicorn wrote:
Mateo, do you think this will work for the new ti 84+ CE?
With a little tweaking I'm sure it will work Smile
Botboy3000 wrote:
Oh!! This is so cool! Could you do a mobletunes port? If you saw my calculator speaker case post then you know why... Razz
Great job with everything here though!

It's not mobiletunes, but it works! Smile



Making a color version shouldn't be too hard though; it all depends on how graphical you want it. Razz
MateoConLechuga wrote:

Just a suggestion... I think it would be cool if you could make that white color the actual TI-84 color, like the color in JamesV's signature.
I think that would add too much overhead to something that we should be happy that it plays the older games with a bit of modding.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 3 of 5
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement