Jump to content

Photo

Never ending discussion about F18A (was Formula 18A/9918A development)


91 replies to this topic

#26 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Mon Jul 18, 2016 12:50 PM

 

?

 

 

Unfortunately for this project I have left my full time job as TI-99 games developer for a job in the TI-99 demo industry.  ;)



#27 --- Ω --- OFFLINE  

--- Ω ---

    Hexacorerunner

  • 13,799 posts

Posted Tue Jul 19, 2016 9:11 AM

 

Unfortunately for this project I have left my full time job as TI-99 games developer for a job in the TI-99 demo industry.  ;)

 

big-smiley-crying.gif



#28 ti99iuc ONLINE  

ti99iuc

    Stargunner

  • 1,637 posts
  • Location:Italy

Posted Tue Jul 19, 2016 9:28 AM

Do not be Sad Omega, we will see something never seen before on a TI-99/4A with the new Demo :D

will be incredible to think that all will play on a TI-99/4A :D

 

anyway i hope that after this Demo project, Rasmus will back at all his no nice game projects :P too ;)

 

always Thank you Rasmus !!


Edited by ti99iuc, Tue Jul 19, 2016 9:28 AM.


#29 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Sat Aug 20, 2016 3:51 PM

I'm thinking about whether it would be possible to make a decent racing game without using the F18A. Is Pole Position the only game of its kind for the TI?



#30 Retrospect OFFLINE  

Retrospect

    Stargunner

  • 1,139 posts
  • Location:Wakefield, England

Posted Sat Aug 20, 2016 5:05 PM

I'm thinking about whether it would be possible to make a decent racing game without using the F18A. Is Pole Position the only game of its kind for the TI?

Pole Position is as far as I know, the only game of its kind on the TI.  All the other racing games had it viewed from above and the car always looked like a bone.  With asterisks for the background.



#31 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,212 posts

Posted Sat Aug 20, 2016 10:30 PM

Pole Position was about the best of the lot for the TI.

 

The nearest road racing competitor would have been Driving Demon, and Road Hunter took that style of "view from above" games and went way above and beyond it. Car Wars and Munch Mobile were just something completely different that happened to use cars.



#32 Willsy OFFLINE  

Willsy

    River Patroller

  • 3,100 posts
  • Location:Uzbekistan (no, really!)

Posted Sun Aug 21, 2016 5:38 AM

I'm thinking about whether it would be possible to make a decent racing game without using the F18A. Is Pole Position the only game of its kind for the TI?


It's a very overlooked genre on the 4A, sadly.

#33 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Sat Aug 27, 2016 2:32 PM

I have been working on a 9918A racing demo for the last week. Here's the result so far:

 

 

The bottom of the screen and the car are ripped from the ZX Spectrum games Hard Drivin' and Continental Circus.

 

To update the road, 2K of pattern data and 2K of color data have to be transferred to the VDP. In order to achieve a tolerable frame rate this has to be done in the fastest possible way by an unrolled loop in scratch pad ram. This is the loop that transfers 8 pixel rows or 1 character row from CPU RAM to VDP RAM. The Registers R1-R8 each point to a line of the image to transfer:

CPYLP1 LI   R0,VDPWD
       LI   R9,32
CPYLP3 MOVB *R1+,*R0
       MOVB *R2+,*R0
       MOVB *R3+,*R0
       MOVB *R4+,*R0
       MOVB *R5+,*R0
       MOVB *R6+,*R0
       MOVB *R7+,*R0
       MOVB *R8+,*R0
       DEC  R9
       JNE  CPYLP3
       B    *R11

This way the road can be updated in approximately 15 frames per second.

 

Apart from not being able to rely on hardware scrolling, this demo is using the exact same techniques as the F18A demo.



#34 Willsy OFFLINE  

Willsy

    River Patroller

  • 3,100 posts
  • Location:Uzbekistan (no, really!)

Posted Sat Aug 27, 2016 3:07 PM

Wow it looks fantastic! How much of a difference in speed is observed if you don't use an unrolled loop? Just out of interest...?

#35 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,026 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Aug 27, 2016 4:12 PM

Test Drive for the TI, baby!  Or Outrun:)  (I have already been working on sounds for the former :))



#36 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,561 posts
  • Location:Germany

Posted Sat Aug 27, 2016 4:33 PM

Or Outrun:) 

 

Outrun is something that stayed in my memory with my holidays in 1988, at Salou, Costa Daurada, Spain (Catalonia). Down towards the beach, halfway, there was a touristic center with some small shops, and an arcade cabinet with Outrun, with a seat, a force-feedback steering wheel, gas, brake. In those times the best you could get was an Amiga at home, which had some extremely good games, but Outrun was a particular fun, with its smooth graphics, fast response, and, of course, the force feedback. I remembered well the details, like the flying blonde hair of the girl next to the driver on the screen. We spent nearly every evening down there, trying to get farther along the paths you could choose.

 

Later, that is, more than 20 years, I found Outrun in MAME, got a ROM somewhere, and started it. It was, yes, a meeting with the past, and still impressive, but I first thought I misconfigured something: The graphics were much worse than I remembered, especially with a disappointing low resolution.

 

The more I played the emulation, the more was I convinced that everything was right: Memories often deceive you. The graphics were not better in 1988, but better than most of the stuff you were used to. And today I'm watching HDTV in a window while writing this text at the same time and running MESS in the background. Just crazy.



#37 Tursi ONLINE  

Tursi

    Quadrunner

  • 5,572 posts
  • HarmlessLion
  • Location:BUR

Posted Sat Aug 27, 2016 4:42 PM

Asmusr, on 27 Aug 2016 - 1:32 PM, said:

I have been working on a 9918A racing demo for the last week. Here's the result so far:

 

 

The bottom of the screen and the car are ripped from the ZX Spectrum games Hard Drivin' and Continental Circus.

 

To update the road, 2K of pattern data and 2K of color data have to be transferred to the VDP. In order to achieve a tolerable frame rate this has to be done in the fastest possible way by an unrolled loop in scratch pad ram. This is the loop that transfers 8 pixel rows or 1 character row from CPU RAM to VDP RAM. The Registers R1-R8 each point to a line of the image to transfer:

This way the road can be updated in approximately 15 frames per second.

 

Apart from not being able to rely on hardware scrolling, this demo is using the exact same techniques as the F18A demo.

 

Fantastic! That looks terrific. :) This is something I've always wanted to see -- again! So cool to see it running.

 

Though, why do you need 8 registers in the loop? It's all going to consecutive VDP addresses, and they are each incrementing anyway, you should get the same performance from one source register unless I missed something?



#38 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Sun Aug 28, 2016 5:29 AM

 

Fantastic! That looks terrific. :) This is something I've always wanted to see -- again! So cool to see it running.

 

Though, why do you need 8 registers in the loop? It's all going to consecutive VDP addresses, and they are each incrementing anyway, you should get the same performance from one source register unless I missed something?

 

The image is built from scrolling 64 pixel lines individually. The pixel lines are stored in RAM, and I'm actually storing 8 versions of each line scrolled between 0 and 7 pixels. If each line was to be transferred to the VDP individually I would have to set up the write address after each byte, which would slow things down by a factor 4 or so, so I'm transferring 8 lines at a time. The registers R1-R8 are each initialized to point to the right scrolled version of a scanline (depending on the pixel offset) and the right byte offset, then the above loop is executed.

 

That's for the patterns, for the colors the image is designed so the colors only have to be scrolled in byte offsets, which is fortunate because otherwise I would run out of RAM. There are two color images that I'm changing between to generate the stripes. Some optimization might be possible with the colors because parts of the color image don't change between frames.



#39 Opry99er OFFLINE  

Opry99er

    Quadrunner

  • 10,679 posts
  • Location:Hustisford, WI

Posted Sun Aug 28, 2016 10:21 AM

Holy cow...

#40 Tursi ONLINE  

Tursi

    Quadrunner

  • 5,572 posts
  • HarmlessLion
  • Location:BUR

Posted Sun Aug 28, 2016 7:59 PM

 

The image is built from scrolling 64 pixel lines individually. The pixel lines are stored in RAM, and I'm actually storing 8 versions of each line scrolled between 0 and 7 pixels. If each line was to be transferred to the VDP individually I would have to set up the write address after each byte, which would slow things down by a factor 4 or so, so I'm transferring 8 lines at a time. The registers R1-R8 are each initialized to point to the right scrolled version of a scanline (depending on the pixel offset) and the right byte offset, then the above loop is executed.

 

oh, oh! that's brilliant! I like that a lot. :)



#41 am1933 OFFLINE  

am1933

    Stargunner

  • 1,039 posts
  • Location:U.K

Posted Mon Aug 29, 2016 2:29 AM

It's already looking better than the "jerky" nightmare-Pole Position. Just wondered how the addition of other cars and possibly road side objects (such as signs) would affect the frame rate?



#42 artrag OFFLINE  

artrag

    Stargunner

  • 1,254 posts

Posted Mon Aug 29, 2016 11:47 AM

Just a proposal to rise the framerate using 2x2 pixels.
A line would have only 4 possible states (4 positions for the transition, 3 if you flip colors).
All possible values of a tile would be 4*4*4*4 = 256
The game could choose 2 bits from 4 precomputed lines and pick up a tile from the tileset.

Edited by artrag, Mon Aug 29, 2016 11:48 AM.


#43 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Mon Aug 29, 2016 12:29 PM

Just a proposal to rise the framerate using 2x2 pixels.
A line would have only 4 possible states (4 positions for the transition, 3 if you flip colors).
All possible values of a tile would be 4*4*4*4 = 256
The game could choose 2 bits from 4 precomputed lines and pick up a tile from the tileset.

 

I think understand how you could create a monochrome tileset based on 2x2 pixels, but I don't understand how you would provide the color?



#44 artrag OFFLINE  

artrag

    Stargunner

  • 1,254 posts

Posted Mon Aug 29, 2016 2:04 PM

Colors have to be filled.
Anyway color sequence is fixed, green/red, red/gray, gray/white, white/gray, gray/green, etc.
You could out green/red on a line until the value is 00b pick the next color at the first transition.
It is tricky but it could work, I cannot say if it will be fast.

#45 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Mon Aug 29, 2016 5:59 PM

Colors have to be filled.
Anyway color sequence is fixed, green/red, red/gray, gray/white, white/gray, gray/green, etc.
You could out green/red on a line until the value is 00b pick the next color at the first transition.
It is tricky but it could work, I cannot say if it will be fast.

 

But I thought your idea was to be able to update the screen using name table manipulation only? If you change the colors of the tiles on the fly then you won't be able to reuse them.



#46 artrag OFFLINE  

artrag

    Stargunner

  • 1,254 posts

Posted Mon Aug 29, 2016 10:15 PM

I was clutching at straws, I do not see a good solution...
I would say that the same curved tile occurs with low probability twice on the screen with different colors but I have no elements to prove it.

Edited by artrag, Tue Aug 30, 2016 3:33 AM.


#47 Imperious OFFLINE  

Imperious

    Chopper Commander

  • 172 posts
  • Location:Brisbane, Australia

Posted Tue Aug 30, 2016 4:42 AM

This Looks great. I especially like the parallax scrolling in the background when turning corners.

 

I realise it's been ripped from a spectrum game, but the car is a bit unsightly, being shades of grey only, although it would be improved a bit without that shadow underneath it. 

 

This demo has got me wondering about something though, that's actually become a bit more common nowdays on other systems, which is

to improve some of the original games. On the c64 this has been done with Scramble and Commando to name just a couple.

I do wonder whether games like Jungle Hunt and Pole Position could have the jerky scrolling improved if someone with the skills

had a go at them. It's Just a thought anyway, and I don't have any programming skills, so what do I know?



#48 Asmusr ONLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 3,093 posts
  • Location:Denmark

Posted Tue Aug 30, 2016 11:11 AM

This demo has got me wondering about something though, that's actually become a bit more common nowdays on other systems, which is

to improve some of the original games. On the c64 this has been done with Scramble and Commando to name just a couple.

I do wonder whether games like Jungle Hunt and Pole Position could have the jerky scrolling improved if someone with the skills

had a go at them. It's Just a thought anyway, and I don't have any programming skills, so what do I know?

 

This is more or less what I'm trying to do here. But there are so many games that were never ported to the TI, and it's usually more awarding to try to bring in a new game than redoing what has already been done reasonably well. There seems to be a shortage of driving games on the TI, however. Even the ZX Spectrum had a version of Outrun.



#49 artrag OFFLINE  

artrag

    Stargunner

  • 1,254 posts

Posted Sun Sep 11, 2016 3:00 PM

 

Impressive! I'd like to port the source to z80....


Edited by artrag, Sun Sep 11, 2016 3:01 PM.


#50 LASooner OFFLINE  

LASooner

    Moonsweeper

  • 389 posts

Posted Sun Sep 11, 2016 5:54 PM

Are the turns random or do you have an actual track path? How hard would it be to have multiple track layouts? Pole Position actually used all the turns at Fuji speedway, without the elevation changes.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users