Changes

Jump to: navigation, search

Speccy Port

1,350 bytes added, 12:49, 18 January 2020
/* Mode 1 and screen dimensions */
* Graphics/levels would not need to be designed for a wider screen (320 compared to 256)
* For the Amstrad, a 320x200 screen normally takes 16K, but when reduced in size it takes 12K.
 
=====Random numbers=====
 
Sometimes Spectrum games generated random numbers by reading from the Spectrum ROM which is always readable in the memory range &0000-&3fff.
 
''Consequences for CPC:''
- There is not enough memory to store the Spectrum ROM in the Amstrad's memory therefore the same method can't be used. It may be possible to store a small part of the ROM depending on the memory range read by the program. It is possible to use the CPC's ROM when paged in but it's contents will differ so the random numbers will also differ and therefore the gameplay will be different (although maybe not enough to be an issue). An alternative on the CPC is to use a function to generate a random number - which may result in more CPU instructions compared to the Spectrum random number generation method - or worse read the R register which is not really random enough.
 
=====Double buffering=====
 
TODO:
 
=====Memory arrangement=====
 
Spectrum game's often use the memory from &5500-&ffff.
 
''Consequences for CPC:''
- If you are not using a custom disc or tape loader then during loading you will need to preserve the firmware memory regions. The easiest thing to do is start the game lower in memory (&0040), use the default screen at &c000-&ffff, and then once loaded copy data over these areas (provided you are not doing furthur loading/saving).
====Original consequences (under construction)====
2,541
edits