Jump to content
IGNORED

Prince of Persia


José Pereira

Recommended Posts

The PC version is an exact port of the Apple II version, it uses the same data structures and has the same behavior (except for a few fixed bugs and a few new ones that were introduced). The Spectrum version is quite close, but some levels had to be modified slightly...

 

Well, that's a great joke.

IF the games looks and plays similar to the Apple version, you can aproximate about 80% of the code is different. Difference of coding different CPUs not included.

Link to comment
Share on other sites

"That's an incredible waste of time !"

 

Not on an 8 bit computer, particularly when there is commented ASM code. Given that code can run on the target machine?

I don't know about that code being actually commented. Got a link ?

 

If there is a full PoP code in 6502 format, then why no one actually took it so far and just slapped the slightly reworked art assets on it ?

Link to comment
Share on other sites

Actually, the PC is a more capable machine than the Apple where the game origniates from.

So there isn't really a "resource" Problem, to create code that can take usage of the available data.

 

The A8 has some advantages, but it also has some flaws compared the the Apple, so "doing software that can take use of the available data" is in no way useful.

You'd have to create the game fully "new" and to rewrite everything, if you want to use "multicolour" with a relieable game mechanics. ... fullstop...

Edited by emkay
Link to comment
Share on other sites

@VladR

I have a lot experience with CC65 which is the best C compiler for 6502 nowadays. The code generated is big and optimizations are very poor comparing to modern compilers like GCC, MCVS or Intel. The runtime is quite large which is heavy for game development and the compiler does not do not function call analysis, so space of local variables is not reused. The compiler is written to always support recursive calls (even if you do not use them), therefore many of possible optimizations are skipped.

Because of 16 bit address space pointers are slow on 6502. You do not always get code optimized when inlining and link time optimizations are poor. The slowest parts are however arguments passed by the stack and code generated to handle structs.

 

@mrsid

Do not get into pointless discussions with some individuals here, because you will only be discouraged. Not only in this topic they say how easy things are to be done, but you can't expect anything from them other than talking.

Edited by ilmenit
  • Like 1
Link to comment
Share on other sites

@VladR

I have a lot experience with CC65 which is the best C compiler for 6502 nowadays. The code generated is big and optimizations are very poor comparing to modern compilers like GCC, MCVS or Intel. The runtime is quite large which is heavy for game development and the compiler does not do not function call analysis, so space of local variables is not reused. The compiler is written to always support recursive calls (even if you do not use them), therefore many of possible optimizations are skipped.

Because of 16 bit address space pointers are slow on 6502. You do not always get code optimized when inlining and link time optimizations are poor. The slowest parts are however arguments passed by the stack and code generated to handle structs.

That kinda sucks.

 

How large is the runtime ? That might actually be No 1 problem here...

 

Argument passing could be replaced by global variables, which, although undesirable, is still way,way more readable technique than diving to ASM.

 

What exactly do you mean by structs being slowest ? Got some example how cc65 handles it ?

Link to comment
Share on other sites

@VladR

I have a lot experience with CC65 which is the best C compiler for 6502 nowadays. The code generated is big and optimizations are very poor comparing to modern compilers like GCC, MCVS or Intel. The runtime is quite large which is heavy for game development and the compiler does not do not function call analysis, so space of local variables is not reused. The compiler is written to always support recursive calls (even if you do not use them), therefore many of possible optimizations are skipped.

Because of 16 bit address space pointers are slow on 6502. You do not always get code optimized when inlining and link time optimizations are poor. The slowest parts are however arguments passed by the stack and code generated to handle structs.

I have to agree with ilmenit. I've started with cc65 a couple of weeks go, now I've switched to MADS assembler. C may be useful for quick-and-dirty testing of algorithms, but the not for time critical games on a 6502 CPU.

Link to comment
Share on other sites

My question exactly.

Save for some platform differences, all that needs to be done, is to replace the rendering code,audio code and reading of the input.

 

It might be problematic to get this thing to link at first, but other than that, for anyone who is conversant with 6502, that should not pose some big problem.

 

I know I was, about 25 yrs ago. I even knew all the hexa codes for all instructions and all combinations of operands, since I spent a lot of time coding just in hexa (since Atmas ran out of memory pretty fast). I'm just to lazy to do that again, that's all...

  • Like 1
Link to comment
Share on other sites

My question exactly.

 

This is no question.

 

The plot still is that people want to code the A8 similar to the C64 and want to have the same results.

 

This always results in a horizontal moved object over a "complex" charmode alignment... and endsup quickly.

 

The real features of the A8 don't get requested there.

 

This type of ignorance caused me stopping all progress on the A8 back in the early 90s.

 

As you might see, JM took 4 years for that game, and he was a "professional" coder, while people "like me" just do some computer stuff in their spare time. Co-work would be needed, but the hell would freeze before some A8 people would do some "finishable" project together.

Edited by emkay
Link to comment
Share on other sites

The A8 has some advantages, but it also has some flaws compared the the Apple, so "doing software that can take use of the available data" is in no way useful.

 

Says the guy who writes no code.

 

IMHO, the only "flaw", which isn't a flaw and more like a feature difference, is the lack of a 6 color screen. Seems to me, getting it up and running in 4 color makes a lot of sense. Once that is done, profile it and figure out what can be added. Apple had color clash on byte boundaries. That lines up with a PM overlay fairly well! It might not even take that many cycles to get the color overlay on the screen where it's needed for the 6 colors the game was designed for. If there is time and sprite resources left, spiff it up some more!

 

For me personally, the art is the bigger issue. The Apple used artifact color and that means small color pixels are possible, like C64 high resolution pixel sized pixels. When it all gets moved to a 4 color screen, like Antic E, some of that gets lost... Still, minor league given there is 4 color art out there.

Link to comment
Share on other sites

Save for some platform differences, all that needs to be done, is to replace the rendering code,audio code and reading of the input.

 

It might be problematic to get this thing to link at first, but other than that, for anyone who is conversant with 6502, that should not pose some big problem.

 

I know I was, about 25 yrs ago. I even knew all the hexa codes for all instructions and all combinations of operands, since I spent a lot of time coding just in hexa (since Atmas ran out of memory pretty fast). I'm just to lazy to do that again, that's all...

 

 

What's missing at the 1st point is the needed development tools.

RMT had been a promising tool. Raster ignored almost all of my proposals.... you know what happened....

As a Song tells "Prungni mai mi jing" .... Tommorrow won't have it.

Link to comment
Share on other sites

 

 

For me personally, the art is the bigger issue. The Apple used artifact color and that means small color pixels are possible, like C64 high resolution pixel sized pixels. When it all gets moved to a 4 color screen, like Antic E, some of that gets lost... Still, minor league given there is 4 color art out there.

 

 

Nothing special here, just a small alignment of different game mechanics, back in 1986. Up to 8 colours used incl. PAL artefacting... no dli or else used.

 

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

 

 

Actually it's been done in Basic (not Turbobasic)... with a lot of loops for slowing it down and to adjust the animations on the screen.

Edited by emkay
Link to comment
Share on other sites

The plot still is that people want to code the A8 similar to the C64 and want to have the same results.

 

No. This is your issue, and you personally make the idea of group development on A8 painful to even contemplate. I know I wouldn't put shit here, until it was well along. You are part of the reason for that.

 

Had I more time, I would really like to take something like the animation tests, or make one and try to get it to run. There have been a couple of Apple conversions in the past and they turned out pretty well. I think this one would work great, with some creativity added once it's running 4 color.

 

Re: Tools.

 

Bullshit. Now you are conflating your endless, "I want somebody to write me a tracker" issue with other ones... Gets old buddy.

 

Well, I'm out now. At some point, one of us will get some time or motivation and get this one going. For me, It's a project that would be really challenging. I can do 6502, but I've never worked on something this big... Would be kick ass though. Maybe somebody will be in a position to do it, and just do it, ignoring the mess here.

 

Nothing special here,

 

No. I can't even reply.

 

Cheers all!

Link to comment
Share on other sites

 

 

No. This is your issue, and you personally make the idea of group development on A8 painful to even contemplate. I know I wouldn't put shit here, until it was well along. You are part of the reason for that.

 

Had I more time, I would really like to take something like the animation tests, or make one and try to get it to run. There have been a couple of Apple conversions in the past and they turned out pretty well. I think this one would work great, with some creativity added once it's running 4 color.

 

Re: Tools.

 

Bullshit. Now you are conflating your endless, "I want somebody to write me a tracker" issue with other ones... Gets old buddy.

 

Well, I'm out now. At some point, one of us will get some time or motivation and get this one going. For me, It's a project that would be really challenging. I can do 6502, but I've never worked on something this big... Would be kick ass though. Maybe somebody will be in a position to do it, and just do it, ignoring the mess here.

 

 

 

No. I can't even reply.

 

Cheers all!

 

You'd need a brain for that.

Link to comment
Share on other sites

Really funny. The words and writings, "Potatohead" uses point to some 00 place.

 

Game mechanics don't need much Resources, particular if you can count them with your fingers.

On the A8 the graphics get over the extends, because you have to calculate them in two different parts , which means different values to count and different objects to calculate , to get one "multicolour" object moved.

 

Link to comment
Share on other sites

I wouldn't have expected tools to be the problem... There are tons of 6502 assemblers out there, and many very capable text editors and even some full blown IDEs. People are making stuff for 6502-based platforms with these all the time...

 

 

We have many people like "Potatohead" disregarding what the A8 is capable of, but we don't have the "huge" amount of good coders as the C64 has.

The A8 "scene" is rather small and there is no real will to do something. So "optimized resources" would be the clue...

Edited by emkay
Link to comment
Share on other sites

Ok you clown. Where did I disregard what the machine can do? I know damn well what the machine can do. I also know something about the amount of work it takes to make it do it too. You don't really, because you don't ever actually even attempt some of that work.

 

Seems to me there is the new production you envision, and that pile of work for somebody else given you don't code, only bitch. Who would want to actually attempt that facing your uninformed criticism every day?

 

That's the lose will to live problem.

 

There is also porting the game over, which is something far more approachable. Hobby people can do that. It's possible to do given the tools out there (and there are plenty), and doing that would make a great project for somebody. I know I would enjoy that. I know people who would.

 

And that's the "don't share it here" problem, because anyone actually attempting the latter would face your high expectations, complete inability to contribute, constant nagging, mental torture the whole time. And that's fucked up because somebody attempting that would want some help, but that means having you mixed in there. No thanks!

 

Why hasn't this actually been started? I suggest you look in the mirror.

 

The A8 community is small, because plenty of people see this mess and wonder whether or not it makes any sense at all to get shit on constantly while trying to have a good time on an old machine. "optimized resources" means what Emkay? Means people actually try to meet your needs on their time? LOL!! Can't just do a project on A8. It's always gotta be something brutally hard, or it's "not using the machine" or some other garbage you spout off.

 

There isn't anything missing here. A good body of code is there to work with. There are solid assemblers, emulators, etc... I question whether or not you even really know what "tools" are, or how they are used. And I shouldn't, because you don't write any code. Maybe you should, but oh no! Emkay has no time for that. He needs other people to bust their ass so he can then push a button and get the magic and then take credit for it, or gloat over how he was right all along... Nobody is ever going to do that, unless they are a complete and total glutton for morbid punishment and mental torture.

  • Like 4
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...