RXB Posted October 3, 2014 Share Posted October 3, 2014 Well BATTLEZONE only has wire frame graphics and three colors on screen. (Green/White/Black) That is about as minimum graphics wise as you can get. Quote Link to comment Share on other sites More sharing options...
unhuman Posted October 3, 2014 Author Share Posted October 3, 2014 Well, a variant of the game I'm doing now has been on the TI, but it's a variant. Assuming I can get to it this weekend (and or remember to bring my laptop when I visit my folks)... Hopefully there's something to be seen.... Anyhow... I'm glad this topic has spawned some fun discussion. Pretty sure Battlezone only had 2 colors... No white. Unless the version you had someone pulled off the green filter. And, if I don't have anything to combine it with, it's not worth doing. I'm already doing something not combined. Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted October 3, 2014 Share Posted October 3, 2014 Legend of Zelda Quote Link to comment Share on other sites More sharing options...
unhuman Posted October 3, 2014 Author Share Posted October 3, 2014 Berryl Reichard. Oh - where's Owen?!!!! Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 3, 2014 Share Posted October 3, 2014 Well BATTLEZONE only has wire frame graphics and three colors on screen. (Green/White/Black) That is about as minimum graphics wise as you can get. I believe we have already concluded that vector graphics games on the TI would run too slow: http://atariage.com/forums/topic/228142-atarisoft-missing-in-action/page-2?do=findComment&comment=3043483 Quote Link to comment Share on other sites More sharing options...
am1933 Posted October 3, 2014 Share Posted October 3, 2014 Maybe my mind is playing tricks on me-but I seem to remember some Atarisoft advertisments where a TI99/4a Joust box was shown which probably indicated that there was a conversion intended at some point, I definately remember a UK company "Parco" who advertised Robotron for sale, I know I have a copy of the ad somewhere. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted October 3, 2014 Share Posted October 3, 2014 I have Robotron:2084 prototype on ROM. Plays nicely. I recollect from bits and pieces I have read around this har Interwebs that Joust was prototyped and pretty much completed but never released. Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted October 4, 2014 Share Posted October 4, 2014 (edited) In the case of Battlezone, the moon, horizon, mountains and score appear to be easily achieved with predefined characters. Battlezone is not on my list as a game, but I might do it as a demo. Got another vector game on the list though. Edited October 4, 2014 by sometimes99er Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted October 4, 2014 Share Posted October 4, 2014 Got another vector game on the list though. Tempest. Quote Link to comment Share on other sites More sharing options...
RXB Posted October 4, 2014 Share Posted October 4, 2014 Yea another problem with BATTLEZONE is only works with two joysticks just like the way you steer a real Tank or Caterpillar. Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted October 4, 2014 Share Posted October 4, 2014 There is one game that has been in DEMO status for awhile... I've been quietly waiting... but I've seen nothing new. It looks like it could be the BEST game ever for the TI. Are we waiting for the F18A to go to 1.6 first? Just curious. 1 Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted October 4, 2014 Share Posted October 4, 2014 Tempest. If you're asking me - No. Anyway, back to unhuman. Is it Tempest ? Quote Link to comment Share on other sites More sharing options...
unhuman Posted October 4, 2014 Author Share Posted October 4, 2014 (edited) Coding RIGHT NOW! Edit: I've got my screen generation working. Things are going to be a bit tight... I don't want to use 8x8 chars (although then I could use Mr. Bojangles), but 16x16 is too big... Edited October 4, 2014 by unhuman Quote Link to comment Share on other sites More sharing options...
jstimson Posted October 4, 2014 Share Posted October 4, 2014 Maybe my mind is playing tricks on me-but I seem to remember some Atarisoft advertisments where a TI99/4a Joust box was shown which probably indicated that there was a conversion intended at some point, I definately remember a UK company "Parco" who advertised Robotron for sale, I know I have a copy of the ad somewhere. Hope this link works, but yes, Joust was advertised for the TI (as well as Jungle Hunt). http://books.google.co.uk/books?id=bWYEAAAAMBAJ&pg=PA7&lpg=PA7&dq=atarisoft+all+the+hits+your+computer+is+missing&source=bl&ots=ggWS7hqw_Q&sig=yV_bJ8oIPtqkxM6GrgwRs7vBCpY&hl=en&ei=mDn2TeSwOI7Msgaq8sCkBg&sa=X&oi=book_result&ct=result&resnum=3&ved=0CCMQ6AEwAg#v=onepage&q=atarisoft%20all%20the%20hits%20your%20computer%20is%20missing&f=false 2 Quote Link to comment Share on other sites More sharing options...
am1933 Posted October 4, 2014 Share Posted October 4, 2014 Hope this link works, but yes, Joust was advertised for the TI (as well as Jungle Hunt). http://books.google.co.uk/books?id=bWYEAAAAMBAJ&pg=PA7&lpg=PA7&dq=atarisoft+all+the+hits+your+computer+is+missing&source=bl&ots=ggWS7hqw_Q&sig=yV_bJ8oIPtqkxM6GrgwRs7vBCpY&hl=en&ei=mDn2TeSwOI7Msgaq8sCkBg&sa=X&oi=book_result&ct=result&resnum=3&ved=0CCMQ6AEwAg#v=onepage&q=atarisoft%20all%20the%20hits%20your%20computer%20is%20missing&f=false That is the very advert!!!!, I think I seen it in one of the old compute! magazines. Quote Link to comment Share on other sites More sharing options...
matthew180 Posted October 4, 2014 Share Posted October 4, 2014 There's nothing special about Joust. Excellent ports/clones have appeared on consoles and computers far less powerful than the TI-99/4a. Actually, there is something special about Joust. Not necessarily from a game-play standpoint, but on the hardware side the Williams computer that runs Joust, Robotron, Defender, Stargate, Bubbles, and a few others has 48K of RAM backing a 308x256 visible pixel display, using 4-bits (16 colors) per pixel. Board revisions running Joust and Robotron also had a custom blitter chip (two chips actually) that could push around 1M to 2M pixels per second. That makes it very hard to do a *good* accurate port IMO. Quote Link to comment Share on other sites More sharing options...
matthew180 Posted October 4, 2014 Share Posted October 4, 2014 There is one game that has been in DEMO status for awhile... I've been quietly waiting... but I've seen nothing new. It looks like it could be the BEST game ever for the TI. Are we waiting for the F18A to go to 1.6 first? Just curious. Probably. The 1.6 firmware will have some serious layer changes that were worked out based on the needs and feedback from Rasmus. He is waiting on me to finish the final implementation and get him something to test with. However, I've been unable to allocate time for hobbies for a few months, but I hope to get it finished soon. 3 Quote Link to comment Share on other sites More sharing options...
matthew180 Posted October 4, 2014 Share Posted October 4, 2014 Qix! I loved that game in the Arcade back when I was much younger. I second that sentiment. The F18A bitmap layer and the GPU's PIX instruction would be perfect for this. :-) 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 4, 2014 Share Posted October 4, 2014 I second that sentiment. The F18A bitmap layer and the GPU's PIX instruction would be perfect for this. :-) Here's the code for a F18A GPU/PIX based line drawing algorithm if anyone's interested. Note that BSTK and RSTK are WinAsm99's names for the F18A GPU opcodes CALL and RET. ********************************************************************* * * Draw a line from (x1,y1) to (x2,y2) * * Translated from C version at: * http://rosettacode.org/wiki/Bitmap/Bresenham's_line_algorithm#C * * void line(int x1, int y1, int x2, int y2) { * * int dx = abs(x2-x1), sx = x1<x2 ? 1 : -1; * int dy = abs(y2-y1), sy = y1<y2 ? 1 : -1; * int err = (dx>dy ? dx : -dy)/2, e2; * * for(; { * setPixel(x1,y1); * if (x1==x2 && y1==y2) break; * e2 = err; * if (e2 >-dx) { err -= dy; x1 += sx; } * if (e2 < dy) { err += dx; y1 += sy; } * } * } * * R0 x1 value * R1 y1 value * R2 x2 value * R3 y2 value * R13 Color (0-3) * * Modifies registers R0-R10 * LINE * Setup variables CLR R6 * R6 is sx = 0 MOV R2,R4 * R4 is dx = x2 S R0,R4 * dx = x2 - x1 JGT DXPOS DEC R6 * sx = -1 JMP LINE1 DXPOS INC R6 * sx = 1 LINE1 ABS R4 * dx = abs(dx)b CLR R7 * R7 is sy = 0 MOV R3,R5 * R5 is dy = y2 S R1,R5 * dy = y2 - y1 JGT DYPOS DEC R7 * sy = -1 JMP LINE2 DYPOS INC R7 * sy = 1 LINE2 ABS R5 * dy = abs(dy) C R4,R5 * Compare dx to dy JGT DXGTR MOV R5,R8 * R8 is err = dy NEG R8 * err = -dy JMP LINE3 DXGTR MOV R4,R8 * R8 is err = dx LINE3 SRA R8,1 * err = err / 2 MOV R4,R10 NEG R10 * R10 = -dx * Main loop LINEL BSTK @PLOT * Plot (x1,y1) C R0,R2 * Compare x1 to x2 JNE CONT * Continue if x1 != x2 C R1,R3 * Compare y1 to y2 JNE CONT * Continue if y1 != y2 RSTK * Break CONT MOV R8,R9 * R9 is e2 = err C R9,R10 * Compare e2 to -dx JLT LINE4 * Jump if e2 < -dx S R5,R8 * err -= dy A R6,R0 * x1 += sx LINE4 C R9,R5 * Compare e2 to dy JGT LINEL * Loop if e2 > dy A R4,R8 * err += dx A R7,R1 * y1 += sy JMP LINEL * Loop *// LINE ********************************************************************* * * Plot a pixel at (x,y) * * R0 x value * R1 y value * R13 color * PLOT MOV R0,R12 SWPB R12 SOC R1,R12 XOP R12,R13 * PIX RSTK *// PLOT 3 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted October 5, 2014 Share Posted October 5, 2014 I've got my idea for my next project. I'll be doing a Compiled XB game. I got my idea reading other threads and... It might just work. It might not given that there's potentially a lot of characters moving around... You may guess. If you guess, I'll fess up. Otherwise... Wait and see! There are a couple of things you should do. 1 - be sure to use the compiler posted in "Extended BASIC game developers package" in post #1 2 - before doing anything, make the change described in Post 48 in that thread Then read the part in the manual about sound lists and the COMPRESS utility When your program is finalized, you can use COMPRESS to make images of the VDP memory and store it in DATA statments. Then you can delete the XB lines that created the screen, defined the characters etc. and read that from DATA statements and write directly to VDP with CWRITE. This is way faster and way more compact, and can be used in both XB and compiled programs. Then work through the sound list section of the manual. Sound lists run off the interrupt and once started do not need any intervention by the XB or compiled program. Also you can have 2 sound lists, say background music and then have an explosion sound when desired without interrupting the background music. Quote Link to comment Share on other sites More sharing options...
unhuman Posted October 5, 2014 Author Share Posted October 5, 2014 @senior - thanks for pointing that out. I grabbed it from the 2.1 compiler thread since I noticed the one on the development thread was out of date (and commented on that thread as such). I'll fix my comment. I'm going to do audio last. I'm going to make the game "work" in XB first and then endure the pain of making it more compiler friendly. It's just easier to develop that way, especially since I'm rusty... And the 4 way scrolling is in there - fantastic. I had an idea to work around not having that, but looks like I'll be happy. -H Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted October 5, 2014 Share Posted October 5, 2014 Just to give you an idea of what can be done, take a look at post #46 in XB Game Developers Package. It shows 1980 gamer's Frogger demo running normally in XB, then writing compressed DATA statements to the screen, character definitions and color table. Note that this is not compiled at all, but still running in XB. The program is 1/5th the size and loads the screen 75x faster! 1 Quote Link to comment Share on other sites More sharing options...
digress Posted January 10, 2020 Share Posted January 10, 2020 Is this routine meant to run on the f18a gpu directly? I'm trying to access such a routine from c that would do this very thing on a coleco On 10/4/2014 at 5:26 PM, Asmusr said: Here's the code for a F18A GPU/PIX based line drawing algorithm if anyone's interested. Note that BSTK and RSTK are WinAsm99's names for the F18A GPU opcodes CALL and RET. ********************************************************************* * * Draw a line from (x1,y1) to (x2,y2) * * Translated from C version at: * http://rosettacode.org/wiki/Bitmap/Bresenham's_line_algorithm#C * * void line(int x1, int y1, int x2, int y2) { * * int dx = abs(x2-x1), sx = x1<x2 ? 1 : -1; * int dy = abs(y2-y1), sy = y1<y2 ? 1 : -1; * int err = (dx>dy ? dx : -dy)/2, e2; * * for(; { * setPixel(x1,y1); * if (x1==x2 && y1==y2) break; * e2 = err; * if (e2 >-dx) { err -= dy; x1 += sx; } * if (e2 < dy) { err += dx; y1 += sy; } * } * } * * R0 x1 value * R1 y1 value * R2 x2 value * R3 y2 value * R13 Color (0-3) * * Modifies registers R0-R10 * LINE * Setup variables CLR R6 * R6 is sx = 0 MOV R2,R4 * R4 is dx = x2 S R0,R4 * dx = x2 - x1 JGT DXPOS DEC R6 * sx = -1 JMP LINE1 DXPOS INC R6 * sx = 1 LINE1 ABS R4 * dx = abs(dx)b CLR R7 * R7 is sy = 0 MOV R3,R5 * R5 is dy = y2 S R1,R5 * dy = y2 - y1 JGT DYPOS DEC R7 * sy = -1 JMP LINE2 DYPOS INC R7 * sy = 1 LINE2 ABS R5 * dy = abs(dy) C R4,R5 * Compare dx to dy JGT DXGTR MOV R5,R8 * R8 is err = dy NEG R8 * err = -dy JMP LINE3 DXGTR MOV R4,R8 * R8 is err = dx LINE3 SRA R8,1 * err = err / 2 MOV R4,R10 NEG R10 * R10 = -dx * Main loop LINEL BSTK @PLOT * Plot (x1,y1) C R0,R2 * Compare x1 to x2 JNE CONT * Continue if x1 != x2 C R1,R3 * Compare y1 to y2 JNE CONT * Continue if y1 != y2 RSTK * Break CONT MOV R8,R9 * R9 is e2 = err C R9,R10 * Compare e2 to -dx JLT LINE4 * Jump if e2 < -dx S R5,R8 * err -= dy A R6,R0 * x1 += sx LINE4 C R9,R5 * Compare e2 to dy JGT LINEL * Loop if e2 > dy A R4,R8 * err += dx A R7,R1 * y1 += sy JMP LINEL * Loop *// LINE ********************************************************************* * * Plot a pixel at (x,y) * * R0 x value * R1 y value * R13 color * PLOT MOV R0,R12 SWPB R12 SOC R1,R12 XOP R12,R13 * PIX RSTK *// PLOT Quote Link to comment Share on other sites More sharing options...
Asmusr Posted January 10, 2020 Share Posted January 10, 2020 1 hour ago, digress said: Is this routine meant to run on the f18a gpu directly? I'm trying to access such a routine from c that would do this very thing on a coleco Yes the routine must be uploaded to VDP RAM and executed by the GPU. Quote Link to comment Share on other sites More sharing options...
digress Posted January 10, 2020 Share Posted January 10, 2020 (edited) 23 minutes ago, Asmusr said: Yes the routine must be uploaded to VDP RAM and executed by the GPU. Ok so I have done that previously with the tile scroll routine so I can find that again. i compiled this using asm994a. almost worked for me. i got 1 error *** Warning #1: Missing END directive 91 005E 0000 END * WinAsm99 Supplied Directive edit: i just realized that i don't need to alter that asm994a already added the end statement for me. how do I set in memory these variables does that mean register0 of the f18a? * R0 x1 value * R1 y1 value * R2 x2 value * R3 y2 value * R13 Color (0-3) Edited January 10, 2020 by digress Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.