Jump to content
IGNORED

Tutankham for the TI-99/4A


retroclouds

Recommended Posts

I like the second style better--it brings more of the game flair with it. . .

 

thankyou for answer... well, i agree too... the second version of the manual is more egyptian ;), just i ask myself if will be good create all pages with this style or just someone of them.

Link to comment
Share on other sites

  • 3 months later...

Here's the lates video of my Tutankham project.

 

I'm currently going in a new direction. The idea is that my version will be a "prequel" to the existing Tutankham game as seen on colecovison and on the TI-99/4A.

Hey you never know, perhaps someday the original ROMS are released to the public domain after all.

 

The idea is to raise the bar with this one. I'm planning on animating the title screen, adding some cut scenes and including more and difficult levels.

Also the graphics will be completely redone (the new background graphics are in for the first level). The sprite (our hero) is still to be redone.

 

This could be my last game for the TI-99/4A, as it just takes too much development time. But you never know.

When will it be finished? Dunno, perhaps sometime in 2012, but might be later.

 

Well anyway, here's the video ;-)

 

http://www.youtube.com/watch?v=B6pxNk30XSs

 

EDIT: Don't you just love the power of TMS9900 assembly language :grin:

Link to comment
Share on other sites

Here's the lates video of my Tutankham project.

 

I'm currently going in a new direction. The idea is that my version will be a "prequel" to the existing Tutankham game as seen on colecovison and on the TI-99/4A.

Hey you never know, perhaps someday the original ROMS are released to the public domain after all.

 

The idea is to raise the bar with this one. I'm planning on animating the title screen, adding some cut scenes and including more and difficult levels.

Also the graphics will be completely redone (the new background graphics are in for the first level). The sprite (our hero) is still to be redone.

 

This could be my last game for the TI-99/4A, as it just takes too much development time. But you never know.

When will it be finished? Dunno, perhaps sometime in 2012, but might be later.

 

I will certainly be obtaining a cartridge copy when it is ready. It looks less like a TI-99 game and more like a Commodore 64 game. (I dream of "Trolls and Tribulations.") It is too bad we did not have very many talented programmers around back then.

Link to comment
Share on other sites

Looking good. And I like the direction you're taking it. Am I right in assuming that it looks more like the arcade version now ?

 

It is too bad we did not have very many talented programmers around back then.

I think a lot of programmers moved to cheaper, easier and more accessible systems. Generally Basic had its speed limitations. As a TI programmer you would realize you could not release a machine code program on cassette without requiring the buyer to have at least Mini Memory (not common) or more (also not common).

Link to comment
Share on other sites

Looking good. And I like the direction you're taking it. Am I right in assuming that it looks more like the arcade version now ?
It is too bad we did not have very many talented programmers around back then.
I think a lot of programmers moved to cheaper, easier and more accessible systems. Generally Basic had its speed limitations. As a TI programmer you would realize you could not release a machine code program on cassette without requiring the buyer to have at least Mini Memory (not common) or more (also not common).

 

Yes, it will resemble the arcade version more than the colecovision version. Doing multicoloured sprites is kinda difficult without running into a flicker fest.

I'm considering setting up 1 colour as a background tile. That would allow 3 colours for the hero and 2 colours for the enemies (snakes, dragons, etc).

The flickering should then be as in the colecovision version (which has 2 colours for the hero and 1 colour for the enemies)

Implementing something like that will take a considerable amount of time and I have to be sure that I don't run in a dead end there.

 

I do think its doable without causing a high CPU load. In Time Pilot I had part of the rotating plane and the bullets implemented as soft sprites.

Link to comment
Share on other sites

This could be my last game for the TI-99/4A, as it just takes too much development time. But you never know.

When will it be finished? Dunno, perhaps sometime in 2012, but might be later.

 

it's the second worst news this month after Steve Job :(

I concur, although the sad reality is that most of us have day jobs and other interests that make the creation of new games, especially in assembly, quite laborious. My Ultimate Planet game is still dragging on, mostly because it is competing with my many other hobbies, so I have given up on a "delivery date" and will just work at it whenever I can. I'm sure many other TIers out there share the same dilemma...

Link to comment
Share on other sites

This could be my last game for the TI-99/4A, as it just takes too much development time. But you never know.

When will it be finished? Dunno, perhaps sometime in 2012, but might be later.

 

it's the second worst news this month after Steve Job :(

I concur, although the sad reality is that most of us have day jobs and other interests that make the creation of new games, especially in assembly, quite laborious. My Ultimate Planet game is still dragging on, mostly because it is competing with my many other hobbies, so I have given up on a "delivery date" and will just work at it whenever I can. I'm sure many other TIers out there share the same dilemma...

 

Though, in all honestly and not at all meant to start a flame war, I lament more the passing of Dennis Ritchie than that of Steve Jobs.

  • Like 1
Link to comment
Share on other sites

I just noticed on the manual pages the selection for having a speech synthesizer. I recall there is a location you can query which contains a value if the synthesizer is attached. From XB, -31905 or -39105 seem to ring a bell, though that may have been to enable/disable QUIT. Anyone know for certain?

Link to comment
Share on other sites

I just noticed on the manual pages the selection for having a speech synthesizer. I recall there is a location you can query which contains a value if the synthesizer is attached. From XB, -31905 or -39105 seem to ring a bell, though that may have been to enable/disable QUIT. Anyone know for certain?

 

Tutankham is using the spectra2 and the speech synth is automatically detected. The manual is not made by me.

A while ago I requested the creator to stop working on the manual. Most likely I'll be writing one myself, once the game is finished.

Edited by retroclouds
Link to comment
Share on other sites

Here's the lates video of my Tutankham project.

 

I'm currently going in a new direction. The idea is that my version will be a "prequel" to the existing Tutankham game as seen on colecovison and on the TI-99/4A.

Hey you never know, perhaps someday the original ROMS are released to the public domain after all.

 

The idea is to raise the bar with this one. I'm planning on animating the title screen, adding some cut scenes and including more and difficult levels.

Also the graphics will be completely redone (the new background graphics are in for the first level). The sprite (our hero) is still to be redone.

 

This could be my last game for the TI-99/4A, as it just takes too much development time. But you never know.

When will it be finished? Dunno, perhaps sometime in 2012, but might be later.

 

 

So much excellence . . . !

 

Sign me up for a cart and manual when this is released! As someone else pointed out in another thread, this really does feel like an age of "Golden Revival" for the TI-99!

 

-a2a

Link to comment
Share on other sites

I'm currently doing some changes to the VDP layout. Below is what I'm thinking of implementing.

 

Reason for the change in layout is to get more continious space, also for sound data. I'm going for the "ISR" style basic soundplayer.

So I'll need some space for the sound data (which I still not really have in this layout.)

 

The idea is to reduce the bankswitching to a minimum. If a tune needs to be played, I'll probably jump to another bank.

Copy the sound data into the VDP and return to the calling bank. Then the tune can be played from VDP memory.

You'll notice I have 2 PNT tables. I wanna have that for doing scrolling without frame-tearing.

I'll basically be copying data from VSCREEN to one of the 2 PNTS in an alternating fashion.

In other words, I'm showing the 1st PNT while copying to the 2nd PNT.

Once donce copying I switch VDP register 2 to the 2nd PNT, and so on.

 

Currently the game runs from bank2 and I don't wanna waste any space there with any kind of data, be it sound data or graphics data.

 

; VDP usage
; =========
;
;
; PNT (VDP register 2)
; ---------------------
; Register 2 tells the VDP where the starting address of the Name Table is located in VRAM. The
; range of its contents is from O-F. The contents of the register form the upper four bits of
; the 14-bit VDP address, therefore making the location of the Name Table in VRAM equal to
; (Register 2) * 400 (Hex)
;
;
; CT (VDP register 3)
; -------------------
; Register 3 tells the VDP where the starting address of the Color Table is located in VRAM. The
; range of its contents is from O-FF. The contents of the register form the upper eight bits of
; the 14-bit VDP address, therefore making the. location of the Color Table in VRAM equal to
; (Register 3) * 40 (Hex) <--- Applies to graphics mode 1 only
;
;
; PDT (VDP register 4)
; --------------------
; Register 4 tells the VDP where the starting address of the Pattern Table is located in VRAM.
; The range of its contents is from 0-7. The contents of the register form the upper three bits of
; the 14 bit VDP address, therefore making the location of the Pattern Table in VRAM equal to
; (Register 4) * 800 (Hex).
;
;
; SAT (VDP register 5)
; --------------------
; Register 5 tells the VDP where the starting address of the Sprite Attribute Table is located in
; VRAM. The range of its contents is from 0-7F. The contents of the register form the upper
; seven bits of the 14 bit VDP address, therefore making the location of the Sprite Attribute
; Table in VRAM equal to (Register 5) * 80 (Hex).
; 
; 
; SDT (VDP register 6)
; --------------------
; Register 6 tells the VDP where the starting address of the Sprite Pattern Table is located in
; VRAM. The range of its contents is from 0-7. The contents of the register form the upper
; three bits of the 14 bit VDP address, therefore making the location of the Sprite Pattern Table
; in VRAM equal to (Register 6) * 800 (Hex).
;
;
; VRAM usage in Tutankham
; =======================
; 
; Usage   Memory           Description                 Size          Remarks
; =====   ==============   ======================      ==========    ============================
; SDT     >0000 - >079F    Sprite Pattern Table        2048 bytes    -
; PNT     >0800 - >0AFF    1st screen PNT (32*24)       768 bytes    Active when FLAG2{WBIT3} = 0
; SAT     >0B00 - >0B7F    Sprite Attribute table       128 bytes    -
; FREE    >0B80 - >0BFF    ***RESERVED***               128 bytes    In case we need a second SAT
; PNT     >0C00 - >0EFF    2nd screen PNT (32*24)       768 bytes    Active when FLAG2{WBIT3} = 1
; CT      >0F00 - >0F19    Screen color table            32 bytes    -
; FREE    >0F20 - >0FFF    ***FREE***                   196 bytes    Free for future use
; PDT     >1000 - >27FF    Pattern descriptor table    6144 bytes    The screen pattern descriptor table
; FREE    >2800 - >29FF    ***RESERVED***               512 bytes    This is where our sound data will go
; VSCREEN >3000 - >3FFF    Magellan screen map         4096 bytes    The curent level as exported by Magellan

Link to comment
Share on other sites

  • 5 months later...

Retroclouds,

 

Do you develop on real hardware, or emulation?

 

I know what you mean about it taking up too much time. I've thought about quitting too, but, this is my hobby and I stubbornly refuse to quit, even when I catch flak from she-that-must-be-obeyed. My argument is that I don't drink, I don't smoke, and I don't go out whoring. She knows where I am. I'm on the sofa with the classic99 debugger open! Want me to quit? Fine. I like stock-car racing. I'll take that up as an (expensive) hobby, and combine it with the above three hobbies! :-)

  • Like 2
Link to comment
Share on other sites

I just noticed on the manual pages the selection for having a speech synthesizer. I recall there is a location you can query which contains a value if the synthesizer is attached. From XB, -31905 or -39105 seem to ring a bell, though that may have been to enable/disable QUIT. Anyone know for certain?

 

According to the Editor/Assembler manual, you can detect if the Speech Synthesizer is there by trying to read from its phrase ROM at address >0000. For part of the routine, you'll need the READIT routine for reading the speech synth's status byte running from 16-bit ROM. A variant of that code would read like this:

 

REF SPCHWT, SPCHRD

;equates

PHROM Data >0000
H10  Byte >10
HAA  Byte >AA
EVEN

	;readit routine

	; The following code segment gets copied into 16-bit RAM
	; because TI states that the 8-bit bus cannot be used
	; immediately after a read from the speech synth
	; so we have to copy the code that reads data and does
	; a delay afterwards into the 16-bit RAM, otherwise it
	; would be executed from the RAM expansion, using the
	; 8-bit bus!

readit  movb @>9000,@>8328 ; read byte from synth into CPU RAM
	src r4, 12		 ; 12 microseconds delay (according to Willsy)
       rt    ; now 8-bit bus is free, so return

CHECK

	;initialization for writing the readit routine to 16-bit RAM

	li r1, >8330	; address where to put reading code
	li r2, readit   ; address where to copy reading code from
	li r3, 10	   ; 10 bytes to copy

dr2	 mov *r2+,*r1+   ; copy a word of code into CPU RAM
	dect r3		 ; decrement r3 by two (?!)
	jh dr2		  ; copy more words if necessary

; here comes the actual checking code

	clr @PHROM
LOAD mov @PHROM, R0 ;Address to load
	li r2, 4 ;Four nybbles to load
LOADLP
	src R0, 4 ;Start with least significant nybble
	mov R0, R1
	src R1, 4
	andi R1, >0F00 ;get only particular nybble
	ori R1, >4000   ; Put in >4X00 format
	movb R1, @>9400 ;Write the nybble
	dec R2
	jne LOADLP
	li R1, >4000
	movb R1, @>9400 ;Write the fifth nybble

;Delay of 42 microseconds

   li R1, 10
DLY	dec R1
   jne DLY

   movb @H10, @>9400 ;Write command for reading

   src R1, 12 ;delay of 12 microseconds
   bl @>8330 ;read status byte
   cb @>8328,@HAA ;is it >AA?
   jeq SPEAK
   jne NOSPEECH

I hope this is clear enough.

Link to comment
Share on other sites

Retroclouds,

 

Do you develop on real hardware, or emulation?

 

I know what you mean about it taking up too much time. I've thought about quitting too, but, this is my hobby and I stubbornly refuse to quit, even when I catch flak from she-that-must-be-obeyed. My argument is that I don't drink, I don't smoke, and I don't go out whoring. She knows where I am. I'm on the sofa with the classic99 debugger open! Want me to quit? Fine. I like stock-car racing. I'll take that up as an (expensive) hobby, and combine it with the above three hobbies! :-)

 

I develop on emulation only. Unfortunately the project is stalled for now, but not given up. For the last 6 months I have been doing a lot of learning for a certification I need at work. I still have one more test to do and then I'm done,

So that should give me some more spare time. Also my father passed away 2 months ago after being ill for more than a year. (He's the one who got me into the TI-99/4A when I was about 8 years old).

So I had quite a tough time lately.

 

Anyway, I'm confident that 2012 will be a better year and I will be able to finish Tutankham. If not this year then in 2013 :)

Edited by retroclouds
  • Like 2
Link to comment
Share on other sites

  • 2 months later...

Today is the first time I took a look at Tutankham in a very long time. Nothing fancy, for now I just want to get a "feeling" for it again.

Kinda weird looking at my TMS9900 source after such a long time though. I'm very happy that I did a good job commenting my source code.

Guess this is more true for assembly language as for any other (high-level) language.

 

Also played with the sprite graphics today. Originally I started with the colecovision sprites. When you are moving right you have 2 frames with 2 (16x16) sprites each.

That'll change now. I now have graphics basically containing of 6 frames of 3 (16x16) sprites each. To avoid a flicker fest I'll be replacing

one sprite with background graphics, while still keeping 3 colors.

 

Here's how it'll look like:

 

post-16219-0-63559500-1338747728.gif

 

EDIT: I know, the image looks awfully small when you view it in a browser. Haven't figured out how I can make it look bigger. But it looks dammed crisp on the TI-99/4A :grin:

Edited by retroclouds
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...