Jump to content
IGNORED

Pinball Dreams for the Amstrad CPC 128K


JamesD
 Share

Recommended Posts

The Amstrad has a 16 color graphics mode.
If I understand correctly, it's 4 bits per pixel 160×200 mode.
If that is the case, that means the screen takes up almost 16K.
That screen scroll has to be some seriously unrolled code!
Since the table is taller than the screen, they must be copying from a full image of the table to the screen.
That would mean it takes over 32K for the screen and full table image in RAM.
But I'm just guessing.

Link to comment
Share on other sites

That screen scroll has to be some seriously unrolled code!

You're right about the memory use, but the scrolling relies on the CPC's ability to change the start address of the screen memory; if memory serves it's timing specific to get right and the 16K block "wraps" so the calculations are a bit fiddly, but a simplified version is used for games like Mission Genocide or Warhawk do their scrolling.

 

Since the table is taller than the screen, they must be copying from a full image of the table to the screen.

That would mean it takes over 32K for the screen and full table image in RAM.

The original PD tables are 512 pixels high so it'll be more like 40K for the table itself and i'd expect the collision map to be quite chunky too.

  • Like 1
Link to comment
Share on other sites

Not sure about number of colours on screen at the same time, but the palette consists of 3^3 = 27 distinct colours arranged as RGB in the expected range of 00, 80, FF. It means one level of grey, but also a lot of bright colours very close to eachother.

16 colours out of 27, giving you the choice of using nicely fitting colours on the screen. For game graphics a well chosen decision

Edited by emkay
Link to comment
Share on other sites

16 colours out of 27, giving you the choice of using nicely fitting colours on the screen. For game graphics a well chosen decision

It's a bit "swings and roundabouts" really; having sixteen colours with arbitrary placement is obviously a plus, but it means handling twice the screen RAM of most other 8-bits; software sprites need more data and take longer to render, double buffering the display takes half the RAM on a 64K machine and the hardware scrolling being discussed here wasn't documented. There are some very poor examples of scrolling because brute force was used to shift the video memory.

 

Impressive scrolling? Have you seen "Edge Grinder" for the CPC yet? That is imressive ;)

From what the author told me, Edge Grinder isn't compatible with every model of CPC (it relies on an undocumented feature of the CRTC which is also present on the BBC Micro but, to my knowledge, is never used there for similar reasons) along with a variation of the same technique behind PD. It's not much different to using LMS on the Atari 8-bit, except the screen RAM isn't contiguous so there's some juggling of numbers needed to get the memory addresses for each new row/column.

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...