Captain Cozmos Posted November 7 Share Posted November 7 New things are coming. I am writing a brand new set of routines that will recreate, at the highest possible resolution, Vector style graphics within the limitation of the 9928 VDP Here are 3 screenshots. Sorry they are large but I wanted to keep the CoolCV logo in the same spot for scale and relationship.. Screenshot 1 has the green dot in the middle of the screen from a single plot point like in HGR2 mode. In reality the middle of the screen is the joining of 4 8x8 patterns. It looks like this. 1=pixel is on, 0 pixel is off or another color 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,1 1,0,0,0,0,0,0,0 0,0,0,0,0,0,0,1 1,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 The example in the pictures looks like this 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,1 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0 The green dot is slightly offset from the exact middle but I intentionally left it that way to demonstrate what happens when the Vector graphics occupies the same pattern space. The red square is made up of Vector lines and not patterns. Screenshot 2 is the same square with only the x,y each having a -10 offset. Notice that it did not effect the green dot in the middle whatsoever. The Red Square is vectored around the green dot and it is not occupying the same set of patterns. Screenshot 3 shows the limitations of the 9928. I offset the Red Square with a +10x and +10y but the unfortunate reality is that, despite drawing the Vector around the green dot, it does end up sharing the same color value because of the color limitations per line within a pattern definition. However, if I refrain from changing colors next to each other I should be able to recreate any type of Vectrex game within reason. Right now I am continuing to refine the subroutines as well as see how far I can go concerning possible games. At present I am able to Vector any shape within the resolution of 255x191. I can also place a dot, or series of, anywhere on the screen and in any color within the limitations of the VDP. Hopefully, my next visual will be some type of Vectrex style animation. CPT Cozmos 2 Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted November 7 Author Share Posted November 7 My 1st attempt at a Tempest style vector packet. I really need a good editor if there is anyone out there in the Vectrex Community that knows of one. To do anything significant by hand will take forever. Here is the packet for reference. SQUARE_LAST_FRAME: db $00,$C9,$2C db $00,$FF,$FF db $00,$01,$01 db $00,$FF,$04 db $FF,$00,$C4 db $FF,$44,$00 db $FF,$00,$3C db $FF,$BC,$00 db $FF,$08,$E8 db $FF,$00,$F5 db $FF,$0C,$00 db $FF,$00,$0B db $FF,$30,$18 db $00,$D1,$E5 db $00,$00,$FE db $00,$FF,$00 db $00,$00,$02 db $FF,$30,$0B db $00,$D1,$F0 db $00,$00,$02 db $00,$FF,$00 db $FF,$30,$00 db $00,$D1,$FD db $00,$FF,$00 db $FF,$30,$F1 db $00,$D1,$0C db $00,$FF,$00 db $FF,$30,$E8 db $00,$CD,$18 db $00,$FF,$00 db $FF,$20,$E8 db $00,$E0,$24 db $00,$FE,$F5 db $00,$00,$FF db $00,$FF,$00 db $FF,$11,$E8 db $00,$ED,$18 db $FF,$04,$E8 db $00,$FA,$18 db $00,$FF,$00 db $FF,$F9,$E8 db $00,$07,$1E db $00,$01,$00 db $00,$FF,$00 db $FF,$F8,$00 db $00,$08,$FC db $00,$00,$FF db $00,$00,$01 db $FF,$F9,$F8 db $00,$07,$0F db $FF,$F9,$08 db $00,$14,$FA db $00,$FF,$01 db $FF,$F4,$00 db $00,$09,$FF db $00,$FF,$01 db $00,$20,$17 db $00,$E0,$E9 db $FF,$20,$17 db $00,$DD,$E9 db $FF,$11,$17 db $00,$ED,$E8 db $00,$00,$01 db $FF,$04,$18 db $01 03 Cozmos 2 Quote Link to comment Share on other sites More sharing options...
+evg2000 Posted November 7 Share Posted November 7 i wonder if patterns can be extracted from the original tempest code? Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted November 7 Author Share Posted November 7 (edited) 1 hour ago, evg2000 said: i wonder if patterns can be extracted from the original tempest code? I looked in all the Tempest Source code I could find online. The tables are different. Created from the Mindstorm game source. I have to rewrite the scale because this was the only model I could fit on the screen. Edited November 7 by Captain Cozmos 2 Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted November 8 Author Share Posted November 8 (edited) OK... Fixed the scale issue. Here are several Minestorm Objects on a Colecovision Screen in Vectrex packet format. If the Vectrex was in Z80 assembly I would be able to port a game within a reasonable time. Unfortunately I do not know 6809 very well. Actually not all, I am familiar with a bit of 6801, 68000/20/30/40/60 x86 but of all things, not the 6809 The other problem, is of course, when these objects pass each other the colors will bleed. So, I would have to create the game in black and white or a single color. Here are the packets: MINE2: DB $00,$20,$00 ; 'MAGNETIC' MINE DB $FF,$30,$B0 ; . DB $FF,$B0,$30 ; . DB $FF,$B0,$D0 ; . DB $FF,$30,$50 ; . DB $FF,$D0,$50 ; . DB $FF,$50,$D0 ; . DB $FF,$50,$30 ; . DB $FF,$D0,$B0 ; . DB $01 ; . PACKET TERMINATOR SHIP: DB $00,$3F,$00 ; ANOTHER NEW SHIP DB $FF,$C4,$08 ; . DB $FF,$D8,$D8 ; . DB $FF,$20,$00 ; . DB $00,$00,$40 ; . DB $FF,$E0,$00 ; . DB $FF,$28,$D8 ; . DB $FF,$3C,$08 ; . DB $01 ; . EXPLODE: DB $FF,$7F,$20 db $00,$C0,$10 db $FF,$C0,$D0 db $FF,$20,$7F db $00,$E0,$C0 db $FF,$00,$C0 db $FF,$E0,$30 db $00,$C0,$00 db $FF,$60,$CD db $FF,$A0,$00 db $00,$20,$D0 db $FF,$3C,$30 db $FF,$00,$82 db $00,$30,$30 db $FF,$D0,$50 db $FF,$20,$F0 db $01 These packets are from the Mindstorm Source Code which is available on Github. The Packets are standard Vectrex format as I understand them. Pen Down, Pen Up, draw to Offset and Terminate with 1 Scale, Color and YX is determined separately. Otherwise the middle of the screen is 0,0 (Y,X) which goes from -128 to +128 (Y) and -128 to +128 (X). O3 Cozmos edit: Another thought to consider. If I am to have a bit map screen then I can not use tiles for any other purpose unless I have a mix where vector and tiles can not cross paths. So a game like Armor attack would have to be 100% vector driven or 100% tile patterns and some creative sprite use for the giant helicopter blades. So, to reiterate, all of it would have to be in one color unless you do not mind the color bleed when crossing paths. Edited November 8 by Captain Cozmos 2 Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted November 8 Author Share Posted November 8 (edited) OK, to bring it all home. Here is a screenshot of all 3 objects somewhat overlaid. You can see that the last object to be drawn gets the full color while everything below it gets the bleed. Notice that it does 'not' take over the pattern itself. If the 9928 had a color for every pixel then this would be golden but it is what it is. It was Mine --> Ship --> explosion. You can make out each if you look closely but they are 3 distinct objects that I would have to have constantly draw and redraw every refresh to maintain their structure when they move or another object intersects with them. Other than color bleed, these are truly separate objects within the Colecovision pattern space. I'm kind of proud of myself. O3 Cozmos Edited November 8 by Captain Cozmos 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 8 Share Posted November 8 The main issue with bitmap vector games on the 9918A is line draw speed - have you measured the performance of your line draw to see how many lines per second you can get? On the TI I couldn't get draws much faster than 32 lines per second in color (average), 40 or so in monochrome. While that's not terrible, but remember you need to divide that by the frame rate you want to pull, and halve that for the line erase. Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted November 8 Author Share Posted November 8 6 hours ago, Tursi said: The main issue with bitmap vector games on the 9918A is line draw speed - have you measured the performance of your line draw to see how many lines per second you can get? On the TI I couldn't get draws much faster than 32 lines per second in color (average), 40 or so in monochrome. While that's not terrible, but remember you need to divide that by the frame rate you want to pull, and halve that for the line erase. I have a plan 1 Quote Link to comment Share on other sites More sharing options...
Tornadoboy Posted November 8 Share Posted November 8 Someone needs to hack Star Wars and Star Trek to be vector now Quote Link to comment Share on other sites More sharing options...
Captain Cozmos Posted November 8 Author Share Posted November 8 (edited) 11 minutes ago, Tornadoboy said: Someone needs to hack Star Wars and Star Trek to be vector now I thought Star Wars was already Vector, at least most of it. Minus the music, exploding death star, proper R2D2 beeps. As nice as Star Wars for the Colecovision is I thought it could be better. Star Trek is a different matter. I was thinking more of low end games like Rip Off. Armor Attack might be possible but with a combination of sprites and vector. Tempest is a reality, I already figured it out the mechanics. I'm just not going to map out all those levels and program the thing for free. Edited November 8 by Captain Cozmos Quote Link to comment Share on other sites More sharing options...
Tornadoboy Posted November 8 Share Posted November 8 (edited) I hadn't looked at Star Wars in a long time but I thought it had been modded to plain graphics but maybe I was mistaken, though Space Fury definitely was changed. Cinematronics has a nice library of games to pick from, getting Tempest though will be epic! Edited November 8 by Tornadoboy 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.