Jump to content
IGNORED

PMGs and cycles


Recommended Posts

Hi.

1.)- Sometime ago, someone, I think it was CrtXL said somewhere to me about how many cycles each 1Player 1Byte/scanline takes: I think he said 11cycles. Is it?

 

 

 

2.)- So, if 1Player each scanline takes 11cycles then I would need to calculate (how many scanlines Player has) x (11cycles) to know how much he use?

 

 

 

3.)- And when I, for example, move the Player vertical if same scanlines I 'erase' the old ones and put new ones. Like I said, if the same scanlines size it still has the same cycles use or there are more cycles lost when we 'change' it yPos?

 

 

 

4.a.)- About Missiles: If four 'joined' one next to the other(s) then it is like 1Player 11cycles per scanline?

4.b.)- And if the 4Missiles are not 'joined' in one Player then it takes 11cycles each scanline per each Missile?

 

 

 

 

 

 

I was doing something last Night that I wanted to try for many years: trying to see how could I get COMBAT SCHOOL 'Obstacle Course' level on A8:

 

post-6517-0-31415600-1356627625_thumb.png

I discouver that I can get all the gfxs at just one charset (probably even the the Status Area also...) and that I can get each guy as 2PMGS Multicolour 20pixels wide hardware sprite only.

On A8 it would be simple to scroll the two Areas at diferent speed,...

So about PMGs use I would have Hardware sprites above gfxs (PRIOR1) the two guys, the Time count (not implemented here yet) and above gfxs the 'POWER' letters (not above gfxs but under gfxs on A8) and just two Players underlays on the 'Game Over' leters on the Satus Area.

So these questions have to do with COMBAT SHOOL so that I can count how much cycles all this would take of the CPU.

It's simple ANTIC4 Hardware Horizontal scrolling and some DLIs on PFs (not much) to add some more colours).

I think it would not be a problem... but, why there's always a problem?

How would we get on A8 (Hardware Priors cannot get it) when the guy enter those Bars and it's suspended (see on the video at about 0:40) where he is at the some time above the 'backs' gfxs but 'masked by some of the Metalic Bars:

 

 

 

Edited by José Pereira
Link to comment
Share on other sites

Antic steals cycles via DMA if it's enabled for PMGs. There are only 3 possible scenarios:

 

- no objects enabled, 0 cycles stolen with PMG DMA.

- missiles enabled, 1 cycle per scanline stolen.

- players enabled, 5 cycles per scanline stolen no matter if missile DMA is enabled or not.

 

If CPU loading of graphics registers, colour, position occurs then you're talking big CPU load. Having simple PMG display with not much positional change and Antic fetching the graphics costs very little.

 

Only 240 scanlines are active, Antic doesn't try to get data outside of that. So, at worst you lose 1200 cycles per frame.

 

Cycles taken by Antic are the same in 1-line and 2-line resolution, it fetches the data regardless.

Link to comment
Share on other sites

How would we get on A8 (Hardware Priors cannot get it) when the guy enter those Bars and it's suspended (see on the video at about 0:40) where he is at the some time above the 'backs' gfxs but 'masked by some of the Metalic Bars:

 

In the PM graphics data, the frames for swinging from the bars could have those horizontal sections left blank (and hence transparent), that way the bars would appear to be in front.

 

That might be how it's done above, since it's only the horizontal bar which appears in front - the vertical bar supports appear behind the player.

Edited by playsoft
Link to comment
Share on other sites

You are right but then it's wrong.

It doesn't make sense. The guy walking at the middle of the walkway must pass through the bars.

It's just a case of bad coding as there are, for sure, cases where it's done (remember Prince of Persia but this is more simple as the guy pass between | | and not / / or \ \).

Link to comment
Share on other sites

It's just a case of bad coding as there are, for sure, cases where it's done (remember Prince of Persia but this is more simple as the guy pass between | | and not / / or \ \).

 

It's a case of having to trade things off when working on a commercial project; Prince of Persia does software clipping of sprites but has a lot more ROM and to a degree RAM space available to throw at the job and years of coding time put into it; twenty something years ago the programmers behind Combat School were working to a tight deadline and with instructions to keep the loading to a minimum, so they took a shortcut that pretty much worked as long as someone didn't somehow invent a way to record footage or magically freeze the C64. =-)

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...