17

Some time back I asked if it was possible to get more than 8 sprites on a single scanline with the Amiga using a copper list. It seems it is quite possible indeed!

Now I am wondering if it is possible to also split the screen horizontally using a copper list? For example, can you change the resolution from lo-res to hi-res at some arbitrary X coordinate?

Also, is it possible to change the scroll registers at an arbitrary X coordinate so that you could scroll two different planes on the same line? For example, think of a Mario Kart type of game where the game was split vertically down the middle of the screen instead of top/bottom.

| improve this question | | | | |
  • IIRC there was some Amiga artwork that used hi-res in one quarter of the screen and lo-res in the rest, or vice versa, which required mixing resolutions in half of the scanlines. Can't remember anything beyond that, sorry. – Seg Fault Jan 10 at 9:51
20

Splitting the screen on an X coordinate is more involved since you'd naturally end up with some garbage at the instant you changed from one to the other. But since the copper can be instructed to WAIT accurately, the garbage would be very predictable. If you covered that with a hardware sprite, you could have two vertical views, which is exactly what you get in multiplayer Lemmings.

Lemmings multiplayer

| improve this answer | | | | |
  • 1
    Super Cars 2, too, probably: videospielgeschichten.de/wp-content/uploads/2017/05/… – Tommy Dec 16 '19 at 19:39
  • 1
    If anybody has an example of a game which changes colour depth or resolution on either side of a divide (perhaps some strategy game does this?), that would be a good addition to this answer :) – Carr Dec 17 '19 at 22:05
  • 1
    Should be mentioned that the copper needed the time of four lowres pixels for one instruction, and each register change needs one instruction. Alternatively, the copper could trigger an interrupt to let the CPU do the register changes, but, of course, that takes time too. So, the more changes the bigger the gap. Regarding strategy games with two windows side by side, there are such games, like Battle Isle/History Line, however, there’s no indicator that this is done via copper rather than just blitting into a single buffer covering both screens. – Holger Jan 6 at 16:51
  • @Holger Couldn't the CPU be also used to somehow fill the gap? – Seg Fault Jan 10 at 9:52
  • @SegFault that’s what I meant with “Alternatively, the copper could trigger an interrupt to let the CPU do the register changes, but, of course, that takes time too”. In this thread, Toni Wilen, developer of the WinUAE Amiga emulator says “Each CPU custom register access takes 2 color clocks (1 color clock = ~3.5MHz)…” which implies that using the CPU to make the changes is not faster than the copper. I don’t know whether using copper and CPU at the same time for different registers could double the number of changeable registers. – Holger Jan 10 at 11:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.