In software engineering , porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally designed for (e.g., different CPU , operating system, or third party library ). The term is also used when software/hardware is changed to make them usable in different environments.
40-587: Sega Ages is a series of video game ports , remakes , and compilations published by Sega . It consists of Sega arcade games and home console games, typically those for the Sega Genesis and Master System . The series was launched on the Sega Saturn in 1996. Entries were published for the PlayStation 2 as Sega Ages 2500 , a reference to its bargain ¥2500 price point. The series later came to
80-460: A PC without the need for actual porting (instead relying on the common porting of individual component libraries ). Porting arcade games to home systems with inferior hardware was difficult. The ported version of Pac-Man for the Atari 2600 omitted many of the visual features of the original game to compensate for the lack of ROM space and the hardware struggled when multiple ghosts appeared on
120-544: A best-seller in the United Kingdom. Next Generation rated it three stars out of five, and considered it better than the Namco Museum series. GamePro gave it a negative review, saying that the three games in the collection "were never all that good to begin with", believing that the collection should have added other Sega games. The four reviewers of Electronic Gaming Monthly unanimously contended that
160-399: A home console with the same specifications. This allowed arcade perfect games to be played at home. A "console port" is a game that was originally made for a console before an identical version is created which can be played on a personal computer . This term has been widely used by the gaming community. The process of porting a game from a console to a PC is often regarded negatively due to
200-744: A low price point. Most of these releases were exclusive to Japan. Three games in the Sega Saturn series - Space Harrier , Out Run and After Burner II - were selected for Sega Ages Volume 1 , released in Europe in 1996 and in North America in 1997. Several games in the PlayStation 2 series were released in Europe and North America as part of the Sega Classics Collection compilation in 2005. The PlayStation 2 series
240-447: A machine independent intermediate code in order to enhance portability of the compiler and minimize design efforts. The intermediate language defines a virtual machine that can execute all programs written in the intermediate language (a machine is defined by its language and vice versa). The intermediate code instructions are translated into equivalent machine code sequences by a code generator to create executable code . It
280-459: A new subsidiary company in 2003, known as 3D Ages ( スリーディー・エイジス/3Dエイジス , Surīdī Eijisu ) , with the sole reason to create games under the Sega Ages 2500 series. Later in 2004, D3 Publisher would leave the project and give Sega complete control of the company. The main focus of the series was to remake older Sega video games with 3D visuals, alongside improved sound and gameplay. Following
320-439: A policy was not always feasible; Bunten stated that "M.U.L.E. can't be done for an Apple", and that the non-Atari versions of The Seven Cities of Gold were inferior. Compute!'s Gazette wrote in 1986 that when porting from Atari to Commodore the original was usually superior. The latter's games' quality improved when developers began creating new software for it in late 1983, the magazine stated. In porting arcade games ,
360-399: A sacrifice to Out Run by removing the original arcade music from the disc so that all three games could fit. The game would still contain the arrangement version of the music. Reasons for the removal are explained in the developer / translator notes at the back of the manual. = Released in North America as part of Sega Ages and Europe as part of Sega Ages Volume 1 . The second series
400-443: Is also possible to skip the generation of machine code by actually implementing an interpreter or JIT for the virtual machine. The use of intermediate code enhances portability of the compiler, because only the machine dependent code (the interpreter or the code generator) of the compiler itself needs to be ported to the target machine. The remainder of the compiler can be imported as intermediate code and then further processed by
440-403: Is less complex and therefore easier to port than a code generator, because it is not able to do code optimizations due to its limited view of the program code (it only sees one instruction at a time, and users need a sequence to do optimization). Some interpreters are extremely easy to port, because they only make minimal assumptions about the instruction set of the underlying hardware. As a result,
SECTION 10
#1732791381097480-431: Is needed to adapt it to a new environment. The amount of effort actually needed depends on several factors, including the extent to which the original environment (the source platform ) differs from the new environment (the target platform ), the experience of the original authors in knowing which programming language constructs and third party library calls are unlikely to be portable, and the amount of effort invested by
520-521: The Atari VCS became the console's killer app despite its differences, while the later Pac-Man port was notorious for its deviations from the arcade version. Arcade-accurate games became more prevalent starting in the 1990s as home consoles caught up to the power of arcade systems. Notably, the Neo Geo system from SNK , which was introduced as a multi-game arcade system, would also be offered as
560-755: The GNU Compiler Collection , which provides consistent programming languages on different platforms, and Autotools , which automates the detection of minor variations in the environment and adapts the software accordingly before compilation. The compilers for some high-level programming languages (e.g. Eiffel , Esterel ) gain portability by outputting source code in another high level intermediate language (such as C ) for which compilers for many platforms are generally available. Two activities related to (but distinct from) porting are emulating and cross-compiling . Instead of translating directly into machine code , modern compilers translate to
600-467: The Sega Mega Drive and Sega 32X , they felt the compilation was worth getting for Out Run alone. Porting Software is portable when the cost of porting it to a new platform is significantly less than the cost of writing it from scratch. The lower the cost of porting software relative to its implementation cost, the more portable it is said to be. The term "port" is derived from
640-607: The Xbox 360 and PlayStation 3 as Sega Ages Online , and finally to the Nintendo Switch as simply Sega Ages . The name Sega Ages is a palindrome , with "Ages" being "Sega" backwards — this was previously used by Sega in European marketing strategies from the late 1980s to early 1990s. The Sega Saturn and PlayStation 2 releases usually feature a singular game alongside extras such as remakes or developer info, and sold at
680-502: The embedded systems and mobile markets, portability remains a significant issue, with the ARM being a widely used alternative. International standards, such as those promulgated by the ISO , greatly facilitate porting by specifying details of the computing environment in a way that helps reduce differences between different standards-conforming platforms . Writing software that stays within
720-510: The Apple rewrites?" the audience shouted "No!" Garriott responded, "[otherwise] the Apple version will never get done. From a publisher's point of view that's not money wise". Others worked differently. Ozark Softscape , for example, wrote M.U.L.E. for the Atari first because it preferred to develop for the most advanced computers, removing or altering features as necessary during porting. Such
760-540: The Internet before execution can start on the target's Java virtual machine (JVM). Porting is also the term used when a video game designed to run on one platform, be it an arcade , video game console , or personal computer , is converted to run on a different platform, perhaps with some minor differences. From the beginning of video games through to the 1990s, "ports", at the time often known as "conversions", were often not true ports, but rather reworked versions of
800-466: The Latin portāre , meaning "to carry". When code is not compatible with a particular operating system or architecture , the code must be "carried" to the new system. The term is not generally applied to the process of adapting software to run with less memory on the same CPU and operating system. Software developers often claim that the software they write is portable , meaning that little effort
840-595: The PlayStation Store for the PlayStation 3 and had the Sega Ages 2500 name stripped from the title. The games were developed by M2 as opposed to being made in-house by Sega. Ten releases were made in total, making it the shortest of the Sega Ages series. The fourth Sega Ages series was released for the Nintendo Switch in September 2018, available through the Nintendo eShop storefront. This series
SECTION 20
#1732791381097880-602: The bounds specified by these standards represents a practical although nontrivial effort. Porting such a program between two standards-compliant platforms (such as POSIX.1 ) can be just a matter of loading the source code and recompiling it on the new platform, but practitioners often find that various minor corrections are required, due to subtle platform differences. Most standards suffer from "gray areas" where differences in interpretation of standards lead to small variations from platform to platform. There also exists an ever-increasing number of tools to facilitate porting, such as
920-469: The departure of D3 Publisher, the series would soon shift into featuring compilations of other Sega video games alongside remakes of these games. The series officially concluded in 2008 after 33 entries, although several other Sega Ages 2500 games, featuring games such as Streets of Rage and Alex Kidd , were planned for release. 3D Ages was disbanded in late 2005 and absorbed into Sega. Due to complications with Sony Computer Entertainment America, Sega
960-455: The games due to the limitations of different systems. For example, the 1982 game The Hobbit , a text adventure augmented with graphic images, has significantly different graphic styles across the range of personal computers that its ports were developed for. However, many 21st century video games are developed using software (often in C++ ) that can output code for one or more consoles as well as for
1000-406: The higher levels of performance that computers generally have being underutilized, partially due to console hardware being fixed throughout their run (with games being developed for console specs), while PCs become more powerful as hardware evolves, but also due to ported games sometimes being poorly optimized for PCs, or lazily ported. While broadly similar, architectural differences may exist such as
1040-408: The latter machines' sprites and other sophisticated features made porting from them to Apple "far more difficult, perhaps even impossible". Reviews complained of ports that suffered from "Apple conversionitis", retaining the Apple's "lousy sound and black-white-green-purple graphics"; after Garriott's statement, when Dan Bunten asked "Atari and Commodore people in the audience, are you happy with
1080-433: The line - Out Run , Space Harrier and After Burner II , would be compiled into the video game compilation Sega Ages Volume 1 , released in Europe in 1996 by Sega itself and Sega Ages released in North America in 1997 by Working Designs under their Spaz imprint. Despite the title, no additional volumes would be released in these territories. Due to development technicalities at Working Designs , they had to make
1120-504: The original authors in only using portable constructs (platform specific constructs often provide a cheaper solution). The number of significantly different CPUs and operating systems used on the desktop today is much smaller than in the past. The dominance of the x86 architecture means that most desktop software is never ported to a different CPU. In that same market, the choice of operating systems has effectively been reduced to three: Microsoft Windows , macOS , and Linux . However, in
1160-404: The ported code generator or interpreter, thus producing the compiler software or directly executing the intermediate code on the interpreter. The machine independent part can be developed and tested on another machine (the host machine ). This greatly reduces design efforts, because the machine independent part needs to be developed only once to create portable intermediate code. An interpreter
1200-573: The screen creating a flickering effect. The poor performance of the Atari 2600 Pac-Man is cited by some scholars as a cause of the video game crash of 1983 . Many early ports suffered significant gameplay quality issues because computers greatly differed. Richard Garriott stated in 1984 at Origins Game Fair that Origin Systems developed video games for the Apple II first then ported them to Commodore 64 and Atari 8-bit computers , because
1240-585: The target. According to the designers of the BCPL language, interpreted code (in the BCPL case) is more compact than machine code, typically by a factor of two to one. Interpreted code however runs about ten times slower than compiled code on the same machine. The designers of the Java programming language try to take advantage of the compactness of interpreted code, because a Java program may need to be transmitted over
Sega Ages - Misplaced Pages Continue
1280-405: The terms "arcade perfect" or "arcade accurate" were often used to describe how closely the gameplay, graphics, and other assets on the ported version matched the arcade version. Many arcade ports in the early 1980s were far from arcade perfect as home consoles and computers lacked the sophisticated hardware in arcade games, but games could still approximate the gameplay. Notably, Space Invaders on
1320-502: The three included games were outstanding and praised their arcade-perfect recreations, though they felt the collection should have included more games and historical info, as other retro compilations of the time did. They gave it a 6.5 out of 10. Sega Saturn Magazine gave it a 91%, likewise praising the three included games and the quality of the conversions. Though they criticized that After Burner and Space Harrier were somewhat wasted since they had already received excellent ports for
1360-426: The use of unified memory on a console. Conspiracy Entertainment Conspiracy Entertainment (formerly Conspiracy Games ) is an American third-party developer and video game publisher , publishing games from smaller companies that would face difficulties distributing games themselves. The company has also developed a few games of its own. This United States video game corporation or company article
1400-402: The virtual machine is even simpler than the target CPU. Writing the compiler sources entirely in the programming language the compiler is supposed to translate, makes the following approach, better known as compiler bootstrapping , feasible on the target machine: The difficult part of coding the optimization routines is done using the high-level language instead of the assembly language of
1440-505: Was developed by M2, with lead producer Rieko Kodama from Sega. Although Sega said that games from the Sega Saturn and Dreamcast would be made available later on, the series concluded in Japan in August 2020 and concluded elsewhere in the following month without these, although Sega stated their intention to continue re-releasing older titles in other ways. The first Sega Ages volume was
1480-406: Was disallowed from releasing the games individually outside Japan. Instead, nine of the games in the Sega Ages 2500 series would be compiled into the Sega Classics Collection compilation for the PlayStation 2, released in North America by Sega in 2005 and in Europe by Conspiracy Entertainment in 2006. = Released in North America and Europe as part of Sega Classics Collection . Alien Syndrome
1520-399: Was initially developed by 3D Ages, a collaborative effort between Sega and D3 Publisher , but Sega would soon develop the games in-house following the departure of D3 Publisher from the project. The first Sega Ages series was released in 1996 for the Sega Saturn in Japan and concluded in 1998. Although the majority of the titles in this series remained exclusive to Japan, three games from
1560-399: Was released for the PlayStation 2 in 2003 and concluding in 2008, known as the Sega Ages 2500 series - this title comes from the ¥2500 price point the game had. The series was created from Sega's interest in the success of D3 Publisher 's Simple budget-title video game series, which features low-budget games at a low price point. This interest would lead to Sega and D3 Publisher forming
1600-539: Was removed from the European release to lower the game's rating. The third series was released for the Xbox 360 that was both introduced and concluded in 2012. This series consisted of releases from the Sega Vintage Collection series, originally released in North America and Europe, from 2007 to 2009, as well as re-releases of games from the Sega Ages 2500 series - the latter games were only released on
#96903