Jump to content



0

Adventure: Playfield Manipulation Midscreen...?


100 replies to this topic

#51 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Sat Nov 22, 2008 3:40 PM

Yeah, because it's impossible to do in 7 bits AFAIK. You could cheat and expand the gfx to use all 8...
X X  X X
XXXXXXXX
X X  X X
XXXXXXXX
X X  X X
XXXXXXXX
X X  X X
XXXXXXXX
X X  X X
XXXXXXXX
X X  X X


#52 accousticguitar OFFLINE  

accousticguitar

    Quadrunner

  • 5,204 posts
  • Sherlock made it to 15 before he left us.
  • Location:Idaho

Posted Sat Nov 22, 2008 5:11 PM

That works like a charm! Doggone it though, that's going to bug me now that almost every version out there has it off center. :lol:

#53 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Sat Nov 22, 2008 11:30 PM

I first noticed it like three years ago with revision 9 or 10 of Odyssey. I recently tried to fix it, but couldn't get something that looked good enough. Just accept it as part of the game and it won't drive you nuts. :)

#54 accousticguitar OFFLINE  

accousticguitar

    Quadrunner

  • 5,204 posts
  • Sherlock made it to 15 before he left us.
  • Location:Idaho

Posted Sun Nov 23, 2008 12:15 AM

I tried Nukey's suggestion and made it 1 bit wider. Works great! I even built an image into it like I've seen somewhere before on another hack. :D

#55 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Sun Nov 23, 2008 8:26 AM

Okay, I'm sorry, but I am not going anywhere with this... I need help.

I'm stuck on the routine in my program that generates the source code. It grabs the information from the pixel array and converts it perfectly, the only problem is getting the correct scanline count to display on the end of each row's data written to the output box. Basically, this is how my code is structured:

Initialize stuff.

Count = 2
Previous_Row = Whatever (see note 1)

Loop Y (iterates 48 times)

  Loop X (iterates 20 times)
  
	Get map data from array and store in variables.

  End Loop X

  Convert map data into assembly-compatible values.

  Current_Row = Value based on data retrieved from array. (see note 2)

  If Current_Row = Previous_Row Then
	Increment Count by 2.
  Else
	Write converted map data to output box with Count variable.
	Reset Count to 2.
  End If

  Previous_Row = Current_Row

End Loop Y

What happens is when a change in map row data occurs, it prints to the output box. Otherwise, the Count is increased. (Note 1:) It is obvious that during the first iteration of the Y loop, that the Previous_Row variable is going to be 2. On subsequent iterations, it prints the data after the change in rows is detected. This means, the scanline count is going to be off by one row, with the first row of data having a scanline count of 2.

(Note 2:) The code stores a value based on the data extracted and converted from the pixel array. This is used to compare different rows.

Is there a way I can restructure this to account for these issues?

#56 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Sun Nov 23, 2008 11:13 AM

Got bored. :D

Attached Files



#57 Impaler_26 OFFLINE  

Impaler_26

    Cookie Meister

  • 2,148 posts
  • Braindead
  • Location:Hueco Mundo

Posted Sun Nov 23, 2008 5:21 PM

View PostEarthQuake, on Sun Nov 23, 2008 6:13 PM, said:

Got bored. :D
Cute! :D

#58 lemoncurry OFFLINE  

lemoncurry

    Dragonstomper

  • 953 posts

Posted Mon Nov 24, 2008 7:56 AM

This stuff is neat. I really hope to get a chance to get into this stuff someday if I can find the time. Assembly language is fun, and looks like doing it in the context of a limited piece of hardware like the 2600 is quite a challenge.

Meanwhile, here's all I have in the way of a contribution :) :

kernel
(Note: NOT "kernal").
1. The essential part of Unix or other operating systems, responsible for resource allocation, low-level hardware interfaces, security etc. See also microkernel.
2. An essential subset of a programming language, in terms of which other constructs are (or could be) defined. Also known as a core language.
(1996-06-07)
The Free On-line Dictionary of Computing, © 1993-2007 Denis Howe

#59 supercat OFFLINE  

supercat

    Quadrunner

  • 6,367 posts

Posted Mon Nov 24, 2008 7:15 PM

Would it be practical to adapt the Adventure game engine to use a different kernel? I have a kernel I wrote which uses a bit more RAM that would be ideal, and would really only be suitable for an 8K or bigger cartridge, but it allows two 2lk objects, colored per line pair along with the Ball; the background is 25 rows (8 lines each) by 40 pixels wide, with even and odd scan lines separately drawn and colored. Each screen has 25 bytes that serve as indexes into a master row list; all screens in a bank must together use 256 or fewer rows total. The kernel uses about 32-40 bytes.

#60 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Tue Nov 25, 2008 7:44 AM

The original game is not practical or efficient.
Knock yourself out :)

#61 mos6507 OFFLINE  

mos6507

    River Patroller

  • 4,728 posts

Posted Tue Nov 25, 2008 10:40 AM

Better yet, an Adventure game with a Raiders style inventory, kind of like Swordquest with real playability.

#62 atwwong OFFLINE  

atwwong

    Stargunner

  • 1,141 posts
  • Haunted Adventurer
  • Location:Vancouver

Posted Tue Nov 25, 2008 9:26 PM

Must not touch assembly files... must stay away... argh!!! ;)

#63 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Fri Nov 28, 2008 7:23 AM

So I just had an epiphany and figured out how to fix my program's routine...

I just wish I would have thought about it sooner. Instead of putting the scanline count on the end of each line, I put it on the previous line, skip the first line, and add a value of "96" to the end of the last line. I tried doing this before, but the idea this time around was to move around the line break to the beginning of the line, leaving the end of the line open (without a line break), and appending the scanline count on the next iteration and then adding the linebreak and printing the next line of data. Rinse. Repeat. This of course requires that I check to see if the current line is the first, and skip printing the scanline count and line break. Another result of doing this is that the last line doesn't have a scanline count, but by adding the 96, I solve this problem and also ensures the room bitmap will fill the screen when pasted into the assembly. That's mostly a precaution because I don't think it's possible for the program to miscount the row data's scanline count, but oh well.

That probably doesn't make sense, but hey at least it works!

Edited by EarthQuake, Fri Nov 28, 2008 7:29 AM.


#64 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Fri Nov 28, 2008 10:58 AM

Alright, here it is. I skimped on some features, but it should output assembly compatible with Nukey's new kernal. Accousticguitar, when you get the chance to read this, let me know the format you're currently working with and I'll add support for it. I assume you're working with the original kernal with 7 rows of data per map, no scanline count, and no playfield control? Also, the editor's map format is unlikely to change, so if you want to use this editor now, you can always save your work and load it with future versions.

Attached Files

  • Attached File  osc1.zip   18.37K   67 downloads


#65 accousticguitar OFFLINE  

accousticguitar

    Quadrunner

  • 5,204 posts
  • Sherlock made it to 15 before he left us.
  • Location:Idaho

Posted Fri Nov 28, 2008 1:25 PM

This is so cool!

#66 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Fri Nov 28, 2008 5:33 PM

Here's the source code to the editor, in case I decide to disappear one day and someone wants to update the editor. I stopped optimizing and commenting it at one point, so some of it uses some rather ugly hacks, but again.. it works. :lol:

Attached Files


Edited by EarthQuake, Fri Nov 28, 2008 6:15 PM.


#67 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Fri Nov 28, 2008 5:33 PM

GAH

#68 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Fri Nov 28, 2008 5:34 PM

Seriously, what the hell is wrong with AtariAge? :(

#69 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Sat Nov 29, 2008 8:30 AM

Simple tool I wrote to aid with screen connections and world layouts. Instructions are on the program window.

Here's a preview. It took me longer to make the screenshot, than write the program. :lol:

#70 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Sat Nov 29, 2008 9:10 AM

Simple tool I wrote to aid with screen connections and world layouts. Instructions are on the program window.

Here's a preview. It took me longer to make the screenshot, than write the program. :lol:

Attached Thumbnails

  • sample.png

Attached Files



#71 gambler172 OFFLINE  

gambler172

    River Patroller

  • 2,060 posts
  • none
  • Location:germany

Posted Sat Nov 29, 2008 11:49 AM

Hi EarthQuake
Good work.
greetings Walter

#72 atwwong OFFLINE  

atwwong

    Stargunner

  • 1,141 posts
  • Haunted Adventurer
  • Location:Vancouver

Posted Mon Dec 1, 2008 12:05 AM

View PostEarthQuake, on Fri Nov 28, 2008 3:34 PM, said:

Seriously, what the hell is wrong with AtariAge? :(
Did you mean Plan A didn't work??? :?

Thanks for sharing!

#73 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Mon Dec 1, 2008 7:54 AM

Haha, no, was angry about this.

So atwwong, do we get to see any more Adventure hacks? ;)
It was a neat experience working on Odyssey alongside Haunted Adventure way back in the day. Good memories.

#74 atwwong OFFLINE  

atwwong

    Stargunner

  • 1,141 posts
  • Haunted Adventurer
  • Location:Vancouver

Posted Mon Dec 1, 2008 7:48 PM

View PostEarthQuake, on Mon Dec 1, 2008 5:54 AM, said:

Haha, no, was angry about this.

So atwwong, do we get to see any more Adventure hacks? ;)
It was a neat experience working on Odyssey alongside Haunted Adventure way back in the day. Good memories.
Interesting traceroute problem. Right now my Real-Life ™ work is keeping me busy so no assemblies worth reporting on for now.

Yikes, if back in the day is around 3 or so years ago, what about pre-1980's days... :D

#75 EarthQuake OFFLINE  

EarthQuake

    Moonsweeper

  • 264 posts
  • Praising Nukey
  • Location:Ohio

Posted Mon Dec 1, 2008 8:25 PM

Ahh, I'm a youngin compared to most people around these woods. I don't remember those days. :lol:




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users