The ZX Spectrum Next library continues to grow, this time breathing new life into a Sega classic. Developer dave18 has successfully ported the iconic Sega Master System (SMS) shooter called Astro Warrior over to the Next, a project born out of a nostalgic desire to test the architectural boundaries between the two machines. The developer chose Astro Warrior because it was the first game they ever owned for the SMS. While the port was created "just for fun," the result is a polished conversion that highlights the impressive technical overlap between the Sega and the modern(like) Sinclair hardware.
While the SMS and the Next share similar capabilities, the port wasn't without its challenges. The SMS features a larger tile data space, though it must share that space with sprites. By strategically rearranging data, the developer managed to bridge this gap. The biggest hurdle involved sprite priority. On the original SMS hardware, priority can be set on a tile-by-tile basis—a feature used in the Astro Warrior title screen to make lasers appear both above and below spacecraft. To keep the project manageable, the developer opted not to replicate this specific effect, noting that using the Next’s "Copper" or adding a second "Layer 2" playfield was more complex than the visual payoff warranted for a solo passion project.
Links :1) Source

Really nice port. Dave also said on itch that other Master System games could be ported also (some easier than others).
ReplyDeleteI for one can't wait! Looking forward to my accelerated next this year 😎
DeleteLoving the Next since KS1. It has a healthy number of releases which keeps my interest up.
DeleteWhy, though ?
DeleteYou can just play the originals on an SMS emulator right now, or even on real hardware.
Are you in one of those "WHY THOUGH?" camps whenever a port appears on a system other than the original :p I for one am pleased with our port overlords!
Deletehm .. SMS hold max of 448 tiles, Next 512 !
ReplyDeleteNot with a 16 bit wide tilemap
Delete4 bit per tile is more than enough ?
DeleteIt is the tilemap itself. The minimum size is 40 x 32. To have attributes such as flipped tiles and to address more than 256 tiles on a tile by tile basis you need to have 2 bytes per entry on the tilemap. 40 x 32 x 2 is 2560. subtract that from the 16384 byte region available and you have 13284 bytes left. A 4 bit tile takes up 32 bytes which gives you 432 tiles
DeleteBit 1 - activates 512 tile mode. In this mode, the “ULA over tilemap” bit in a tile’s attribute is re-purposed as the ninth bit of the tile number, allowing up to 512 unique tiles to be displayed. In this mode, the ULA is always on top of the tilemap.
DeleteI think it says somewhere that Layer 3/TileMap supports mirroring, rotating tiles by 90 degrees, or color palette offsets "for free," so you don't have to use a new tile for that, right ?
My head hurts! :p
DeleteI think is is a wording issue, I believe the ninth bit allows for a 512 tile address space but there is no configuration (I'm aware of) that can fit that many into memory. Maximum is 472 with 8 bit tilemap. Unless thing have changed I am still going by the diagrams at the bottom of this webpage https://www.specnext.com/tilemap-mode/ . This page talks about a possible future changes that would allow all 512 tiles to be accessed, the most interesting is this one '1. Addition of a bit to Tilemap Control to select a reduced tilemap area of size 32×24 or 64×24 that covers the ULA screen.' as this would make porting SMS games a lot easier as there was quite a bit of work to do on Astro Warrior the change the layout from a 32x24 tilemap to a 40x32 one!
Deleteask AA .. Allen Albright is a key developer and core firmware engineer for the ZX Spectrum Next project.
DeleteFB or forum. He knows.
Somewhat disappointing, the Next is capable of much better; this version is a copy and paste of the Master System version.
ReplyDeleteThat's exactly what the developer wanted though, no? :)
Delete