Jump to content
IGNORED

Maids + Elevators = 2600 Homebrew


vdub_bobby

Recommended Posts

Update: ElevatorsAmiss20070416.bin

 

Big change: Background colors change between levels! In order:

post-6060-1176821923_thumb.pngpost-6060-1176821930_thumb.pngpost-6060-1176821935_thumb.pngpost-6060-1176821939_thumb.png

post-6060-1176821943_thumb.pngpost-6060-1176821948_thumb.pngpost-6060-1176821953_thumb.pngpost-6060-1176821957_thumb.pngpost-6060-1176821961_thumb.pngpost-6060-1176821968_thumb.png

 

All opinions on the colors are welcome! Any of those color schemes look too hideous? :D

 

The cost of this is a slight sprite color glitch when the fair maid is climbing the stairs on the right. What are your thoughts on this? It seems acceptable to me, as the cost of changing the level colors. What do you all think?

 

Also a few other minor changes. I can't remember if I mentioned this yesterday, but I changed the CHILD and NOVICE settings a bunch. CHILD now starts with only two elevators and the maid does not stop moving. NOVICE sticks with four elevators to start but now the maid can stop moving.

 

I'll attach the source, also - I'm rapidly running out of ROM (and I'm now out of RAM) and any help in reclaiming some would be nice! :) And if anyone can figure out a way to eliminate the COLUP1 glitch I would be very grateful. :) (Search for "way too early" to find it)

 

ElevatorsAmissSource20070416.zip

Edited by vdub_bobby
Link to comment
Share on other sites

Grrr! What are your tabstop settings?

 

Anyway, here is my solution:

	...
  ;--waste time efficiently
jsr Return
nop						;14		 @35

SLEEP 6					; 6

lda StairCaseTable,Y	   ; 4
sta HMBL				   ; 3 = 13	@48
							
lda #MAID_HEIGHT		   ; 2
cpy HeroTop0			   ; 3
bpl SwitchDraw1SC1		 ; 2³
dcp MaidLineCounter2	   ; 5			in SwitchDraw1SC1 too!
lda (HeroGfx0Ptra),Y	   ; 5
sta GRP1				   ; 3			 VDELed
lda (HeroColorPtra),Y	  ; 5 = 25	@73
BackFromSwitchDraw1SC1
sta HMOVE				  ; 3		 @76
sta.w COLUP1			   ; 4 =  3	@04

lda BackgroundColorTable-1,Y;4
eor GameFlags3			 ; 3
sta COLUBK				 ; 3 = 10	@14

bcs DoDraw1SC1			 ; 2³		   carry still valid!
...

Link to comment
Share on other sites

Grrr! What are your tabstop settings?

 

Anyway, here is my solution:

Sorry, I'm using the Crimson Editor and the tab settings seem weird when I use other editors.

 

And thanks! That works perfectly. ;)

 

About the colors, yeah, probably can do better. I don't want to do a gradient, though, and figuring out what initial values combined with what EOR values is almost too complicated. I'll keep playing with it, though. Themes shouldn't be too hard, I suppose.

Link to comment
Share on other sites

Sorry, I'm using the Crimson Editor and the tab settings seem weird when I use other editors.

Probably you can convert the tabs into spaces before posting.

 

And thanks! That works perfectly. ;)

Good. And if you run out of space, there are some optimizations possible.

 

About the colors, yeah, probably can do better. I don't want to do a gradient, though, and figuring out what initial values combined with what EOR values is almost too complicated. I'll keep playing with it, though. Themes shouldn't be too hard, I suppose.

Maybe by simply alternating one of the higher bits in BackgroundColorTable, so you would get two different colors/level but with different brightnesses.

 

And maybe you could give the floors some simple 3d look by making the carpet wider and putting the maids feet into the middle of it? Then you could give the carpets different colors (matching the walls) too.

 

BTW: Why don't you like gradients? Too simple?

Edited by Thomas Jentzsch
Link to comment
Share on other sites

Update! ElevatorsAmiss20070419.bin

 

Changes: With Thomas' help, fixed the graphics glitch. :) Also, at his suggestion, made the floors taller/thicker/wider to give it a hint of a 3D look.

 

But the main change is all new colors - please let me know what you think; here they are in order:

post-6060-1177016684_thumb.pngpost-6060-1177016693_thumb.pngpost-6060-1177016700_thumb.pngpost-6060-1177016704_thumb.png

post-6060-1177016709_thumb.pngpost-6060-1177016714_thumb.pngpost-6060-1177016719_thumb.pngpost-6060-1177016723_thumb.png

post-6060-1177016897_thumb.pngpost-6060-1177016733_thumb.png

 

I tried to go more for a "theme" for each level.

Edited by vdub_bobby
Link to comment
Share on other sites

Lookin' good! Although it doesn't look like the elevators "disappear" on any of the levels now.

 

Question... could the elevators be behind the floors? So they'd appear to be against the far wall?

 

post-2641-1177062162_thumb.jpg

 

Incidentally, DaveD is really good with color. You might ask him to look these color schemes over.

Edited by Nathan Strum
Link to comment
Share on other sites

Lookin' good! Although it doesn't look like the elevators "disappear" on any of the levels now.

Disappear? Do you mean some extra nasty higher levels where the elevator have the color of some of the walls?

Edited by Thomas Jentzsch
Link to comment
Share on other sites

Lookin' good! Although it doesn't look like the elevators "disappear" on any of the levels now.

Disappear? Do you mean some extra nasty higher levels where the elevator have the color of some of the walls?

:evil:

 

In earlier binaries (see screenshots I posted) there were several levels where elevators were the same color as the walls. I go back and forth with that idea.

 

Question... could the elevators be behind the floors? So they'd appear to be against the far wall?

I wish I'd thought of that earlier. I've spent the last couple days wishing that the maid could, similarly, go through the floors (like Pitfall!). But that would definitely require a kernel rewrite. I think.

Link to comment
Share on other sites

I wish I'd thought of that earlier. I've spent the last couple days wishing that the maid could, similarly, go through the floors (like Pitfall!). But that would definitely require a kernel rewrite. I think.

Couldn't you just swap PF and BK and switch PF priority during the floors?

Link to comment
Share on other sites

I wish I'd thought of that earlier. I've spent the last couple days wishing that the maid could, similarly, go through the floors (like Pitfall!). But that would definitely require a kernel rewrite. I think.

Couldn't you just swap PF and BK and switch PF priority during the floors?

Even easier, I think, would be to just not draw the maid/elevators on certain lines. The problems are there are no free cycles to check for when the floors are and not a lot of ROM to add another kernel loop.

 

EDIT: Even though...hm. I can probably find the ROM. The tricky part is checking for when the floors are and then branching to another kernel loop that only draws the ball and the background and updates the various line counters. Probably not necessary to draw the background, actually. I could store the info for where the floors are in the HMBL table (since the lower four bits are unused), would require an extra 4 cycles though:

   lda StairCaseTable,Y
  sta HMBL
;--new code:
  lsr
  bcs SkipMaidElevDrawKernel

 

EDIT II: I'll attach the source. ElevatorsAmiss20070419Source.zip

 

EDIT III: Actually, it might work to do this:

   lda StairCaseTable,Y
  sta HMBL
  beq SkipMaidElevDrawKernel

Would only require 2 more cycles in the kernel. Too bad I've only got 1...:ponder:

 

EDIT IV: On further checking, that won't work. Still need 4 cycles.

Edited by vdub_bobby
Link to comment
Share on other sites

Would only require 2 more cycles in the kernel. Too bad I've only got 1...:ponder:

Which kernel are we talking about? It seems that there are some cycles left (SLEEP etc.) or can be optimized (e.g. DoDraw wastes 1 cycle by branching when drawing).

 

BTW: Tabs are weird again. Maybe you can repost the source with tabs replaced.

Link to comment
Share on other sites

Would only require 2 more cycles in the kernel. Too bad I've only got 1...:ponder:

Which kernel are we talking about? It seems that there are some cycles left (SLEEP etc.) or can be optimized (e.g. DoDraw wastes 1 cycle by branching when drawing).

 

BTW: Tabs are weird again. Maybe you can repost the source with tabs replaced.

Yeah, I just realized that I can shave a cycle out of DoDraw. There are three main kernels, two of them have plenty of spare cycles but one is very tight. Look for the label "Main Kernel" and the code following that, specifically the loop "KernelLoopInner"

 

Here's another copy of the source with all tabs replaced by 3 spaces.

ElevatorsAmiss20070419Source.zip

Edited by vdub_bobby
Link to comment
Share on other sites

 

What's the problem? That the comments don't line up, or something else...? Have any suggestions of how to fix?

Yes, the comments and (more important) the cycle counting are not lined up.

 

Anyway, you already found the missing cycle, right?

Yeah, change:

   bcs DoDraw1
  lda #0
  .byte $2C
DoDraw1
  lda (HeroGfx1Ptrb),Y
  sta GRP0	 ;+11   24

  lda #0
  sta PF1;+5	29

to:

   lda #0
  sta PF1
  bcc NoDraw1
  lda (HeroGfx1Ptrb),Y
  sta GRP0	 ;+15   28
BackFromNoDraw1


...

NoDraw1
  sta.w GRP0
  bcc BackFromNoDraw1

 

Let me try again fixing the tab spacing.

 

EDIT: Ok, try this. :)

ElevatorsAmiss20070419Source.zip

Edited by vdub_bobby
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...