Jump to content

Photo

Unfinished 3D Maze Demo / Template

3D Demo Template Maze

148 replies to this topic

#126 gambler172 OFFLINE  

gambler172

    River Patroller

  • 3,053 posts
  • none
  • Location:germany

Posted Sun Jul 9, 2017 12:21 PM

Hi Smitty

played around with it on my Concerto cart.A 2nd joystick
works well,but the keyboard....not.
I tried the original keyboard,the Star Raiders touchpad
and the Kid controller.None of these works....
but the game is great.
greetings Walter

#127 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Sun Jul 9, 2017 12:38 PM

Hi Smitty

played around with it on my Concerto cart.A 2nd joystick
works well,but the keyboard....not.
I tried the original keyboard,the Star Raiders touchpad
and the Kid controller.None of these works....
but the game is great.
greetings Walter


Glad the game itself works nicely on hardware but I guess I'll have to go back to the drawing board with keypad support. Maybe I've just missed something small or maybe it just won't work at all but I'll give it another go.

#128 gambler172 OFFLINE  

gambler172

    River Patroller

  • 3,053 posts
  • none
  • Location:germany

Posted Mon Jul 10, 2017 12:30 PM

Hi Smitty

if i had a demo level....testing would be easier.
Btw. what should the MAP sign do????

greetings Walter

#129 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Mon Jul 10, 2017 1:08 PM

The inescapable room directly in front of the start was going to be a level for testing objects and enemies but I haven't really added anything to it yet.

 

The map doesn't do anything yet and I'm not sure exactly how I'm going to implement it. It will show a very basic layout of the current room but I'm not sure if I'll show the entire room or x many tiles around the player. I don't want to give the player an easy way to spot secrets or see how some of the impossible geometry like 720 degree loops and moving rooms will be done. If I have enough memory left then a simple auto-map might work but it would have to be reset when leaving a room.

There are a lot of things where if I can, I will.

 

I think I've also fixed the keypad as it looks like I forgot to implement the debouncing timers that I use for different buttons so it was never enabled.

 

I've been doing some work on getting my pause routine working again. It seems to jump into the pause routine and then jump out again if you haven't let go of the button quickly enough. It used to work but I don't know when it broke.

 

I'll get to adding more of the objects, even if they're incomplete, just for people to have a look at and play around with.



#130 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Tue Jul 11, 2017 3:41 PM

Current version.

 

I've fixed the pausing. It turns out the issue was that I wasn't flipping the screen buffer during the pause routine so it would just speed through the timer and jump out of the loop before I could let go of the key.

I think the keypad should be working now, and I've put some more static objects in the room directly ahead of the start including the running boots item which adds to your inventory when you move into the same tile.

 

At the moment a lot of the new objects don't have scaling of any kind and the boots pickup doesn't disappear yet but it's a proof of concept for how items will work.

Attached Thumbnails

  • Tetrach.png

Attached Files



#131 gambler172 OFFLINE  

gambler172

    River Patroller

  • 3,053 posts
  • none
  • Location:germany

Posted Sat Jul 15, 2017 1:28 PM

Hi Smitty

new version looks great..but the keyboard does not work
However,if i press SELECT,i can change the Weapons.
Hope this helps...

greetings Walter

#132 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Sat Jul 15, 2017 2:37 PM

Curse this keyboard issue, back to the drawing board. I might try copying what I have into a 2600 program (if I can remember how to compile it) to make sure I'm not making some stupid mistake with the assembly.

I've rejiggered the way maps are loaded so I don't have to manually specify the data for each object, now I can include objects as part of the map data and preprocess it when the map loads to populate the object lists. I'll still have to specify extra info like which map to load for doors but it will make mapping much smoother.

#133 RevEng ONLINE  

RevEng

    River Patroller

  • 4,638 posts
  • Bitnik
  • Location:Canada

Posted Sat Jul 15, 2017 9:18 PM

Hey SmittyB, try disabling 2-button mode on the port you're trying to read the keypad through. At the very least, 7800 2-button mode is going to interfere with INPT4/5. Also be sure you wait 400us after setting the row, before you read the columns.
 
rem disable 2-button mode on 1st joy port... 
SWCHB=$ff:CTLSWB=$10:SWCHB=$00
rem disable 2-button mode on 2nd joy port...
 SWCHB=$ff:CTLSWB=$04:SWCHB=$00


#134 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Mon Aug 7, 2017 4:57 AM

Thanks to the new a7800 branch of MAME I have keypad support working, kinda, sorta. It's now possible to pause the game with a keypad plugged into the second controller port but the pause loop doesn't check the keypad at the moment so you still have to get up and walk over to the console to unpause it. I'm still troubleshooting why the other keys aren't working as I'd expect. Even if it's very partial support at the moment would this be the first 7800 game to support keypads and / or the first to use something other than the standard joystick?

 

Also I've been able to massively improve the way maps are loaded so level design is a lot quicker. The only time consuming bit is that I still have to hardcode which map and location doors go to but that's not too bad.



#135 Trebor OFFLINE  

Trebor

    River Patroller

  • 4,162 posts

Posted Mon Aug 7, 2017 5:34 AM

Even if it's very partial support at the moment would this be the first 7800 game to support keypads and / or the first to use something other than the standard joystick?

 

First 7800 game to support keypads, yes.  First to use something other than the standard joysticks, no.  Super Circus Atari Age allows joystick, paddles, or driving controllers to be utilized.  Crazy Brix can utilize paddles or joystick controls.  ;)

 

Of course, there are the original line of games supporting the light gun; however, presumption is those were excluded from the support pool being discussed.  :)



#136 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Mon Aug 7, 2017 8:23 AM

I forgot about the light gun games even though I own them and the XE gun.
I'm glad that I got there first on keypads, I'll try and set the bar high for the improved experience of using one.

#137 Jinks OFFLINE  

Jinks

    River Patroller

  • 3,681 posts
  • Location:Canada

Posted Mon Aug 7, 2017 9:32 AM

I forgot about the light gun games even though I own them and the XE gun.
I'm glad that I got there first on keypads, I'll try and set the bar high for the improved experience of using one.

I think it is excellent your using the keypad. I have several of them and they are very common as came with star raiders.
There has not been any use for them as of late and would be a great option. Heck I feel every one player game should use it for pausing the game, selecting maps/inventory etc..

#138 Mitch OFFLINE  

Mitch

    Quadrunner

  • 6,459 posts
  • 7800 Guy
  • Location:Southern California, USA

Posted Mon Aug 7, 2017 6:28 PM

There is the 7800 monitor cart that uses the keypad controllers.

Mitch

#139 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Tue Aug 8, 2017 8:20 AM

I've got the right hand column working perfectly by reading INPT5 but when I try reading INPT3 or INPT2 it acts as if the keys on the other columns are stuck on.

Digging through the info I can find my guess is that it's something to do with INPT5 being a latched input and INPT3 and INPT2 being dumped inputs but I don't know how to properly read their values.



#140 RevEng ONLINE  

RevEng

    River Patroller

  • 4,638 posts
  • Bitnik
  • Location:Canada

Posted Tue Aug 8, 2017 4:35 PM

INPT4/5 is inverted, with respect to INPT0+1/2+3. In my proto-7800basic driver, I use xor (eor) to invert the state bits that come from those 2 lines.



#141 AlyoshaTAS OFFLINE  

AlyoshaTAS

    Space Invader

  • 22 posts

Posted Sat Aug 12, 2017 7:50 AM

Very impressive game. I downloaded it to give it a try, but I think there is a small glitch in the HUD.

 

game.png

 

The bottom line of the HUD border is half cut off (I tested both NTSC and PAL just to be sure and got the same result.) BizHawk (the emulator used to capture this image) allows midscanline register changes in MARIA, so you can see effects like this that don't show up in MAME. I'm pretty sure BizHawk is correct here as it also correctly displays the midscanline tests in RevEng's test ROM.

 

Of course maybe the emulator is wrong, but it would be nice to know for sure if someone can confirm on hardware.


Edited by AlyoshaTAS, Sat Aug 12, 2017 7:50 AM.


#142 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Sat Aug 12, 2017 7:58 AM

If it is cut off on real hardware then I can easily fix it. I did have a fix in place on a previous build but I must have taken it out.

#143 gambler172 OFFLINE  

gambler172

    River Patroller

  • 3,053 posts
  • none
  • Location:germany

Posted Sat Aug 12, 2017 11:43 AM

Hi Smitty..

to check it out...i Need an actual Version....all Versions....i got here work fine for me on real Hardware.

greetings Walter



#144 AlyoshaTAS OFFLINE  

AlyoshaTAS

    Space Invader

  • 22 posts

Posted Sat Aug 12, 2017 1:10 PM

Hi Smitty..

to check it out...i Need an actual Version....all Versions....i got here work fine for me on real Hardware.

greetings Walter

I tested with the version attached to post  # 130. So if that one displays correctly on hardware then i guess we've got an answer.

 

I don't see how it could though, the game is pretty clearly changing background color midscanline:

5542:  85  STA $24         A:60 X:01 Y:00 P:25 SP:F5 Cy:11143343 nvTbdIzC
5544:  A2  LDX #$01        A:60 X:01 Y:00 P:25 SP:F5 Cy:11143358 nvTbdIzC
5546:  A0  LDY #$38        A:60 X:01 Y:00 P:25 SP:F5 Cy:11143360 nvTbdIzC
5548:  AD  LDA $22B0       A:60 X:01 Y:38 P:25 SP:F5 Cy:11143362 nvTbdIzC
554B:  85  STA $20         A:92 X:01 Y:38 P:A5 SP:F5 Cy:11143433 NvTbdIzC
554D:  85  STA $24         A:92 X:01 Y:38 P:A5 SP:F5 Cy:11143436 NvTbdIzC
554F:  88  DEY             A:92 X:01 Y:38 P:A5 SP:F5 Cy:11143471 NvTbdIzC

Swapping the order of STA $20 and STA $24 would prevent this from happening.... but if it's already not happening on hardware then I'm stumped.

 

EDIT: are the .bin and .a78 different versions? They appear slightly different in hex editor


Edited by AlyoshaTAS, Sat Aug 12, 2017 1:25 PM.


#145 SmittyB OFFLINE  

SmittyB

    Chopper Commander

  • Topic Starter
  • 112 posts

Posted Sat Aug 12, 2017 6:23 PM

So everyone is on the same page here is my current build. I've taken out the old maps in favour of the new map format. What's playable at the moment is a hub area leading to 2 rooms that demonstrate different functions and in each of the 2 test areas is an item to collect.

 

The partial keypad functionality is enabled so items can be selected with the 3 and 6 keys. It is possible to pause with the # key but you still have to unpause with the pause switch.

 

I don't think the issue you're seeing is with the background colour as the black is the background and the white is the foreground for reasons that I don't remember and are probably not relevant anymore.

 

What should be happening is that the background is set to black and the 320A mode is set, then after 64 lines the 160A mode is set (possibly with colour turned off if the game is paused), then the character set is changed, then the background is set for the main screen and so on.

 

So what you're seeing would either have to be a palette change which I'm not doing, or the change in character set but that would mean it's triggering a line and a half early.

 

Below is the relevant bit of code, maybe I'm doing something completely wrong that I'm not seeing. I can always move the change in modes / tiles / colours further down the screen slightly by masking it all with a blackened palette if needed.

topscreenroutine
	BACKGRND=$00
	
	characterset text

	asm
	lda #%11001011
    sta CTRL
    sta sCTRL
	
	LDY #64
loopBackgroundGradientHUD
	STA WSYNC
	DEY
	BNE loopBackgroundGradientHUD
	
	lda paused
	beq backgroundNotPaused
	lda #%11011000 ;Paused
	jmp skipBackgroundNotPaused
backgroundNotPaused
	lda #%01011000 ;Not Paused
skipBackgroundNotPaused
    sta CTRL
    sta sCTRL
end

	characterset StoneTiles
	
	asm
	STA WSYNC
	LDX #1
	LDY #56
	LDA backgroundColour
	STA BACKGRND
	
loopBackgroundGradientUpper
	STA WSYNC
	DEY
	BNE loopBackgroundGradientUpper

Attached Files



#146 Jinks OFFLINE  

Jinks

    River Patroller

  • 3,681 posts
  • Location:Canada

Posted Sat Aug 12, 2017 6:33 PM

This is amazing!! Keep up the great work!!!

#147 RevEng ONLINE  

RevEng

    River Patroller

  • 4,638 posts
  • Bitnik
  • Location:Canada

Posted Sat Aug 12, 2017 7:13 PM

Agreed! :thumbsup:
 

So what you're seeing would either have to be a palette change which I'm not doing, or the change in character set but that would mean it's triggering a line and a half early.


Not that you have anything to do here (unless this shows on real hardware, which it sounds like it doesn't) but just wanted to highlight that the assembly that AlyoshaTAS was referencing is this bit...
 
	asm
	STA WSYNC ; $24
	LDX #1
	LDY #56 ; #$38
	LDA backgroundColour
	STA BACKGRND ; $20
	
loopBackgroundGradientUpper
	STA WSYNC
	DEY
	BNE loopBackgroundGradientUpper


#148 AlyoshaTAS OFFLINE  

AlyoshaTAS

    Space Invader

  • 22 posts

Posted Sat Aug 12, 2017 8:17 PM

Ok I took another look. I was wrong, what I'm seeing is the midscanline change in read mode when writing to the CTRL register:

552F:  A9  LDA #$58        A:CB X:00 Y:00 P:27 SP:F5 Cy:25054346 nvTbdIZC
5531:  85  STA $3C         A:58 X:00 Y:00 P:25 SP:F5 Cy:25054348 nvTbdIzC

So, if this doesn't show up on hardware, then I guess read mode is latched at the time the first pixel is rendered and kept for the entire scanline (unlike background color which is known to be able to change at any time.)

 

Good to know! (and sorry for the confusion)

 

Also cool game! :)


Edited by AlyoshaTAS, Sat Aug 12, 2017 8:18 PM.


#149 gambler172 OFFLINE  

gambler172

    River Patroller

  • 3,053 posts
  • none
  • Location:germany

Posted Sun Aug 13, 2017 3:05 AM

Hi Smitty
looksreally gteat...but the keypad
But when finding the sword i can select the weapon
with the SELECT key on my 7800 system.
I also can pause the game with PAUSE key on the system.
The keypad does not work.
greetings Walter





Also tagged with one or more of these keywords: 3D, Demo, Template, Maze

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users