mein CBM 8032 (No. 2) mit Commodore High Speed Graphik
-
-
If I pre-process the coordinates to generate delta's and vector directions and save into memory and then just cycle through the numbers you get a slightly smoother/faster rotation but it is not massively different. The original one processed the delta's and vector directions on the fly.
-
Ok, now lets program something like DOOM!
I think something like a port of Elite would also be great!
OK - doing more with this card did spark some curiosity (not necessary Elite or Doom ) ..
I have explored what's available on the NET and one thing I have discovered is that to do anything fast with 3D wireframes on the HSG board you need matrix rotation routines & transformations in 6502 code. I have found information pertaining to the BBC micro but nothing for the PET. Doing them in basic is easy but very slow.
It will be a very time consuming job translating what is highly optimised code for the BBC micro to the PET - doable but very time-consuming.
Long shot but has anyone got any 6502 PET routines that perform matrix operations ?
(found something for the C64 but that was using multiplication formulae and is slow)
-
nlI don't have them but maybe ask on forum.6502.org
André
-
Well I wondered what vector games could be played on the HSG 512x512. I found a disassembly of the Atari Asteroids Arcade games and thought - have a go as it is only 6502 code. Having figured out the Vector Graphics drawing routines and also memory usage I created a version that works on the 8032 with HSG 512x512 resolution. (this video was taken on my 8296 - business keyboard).
See attached video - hard to play it with one hand
A little optimising still required on speeds but very close
-
-
THIS IS CRAZY... i love it!
I kinda hoped something like that could be possible but actually feared it would not even be as fast as that
-
Well I wondered what vector games could be played on the HSG 512x512.
-
wow very impressive !
-
-
The movement speeds are parameter controlled so I adjust - right now I have increased the speed of the bullets and minimum speed of the asteroids (since posting the video) but I can make the asteroids move even faster also. Just trying to implement the ship exploding right now and then can work on increased speeds
One side effect I forgot is that you can shoot yourself by accelerating and firing in the same direction
-
I‘m looking forward playing the game on my 8032 😍
-
I just ordered an EF9365 for this. So far I only have an EF9366 on this card.
-
I made the mistake of doing just one more thing ..... getting the ship explosion right. After that will publish for you to try out.
😊😊
-
Ok... I don't have words for that...
It's running perfectly fine on my 8032.
Played till round 2, had so much fun (because it's slow and for that easy to play)!
Since my 8032 has got the slow CRT from an 8296, I connected an external monitor with a "fast" one.
Both in graphic mode:
8032 in text mode, external monitor shows the game:
You are a genius!
-
Damn! Where is my EF9365? On the way...
But
-
Did you try the version with fine control feature for the ship rotation?
That code should also auto initialise the HSG board and switch to the graphics display automatically....
I can speed up the asteroids but know things get faster as you play longer ... I can figure out suitable POKE locations to modify to adjust by self.
Took a few months to do and hope you all get enjoyment ...
Andy
-
Not perfect but very playable - I hope you don't have too much screen flicker - mine setup is OK
Keys
Rotation : 4 - anticlockwise or 6 - Clockwise
Fire : a
Thrust. : s
Hyperspace : Tab
Rotation angle of the ship is in steps of 9 for faster rotation - finer movement is possible if you hold the shift key down when rotating the ship but the speed of rotation is slower.
One asteroid you need to hit dead centre for some reason, the others are easier to hit.
Thrust is relatively slow to start right now and could be sped up if needed.
I didn't port across high scores as not an arcade machine and the person playing knows.... haven't played it past 7000 points as doing testing more than game play.
-
Very nice Andy!
-
Thanks everyone... for your kind comments
i am glad this has worked out as was a risk..... battle zone for example has a second maths processor so the 6502 cannot handle it all.
I will post a version with faster asteroids from the start but it will be more difficult to play that's for sure 😃
-
After asteroids ... wonder what's next 🤓
-
After asteroids ... wonder what's next 🤓
DOOM.
Btw: Sound is not possible in asteroids, right?
-
I need to figure out how to add sound as it's possible but never done it
-
I blanked out the sound routines in the assembler code as major focus was getting a working version graphically. I guess the first thing is to define the sounds for the bullets and explosions .. not something done before but neither was low level programming of HSG board
-
Thanks everyone... for your kind comments
i am glad this has worked out as was a risk..... battle zone for example has a second maths processor so the 6502 cannot handle it all.
I will post a version with faster asteroids from the start but it will be more difficult to play that's for sure 😃
Very cool that it has worked out!
So, the game does not use the overlay of the PET video but does all the text itself using the graphics chip?
I wonder if I have enough space left in my Micro-PET FPGA...
-
Yes everything is done via the HSG board including text
-
You all are so awesome, guys!
zitruskeks for all the new old graphic cards… AndyG for programming all the nice routines and programs… all the others, which are helping in so so many ways! THANK YOU! ♥️
-
I guess the first thing is to define the sounds for the bullets and explosions .. not something done before but neither was low level programming of HSG board
Eventually this could be a potential "usecase" for the actual userport project for the PET.
Since there are not too much sounds nedded (shoot, hit, move, superblast) these could be small samples. 64KByte (or less) per sample. Only a preselect of the address in an eprom (2 highest bits) is nedded and one 16bit counter that starts und runs only once. With such a setting the PET could send the 2 bits "preselect"/"sample"/"adressbank" and a start signal to start the counter. The 64kByte per sample are played directly to a little amplifier (headphone) - for better quality with a resistor ladder (8) where each of the resistors adds some more "power" (volts) to the signal, depending on the 8 output bits of the eprom.
-
Umm... I am not using interrupts and could create sound effects via that service. The code would not be too difficult to sort out ... just getting the sound right which needs research.
-
Attached is a more lively version of the game - with greater dynamic range for the asteroid speeds and the way they split up. It needs a video creating
Watch out as they can accelerate as they get closer to the ship. Hyperspace has been changed so the ship is funcitonal immediately after appearing and the ships thrust velocity has been increased.
Sound to follow when I can figure it out