dMZX Forums: Pixel-mode in MZX - dMZX Forums

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Pixel-mode in MZX ?

#1 User is offline   Tox 

  • Gay cowboy
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,380
  • Joined: 25-January 01
  • Gender:Male
  • Location:Toowoomba, Queensland. Australia.

Posted 03 November 2001 - 10:13 AM

You know, it's possible to make a matrix of data using counters to store char info, so you could make a char set block, and play an intire game on it.

In other-words, you can make a 200x144 screenmode in mzx. Sounds kewl huh? But with mzxAK (Or any other future versions) you could read and write directly to a char.  :eyes:/>

I'm not saying I will make one though.

---

You may now return to the boring old reality that this will probably never happen.  :p/>
lesser.swampling@hotmail.com

"about the only aisle a guy can walk into in that store and still feel heterosexual is the candy aisle."
"It had a very sinister appearance," Coakley told reporters. "It had a battery behind it, and wires."
0

#2 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 03 November 2001 - 07:09 PM

There are only just over 1000 counters, that won't go very far... and that would be really slow! A little bit ago I made an engine so that you could position a 2x2 char image anywhere on the screen and IT was pretty slow (because you had to splice all the rows then redraw it, in 3x3), imagine doing anything large *shudder*.. besides, that kinda thing flickers, and it's a big pain doublebuffering something like that, if it's even possible at all.

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#3 User is offline   Tox 

  • Gay cowboy
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,380
  • Joined: 25-January 01
  • Gender:Male
  • Location:Toowoomba, Queensland. Australia.

Posted 04 November 2001 - 10:07 AM

That's why I said I wouldn't make one  :eyes:/>
lesser.swampling@hotmail.com

"about the only aisle a guy can walk into in that store and still feel heterosexual is the candy aisle."
"It had a very sinister appearance," Coakley told reporters. "It had a battery behind it, and wires."
0

#4 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 04 November 2001 - 07:48 PM

Quote from Toxik, posted on Nov. 04 2001,09:07
That's why I said I wouldn't make one ?:eyes:/>[/quote]

You can't make one, it's not possible :p/> 1000 counters will only give you around 71 chars. Of course, actually updating all those would probably take at least a few seconds alone.. *shudder*

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#5 User is offline   Tox 

  • Gay cowboy
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,380
  • Joined: 25-January 01
  • Gender:Male
  • Location:Toowoomba, Queensland. Australia.

Posted 05 November 2001 - 10:50 AM

That's what I ment. Or, you could you have 256 different robots all using local? Once again, I won't make one.  :eyes:/>
lesser.swampling@hotmail.com

"about the only aisle a guy can walk into in that store and still feel heterosexual is the candy aisle."
"It had a very sinister appearance," Coakley told reporters. "It had a battery behind it, and wires."
0

#6 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 05 November 2001 - 03:05 PM

No, you'd need 256*14 robots, you can only have like 150 robots on a board, sorry :eyes:/> The only way you could _possibly_ store all that information is by using a 200x50 board, and...

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#7 User is offline   Koji 

  • End
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 6,644
  • Joined: 15-November 01
  • Gender:Not Telling
  • Location:US, NC

Posted 18 November 2001 - 10:20 PM

Actually it might not be as hard as you make it out to be... Take a 100x100 board. place blocks all over the first 70x80 section then have several robots that translate the chunks to 8X1 into a counter (1,2,3,4,5,6,7,8,9,a,b,c,d, or e depending on the row of the character) using the mod 2 binary record technique then translate that into a char edit. Then the next robot (or the same one depending on how many cycles it takes) does the next char with the SAME COUNTERS. Place a block (10x5) of edited char on an overlay at the origin and fix the view to that block! Tada! Pixel mode! Though very small... If you want me too, I'll try to make this... It might take me a while... speed 2 will probably be needed...

Edit: After spending about 50 minutes then forgetting to save while quitting mzx, I?ve decided that until mzxak gold comes out, this is improbable. That is to say, it is possible but when it?s done it won?t have any use. It?ll be too slow! When you can defy the lines of code per cycle limit, as you will be able to in mzxak gold, the computations for this take up too much time.
0

#8 User is offline   Rubicant 

  • Smitemeister
  • PipPipPip
  • Group: Members
  • Posts: 164
  • Joined: 08-August 01

Posted 19 November 2001 - 05:26 AM

Quote from Exophase, posted on Nov. 06 2001,00:05
No, you'd need 256*14 robots, you can only have like 150 robots on a board, sorry :eyes:/> The only way you could _possibly_ store all that information is by using a 200x50 board, and...

- Exo[/quote]

199 robots per board. With MZXAK 1.00 it might be easier. Why not 196 (need about 4 robots including global to control the moving objects) robots using BULLET_TYPE, LOCAL and LOOPCOUNT. With LOCAL and LOOPCOUNT it would be possible to store 2 numbers per counter from 0 to 255. Then the rest could be used by global counters, since there are 1011 of them. It would be very slow, though. I just tried making one, and it was VERY flickery.
0

#9 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 19 November 2001 - 09:57 PM

Anything that won't run speedily at speed 1 won't run any better no matter how many cycles per second it runs at. Bottom line: MZX is very, very slow. It obviously wasn't written with a lot of efficiency in mind.

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#10 User is offline   Koji 

  • End
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 6,644
  • Joined: 15-November 01
  • Gender:Not Telling
  • Location:US, NC

Posted 20 November 2001 - 03:48 AM

Mzx engine are mainly slow because
A) The command take to long to execute
      IE : To many copy blocks
B) The Limit to how many codes can be run in a cycle is passed.
      IE : I want these 100 lines of code to run in a cycle...
            fat chance!

Solutions
A) Recode mzx, have fun!
B) Get mzxak1.1/Mzxak2/mzxakgold (whatever he's going to call it) from akwende this version allows you to set each robots codes per cycle limit. Also have fun!

B is a great idea for engines that are mainly math like this one. Because I know mzx can handle simple math (IE : inc dec multiply divide) very fast.

To bad neither A nor B will happen any time soon.

Edit : I rewrote the whole thing cause it didn't make sense.
0

#11 User is offline   Rubicant 

  • Smitemeister
  • PipPipPip
  • Group: Members
  • Posts: 164
  • Joined: 08-August 01

Posted 20 November 2001 - 05:28 AM

Quote from Koji, posted on Nov. 20 2001,12:48
Solutions
A) Recode mzx, have fun![/quote]

Well, I suppose I could.... but I really don't feel like doing that just for one puny little engine. Perhaps later...
0

#12 User is offline   MadBrain 

  • Art will make you a hobo.
  • PipPipPipPip
  • Group: Members
  • Posts: 617
  • Joined: 17-February 01
  • Gender:Male

Posted 20 November 2001 - 06:28 PM

The actual reason why mzx is slow is that accessing a counter is slow. Each access means checking up to the 1000 counters, which takes thousands of computer cycles. The robotic interpreter itself is also pretty slow. This is a bit what makes it easy to use though.
0

#13 User is offline   Koji 

  • End
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 6,644
  • Joined: 15-November 01
  • Gender:Not Telling
  • Location:US, NC

Posted 20 November 2001 - 08:59 PM

I know someone could put in an algorithm that'd sort the counters in alphabetical order then when searching for a counter mzx could use a simple binary search. That would speed up mzx's counter look up Vastly.

For those of you who don't know what a binary search is? It takes a table of items in alphabetical order divides the table in two. Then it decides which table has the item. Then it takes that table and repeats the process over and over until you get to the item by itself.

Of course we?d have to increase the number of counters to a power of two for maximum efficiency
0

#14 User is offline   Revvy 

  • Jeez guys, there's no need to be narky.
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 3,520
  • Joined: 05-March 01
  • Gender:Male
  • Location:Ontario, Canada

Posted 22 November 2001 - 04:56 PM

That would be useful...
<+AFK> Bringing whisky to my mother is like irrigating a lake.

<+AFK> dormando's apathy is palpable.
* AFK palpates
<dormando> stop that

<Malwyn> undressing with revvy a little over a metre away. new definition of awkward.
0

#15 User is offline   Wervyn 

  • I can see you
  • Group: DigiStaff
  • Posts: 1,855
  • Joined: 24-December 00
  • Gender:Male
  • Location:Caras Galadhon

Posted 26 November 2001 - 07:18 PM

Yeah, a binary search would actually be a great idea, and wouldn't be too hard to implement, I wouldn't think.  1024 is a perfect number without augmenting the counter total too much, and the search time would be only ten iterations, at most, instead of 1000.

"Fruity Freshner's is Fresher!"
To lie is to change the truth.
..Ignorance is to be unaware of the truth.
....Incompetence is to be unable to grasp the truth.
......And escape is to run away from the truth.
It is useless to run, since the truth is right next to you.

-Wervyn
0

#16 User is offline   Frobozz 

  • Ryiah
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,808
  • Joined: 07-March 01
  • Gender:Not Telling

Post icon  Posted 05 December 2001 - 12:02 AM

Actually, I would think 1000 counters would cover more than 71 chars. And since the screen would only be 200x144, each counter could act as two counters. That way you could double the number of chars allowed, and probably cut the speed of the engine in half! Thus, it would be pretty useless.
0

#17 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 05 December 2001 - 01:13 AM

Counters are signed 16bit. Splitting them into two unsigned 8bit characters would take quite a bit of needless conversion time (since all operations are handled arithmetically, you don't have any bitwise operations). Even still it would take 7 counters to represent one character's bitmap. So instead of 71 chars, 141. That's still only in the neighborhood of a 12x11 bitmap.

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#18 User is offline   MadBrain 

  • Art will make you a hobo.
  • PipPipPipPip
  • Group: Members
  • Posts: 617
  • Joined: 17-February 01
  • Gender:Male

Posted 05 December 2001 - 04:22 AM

Scrolling around a 2x2 or 3x3 sprite seems sane to me, but nothing more. (would be too slow)
0

#19 User is offline   Tox 

  • Gay cowboy
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,380
  • Joined: 25-January 01
  • Gender:Male
  • Location:Toowoomba, Queensland. Australia.

Posted 05 December 2001 - 09:10 AM

Quote

And since the screen would only be 200x144, blah blah... blah blah...

Could be 200x144. That's just one set of dimensions you could have.
lesser.swampling@hotmail.com

"about the only aisle a guy can walk into in that store and still feel heterosexual is the candy aisle."
"It had a very sinister appearance," Coakley told reporters. "It had a battery behind it, and wires."
0

#20 User is offline   Kayin 

  • The Nethack Samurai
  • PipPipPipPip
  • Group: Members
  • Posts: 539
  • Joined: 08-April 01

Posted 06 December 2001 - 06:49 PM

I did something sort of like pixal mode... basicly it was arkanoid and the ball was just one pixal.. but it worked, besides for a few bugs I could never shoot out of laziness. That and I could never really set up angle shots.... once again, out of laziness.
Http://www.wmute.net/~kayin/webcam.html <-- DA FISHY CAM!

You shall perish in my Orochi Flames

LOOK AT MY PROFILE TO SEE I AM A SEXY BITCH
0

#21 User is offline   Goku1388 

  • Bam! It's TheVede!
  • PipPipPip
  • Group: Members
  • Posts: 210
  • Joined: 09-May 01

Posted 08 December 2001 - 09:32 PM

Quote

I did something sort of like pixal mode... basicly it was arkanoid and the ball was just one pixal.. but it worked, besides for a few bugs I could never shoot out of laziness. That and I could never really set up angle shots.... once again, out of laziness.


How about posting it?
0

#22 User is offline   Tox 

  • Gay cowboy
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,380
  • Joined: 25-January 01
  • Gender:Male
  • Location:Toowoomba, Queensland. Australia.

Posted 09 December 2001 - 07:39 AM

Wasn't there something in the MZXencyclopedia about storing 15 pieces of data in one counter or something? I didn't bother looking it up, because at the time, it wasn't necissary.
lesser.swampling@hotmail.com

"about the only aisle a guy can walk into in that store and still feel heterosexual is the candy aisle."
"It had a very sinister appearance," Coakley told reporters. "It had a battery behind it, and wires."
0

#23 User is offline   Kuddy 

  • nobody
  • Group: DigiStaff
  • Posts: 4,823
  • Joined: 26-January 01
  • Gender:Male
  • Location:Philadelphia
  • 3DS Friend Code:4227-0979-0064

Posted 09 December 2001 - 07:26 PM

Quote

Wasn't there something in the MZXencyclopedia about storing 15 pieces of data in one counter or something? I didn't bother looking it up, because at the time, it wasn't necissary.

Yeah, I can vaguely remember that, and tried using it once... I guess I'll try explaining it, though this is difficult to put into words. *ahem*

Each of the 15 items within the counter has a different number, starting from 1 and multiplying by 2 until finally reaching 16384. (i.e. 1, 2, 4, 8, 16, etc.) These are added into the counter at the same time; for instance, let's say you had items 1, 5, and 14 in that counter. Their numbers would be 1, 16, and 8192 respectively. These amounts add up to 8209. If you had all 15 items, the amount would be the maximum of 32767.

To get the values returned... I only vaguely remember how to do this. Let's call the counter "foobar". To get item 5 (number 16) returned, you would do something like the following...

set "loopcount" to "foobar" //to keep the counter.
divide "loopcount" by 16 //if the item is there, this returns an odd value.
modulo "loopcount" by 2 //should return a value of 1.
if "loopcount" = 1 "dostuff" //if the value is 1, the item is in the counter, therefore it, like, does stuff.

So there you have it. Hope I got it right...
Posted Image
bollocks
0

#24 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 09 December 2001 - 08:04 PM

Quote

Wasn't there something in the MZXencyclopedia about storing 15 pieces of data in one counter or something? I didn't bother looking it up, because at the time, it wasn't necissary.

15 flags... just giving a binary representation of a counter... won't help any here...

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#25 User is offline   Kayin 

  • The Nethack Samurai
  • PipPipPipPip
  • Group: Members
  • Posts: 539
  • Joined: 08-April 01

Posted 09 December 2001 - 10:36 PM

eh, cause I dont feel like it. But the idea was it would move the picture of a dot up and down, left and right and when it reached the end, the robot would check for something, then move. thusly looking like pixelmode. The padal was going to have pixel mode too, but I never put it in, scrapping the idea in exchange for something less silly. Perhaps one day I'll actually finish it. which would take less then a day =P
Http://www.wmute.net/~kayin/webcam.html <-- DA FISHY CAM!

You shall perish in my Orochi Flames

LOOK AT MY PROFILE TO SEE I AM A SEXY BITCH
0

#26 User is offline   Sci-freak 

  • Long Member
  • PipPipPip
  • Group: Members
  • Posts: 440
  • Joined: 27-November 01
  • Gender:Male
  • Location:England

Posted 20 December 2001 - 06:52 PM

I was just messing about today and came up with a nice effect for a small character that moves about asthough there were no chars... just look to see what I mean, I didn't explain it very well.

Attached File(s)


0

#27 User is offline   Koji 

  • End
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 6,644
  • Joined: 15-November 01
  • Gender:Not Telling
  • Location:US, NC

Posted 20 December 2001 - 08:33 PM

I don't mean to burst you're bubble or anything but this can be done with less than 1/10 of the code...

Scroll char 'c' dir

Try this, I know for a fact this works... mostly cause I and a friend made an engine identical to this one with alot less code. I'm sure more people have done this aswell.
0

#28 User is offline   Sci-freak 

  • Long Member
  • PipPipPip
  • Group: Members
  • Posts: 440
  • Joined: 27-November 01
  • Gender:Male
  • Location:England

Posted 20 December 2001 - 09:15 PM

Koji, on Dec. 20 2001,20:33, said:

I don't mean to burst you're bubble or anything but this can be done with less than 1/10 of the code...

Scroll char 'c' dir

Try this, I know for a fact this works... mostly cause I and a friend made an engine identical to this one with alot less code. I'm sure more people have done this aswell.

Yes, but my code is alot more expandable and can be easily changed to accomodate different chars inside.
0

#29 User is offline   weasel 

  • bleh
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 7,915
  • Joined: 23-December 00
  • Gender:Male
  • Location:Hillsboro, Oregon

Posted 21 December 2001 - 01:10 AM

Try proving it, make the char bigger (maybe a 4x4 pixel).
Blaugh!
Serious damage to important body parts pretty much ruins any plans you had for living. Bummer.
0

#30 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 21 December 2001 - 01:45 AM

Heheheheh... that's the biggest waste of 12k of Robotic I've ever seen.

- Exo
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users