how to draw saturn 3d
Sega Saturn Architecture
A applied analysis by Rodrigo Copetti
If you lot utilise accessibility tools, an eBook or legacy browsers, switch to the 'classic' edition.
Supporting imagery
- Model
- Motherboard
- Diagram
A quick introduction
Welcome to the 3D era! Well… sorta. Sega enjoyed quite a success with the Megadrive and then there's no reason to force developers to write 3D games right now.
Just in case developers want the actress dimension, Sega adapted some bits of the hardware to enable polygon cartoon too. Hopefully, the result didn't get out of manus!
CPU
Simply like its close competitors drowned with options during the RISC fever, Sega had to go through all the conundrums of choosing a vendor that could bring upwards the adjacent generation of games (including those with '3D' capabilities). In the stop, the company chose a fresh CPU whose creator was desperately looking for an adopter, the Hitachi SuperH or 'SH'.
Hitachi'south new creation implemented modern arts such as a RISC instruction set and a pipelined information-path, however, Sega wasn't satisfied by the final product, peculiarly due to the small xvi-bit multiplier. Thus, Hitachi synthesised a second revision with a larger multiplier unit of measurement and other requirements on Sega's checklist, leading to a new CPU chosen SH-ii.
Even so, Sega couldn't stand still later on hearing what choice of CPU its competitors went for. So, they asked Hitachi to step up the clock frequency of the SH-2 - an impossible task once the chip is already out for manufacturing. Luckily, Hitachi had some other trick upwards in their sleeve, multiprocessing. During the research stage of the SH, the team added minimal circuitry to allow the SH to work with other SHs within the same system at the same fourth dimension. Upon hearing that, Sega decided on a ii-bit configuration for the Sega Saturn. And the rest is history.
The final production
Having explained the origins, allow'south accept a wait at the shipped product.
This console has not one but two Hitachi SH-2 CPUs running at ~28.63 MHz each. While both physically identical, they are placed in a chief-slave state, where the start one may transport commands to the second one. This tin can reach some caste of parallelism, albeit both sharing the same external bus (which can lead to congestion).
These processors are function of the Hitachi SH7600 brand, a series designed for embedded systems featuring:
- SuperH ISA: A special 32-bit RISC educational activity set where instructions are 16-fleck long. Not only does this design reduce the size of the programs, but since the CPU fetches instructions in 32-bit batches, two instructions can be retrieved in one bicycle.
- The speciality of compressing instructions to take out half the size was carried on by ARM with Thumb.
- Five-phase pipeline: Execution of instructions is divided into five steps or stages. The CPU will queue up to five instructions where each ane is allocated in 1 phase. This allows taking advantage of all the CPU's resources without idling while also incrementing the number of instructions executed per unit of fourth dimension.
- One multiplication unit of measurement: Speeds upwardly multiplication operations with 64-bit/32-bit integers.
- 32-bit data omnibus: The external bus is shared across the two CPUs.
- iv KB cache: Stores a small number of instructions and information previously fetched from memory to speed up future reads.
The specific CPU model selected for this console, the 'SH7604' or just 'SH-2', comprise the following additions:
- One partitioning unit: Speeds upwardly partition operations with 64-bit/32-bit integers.
- Internal DMA controller: Transfers information from retentiveness independently (without the intervention of the CPU).
Please not that having two CPUs doesn't mean that games will work twice equally fast! In practice, withal, this requires very complex programming to efficiently manage CPUs that share the aforementioned bus. Enshroud also plays a critical part for this occasion.
A divided choice of memory
The Sega Saturn contains a total of 2 MB of RAM for general purpose usage called Work RAM (WRAM). Now, these ii megs are split betwixt two very dissimilar blocks:
- The first 1 provides 1 MB of SDRAM and due to its fast access rates, this block is also called 'WRAM-H'.
- The other block contains the other megabyte, but it's named 'WRAM-L' since it uses DRAM instead, resulting in lower rates.
Some other processor
If the two SH-2 CPUs weren't enough, the console contains an additional coprocessor, the Saturn Control Unit or 'SCU' which is composed of two modules:
- A DMA controller: Arbitrates access to WRAM beyond the 3 principal buses without the intervention of the CPUs.
- A DSP: Used as a fixed-point 'geometry unit'. Compared to the SH-two, information technology does matrix/vectors calculations such equally 3D transformations and lighting faster. However, it runs at half-speed and its instruction gear up is more complex. Moreover, information technology relies on the SH-2's WRAM to fetch and shop data (using the DMA).
On the brilliant side, the SCU comes with 32 KB of SRAM for local utilize. On the bad side, the SCU can't access WRAM-L.
Graphics
Since the Saturn is the first '3D console' reviewed for this serial, let us first go over the key pattern changes that made way to the new generation of 3D graphics:
- GPU at present relies on a frame-buffer: Graphics are no longer required to be rendered on-the-fly. Instead, the GPU reserves a portion of VRAM to draw a bitmap with all the computed geometry requested by the CPU, and then a video encoder picks upwardly that region and outputs information technology through the video bespeak.
- Consequently, having this reserved 'working space' allows the GPU to continue manipulating the bitmap even later finishing rendering the scene, so the CPU may now offload some exhaustive tasks such equally lighting and anti-aliasing to the GPU. Here is when the term of graphics pipeline starts to proceeds momentum.
- More than VRAM required: The use of a frame-buffer implies an increment of memory requirements (which is non a big issue whatever more), the amount of RAM required for a frame-buffer is proportional to the dimension of the screen and the number of colours used. As an example, with 600 KB of VRAM we can incorporate a frame-buffer of 640x480 pixels wide with 32k colours per pixel (16 bpp).
- Additionally, programmers are free to organise their VRAM usage: Not every single chip has to exist allocated for the frame-buffer, and then why don't we also utilize information technology to cache textures, render other frame-buffers meantime and add together color lookup tables to speed things up?
- CPU incorporates vector operations: A GPU with 3D capabilities would be incomplete without a proper CPU capable of feeding the required geometry. For that reason, next-gen CPUs include a form of specialised instructions that accelerates vector calculations, these are known as Single teaching multiple information or 'SIMD' extension.
- In the case of the Saturn, vector operations are accelerated by the Saturn Command Unit of measurement (not by the CPUs).
Sega's offering
This console includes two proprietary GPUs, each one serving different purposes while working concurrently. Some may argue that the new GPUs are an evolution of the classic VDP, while others may say it'south a consummate redesign… I think information technology's a chip of both.
Having said that, let's take a look at the two chips.
- VDP1
- VDP2
VDP1
The Video Brandish Processor 1 (VDP1) is a chip that draws sprites with geometric transformations. The results are written onto a frame-buffer, which is in turn streamed to the VDP2 for display.
This chip is programmed by sending 'drawing commands' to it. And so, programmers are provided with 512 KB of defended RAM to store these drawing commands and the required materials (textures/tiles, colour lookup tables, etc).
Consequently, the VDP1 is designed to use quadrilaterals equally primitives, which means that it can only compose models using 4-vertex polygons (sprites). The scrap applies Forward Texture Mapping to connect texture points onto the quadrilateral, in that direction. It doesn't come with any filtering/interpolation technique, then the calculations are bailiwick to aliasing.
The VDP1 also provides this choice of effects:
- Two shading algorithms (Apartment and Gouraud) for lighting.
- Anti-aliasing: In this case, it duplicates pixels to cover gaps during mapping.
- Clipping to discard polygons outside the photographic camera's viewport.
- Transparency to blend ii non-opaque bitmaps.
Ii 256 KB framebuffer chips are available to meantime draw new scenes of the game without breaking the current i beingness displayed. When the secondary buffer is finished being drawn, the VDP1 starts dissemination the latter instead (page-flipping), and the cycle continues.
VDP2
The Video Display Processor two (VDP2) specialises in rendering large (4096×4096 pixels) planes with transformations (rotation, scale and translation) practical on them.
More than importantly, the VDP2'due south renders on-the-wing (without a frame-buffer) like previous tile-based engines. Information technology can display upwards to 16.7 million colours (24-bit). This chip is also responsible for displaying the VDP1's buffer, which can likewise be transformed and/or mixed with the VDP2's layers. The VDP2's 'frame' is composed of up to 4 2D planes and ane 3D plane; or two 3D planes.
This chip relies on tile-maps to etch planes and performs perspective correction for 3D texture mapping, this is a more than sophisticated approach which takes into account the depth value to compute rotations.
Effects bachelor include multi-texturing (mapping more than ane texture per polygon) and shadowing. With the latter, after the VDP2 receives the sprites generated by the VDP1, it can reduce their brightness and blend them with one-half-transparency. Nevertheless, the VDP2 merely receives a sprite stream from the VDP1 (in pace with the CRT beam) so this office tends to be tricky to encode and operate.
This scrap also houses 4 KB of Color RAM (CRAM) which is used to translate VDP1's custom color values (index colours) into 24-bit RGB colours.
Finally, even though the VDP2 is limited to two 3D planes, nothing prevents the CPU from using its VRAM as frame-buffer area to draw additional 2D or 3D graphics in software.
I recommend checking out the sources (at the end of the commodity) if this section got your attention, since the VDPs accept a lot more quirks that are beyond the telescopic of this article.
Defining the problem
As you can run across, the architecture of the graphics sub-arrangement is quite complex, so it's interpreted differently depending on the needs:
As a powerful second panel
The capabilities of the Saturn for cartoon 2D scenes were huge compared to the MegaDrive or SNES, although they weren't the main selling indicate of this console.
- Sprites
- Backgrounds
- Outcome
Sprites
In this case, the VDP1 is tasked with plotting traditional sprites without any 3D distortion applied.
The CPU sets up the VDP1 by writing over its registers and filling its VRAM with commands and tiles. The procedure tin can too be accelerated thanks to the DMA controller.
Backgrounds
The VDP2 is and then instructed to draw groundwork planes. These, along with the sprite layer, are automatically mixed to form a fully coloured scene.
The commanding part is fundamentally like to the VDP1: Programmers got registers and VRAM to set up accordingly.
Some functions from the VDP2 tin be exploited to create more realistic scenery, such as scaling to simulate a heatwave (see '2D airplane 2').
Result
Mega Homo X4 (1997).
Non much mystery hither, the VDP2 is responsible for the last step of sending the processed point to the video encoder.
The VDP2 operates in sync with the CRT beam, meaning that its computations correspond to the pixels that volition be displayed on the next scan line.
Equally a challenging 3D panel
Here's where the Saturn shined and struggled at the same time. While this console had eight processors to accept advantage of, it all came down to:
- Whether programmers would exist able to main about of the console'southward features during a small time frame (call up the panel'due south commercial lifespan would exist over in one case its successor is released, or even announced).
- Whether their game would be shipped at a reasonable date.
For this reason, virtually games concluded up dramatically ranging in quality since each studio came up with their unique solution.
- 3D modelling
- Pixel processing
3D modelling
Notice the primitives used to build the models.
Virtua Fighter Remix (1995).
So far we've been using individual regular quadrilaterals to form sprites and/or groundwork layers. But what if we group multiple irregular primitives and arrange them to form a more complex figure? This is how 3D models come up to fruition.
To put information technology in elementary terms, classic 2nd consoles like the Super Nintendo arranges its graphics (backgrounds and sprites) in quasi-rectangular areas. In some cases, such as with Mode 7, programmers tin supply a rotation matrix to apply transformations over some of these areas. The Saturn, by contrast, allows to define four-point quadrilaterals with arbitrary angles betwixt their edges (Sega calls them 'distorted sprites'). Then, the VDPs' texture mapping capabilities paint the quadrilateral'south area with a texture, the latter is scaled to conform to the polygon'south shape.
In terms of operations needed with a 3D game, the CPUs and SCU are assigned with formulating a 3D world and project information technology in a 2d infinite. Then, both VDPs are commanded to render it, employ effects and finally circulate information technology on Television set.
Pixel processing
Virtua Fighter Remix (1995).
Either VDP can draw this new (projected) 3D space and postage stamp textures and effects. Now, which chip is 'in accuse' varies between each game.
Some prioritised the VDP1 to draw the closest polygons and left the VDP2 to procedure distant scenery, others institute interesting workarounds to job the VDP2 to draw closer polygons (thereby off-loading the amount of geometry fed into the VDP1). The claiming consists in designing an efficient engine that could display impressive graphics while keeping an adequate frame rate.
The new designs
These are some examples of characters that were re-designed for this console, the models are interactive so do try to fiddle with them!
While the Saturn is only able to describe quadrangles, you'll shortly notice that these models showroom ii triangles instead of a single quadrangle in 'Wireframe' way. This is because the format used to encode this model (glTF, an open standard for modern 3D modelling), and then your modernistic device can return information technology, doesn't support quadrangles at the time of this writing. So, I recommend switching to 'Surface' fashion to observe the quads.
In some manner, this tells you how present graphics engineering science tin can struggle to reproduce their ~30-twelvemonth-old predecessors!
An introduction to the visibility problem
When 3D polygons are projected onto a 2D infinite, it is crucial to determine which polygons are visible from the camera's position and which are hidden behind. Otherwise, models are not fatigued correctly, effects similar transparency appear 'broken' and ultimately, hardware resources are wasted. This process is widely known as Visible surface determination or 'VSD' and it's a fundamental problem in the earth of computer graphics. There are multiple papers published that depict algorithms that tackle this at different stages of the graphics pipeline. Some of them give very accurate results, while others trade precision for better performance.
Now, unlike academic/professional equipment, consumer hardware is incredibly limited, so the choice of algorithm is narrowed down to just a few… or none whatsoever.
Project Z-Treme (2019, Homebrew)
The Sega Saturn arroyo is what I consider a 'semi-solved' case. The VDP1 doesn't implement whatever VSD function: Yous either feed the geometry in the correct order or you get a mess. Withal, Sega provided a graphics library called 'SGL' that implemented a solution chosen Z-sort or Painter's algorithm which performs polygon sorting past software.
Essentially, SGL allocates a buffer to sort the polygons based on the distance from the photographic camera (from furthest to nearest), and so, issues the display commands to the VDP1 in that social club.
Ane of the bug of Z-sort with 3D spaces is that its distance value (Z-guild) is approximated, so graphic glitches may even so announced. For this, programmers can skip SGL in favour of implementing their own algorithm.
In later articles, you volition see culling approaches. Some withal rely on software, while others are accelerated by hardware.
The transparency issue
The Sega Saturn is capable of drawing half-transparent graphics, in other words, mixing overlapping layers of colours (blending) to give the illusion we can meet through them. Unfortunately, both VDPs aren't as coordinated equally one would wait, so this effect will non work properly when these layers are found in different VDPs.
Equally a workaround, games can activate the 'mesh' belongings on a texture. With 'meshed' textures, the VDP1 sets the odd X/Y texture coordinates equally 'transparent' (empty). Making it possible to alloy other layers using the transparent pixels. Curiously enough, the mesh would appear blurred if the console was connected to the TV using the composite video signal (which was pretty much the standard back and so, aside from RF) resulting in an accidental but constructive way to achieve half-transparency.
Every bit you lot may suspect, this just wasn't viable for some games, so at the end, these had no option but to ditch one-half-transparency all-together… Although, some studios found ingenious fixes, take a expect at these two cases:
Apart from my terrible gameplay, you'll notice that the background of the first game pops out of nowhere (no half-transparency) whereas the second game non simply accomplished half-transparency merely also a fading effect: Traveller'south Tales found a workaround by changing the 'mix ratio' registers of the VDP2 (used for defining the texture's alpha) combined with switching the lighting levels as the character gets closer.
Audio
The sound subsystem consists of several parts:
- Motorola 68EC000: Controls the other components and interfaces with the master CPUs. It runs a sound driver to operate the neighbor components.
- Saturn Custom Audio Processor (SCSP): Too referred to every bit Yamaha YMF292, it'due south composed of 2 modules:
- A multi-function sound generator: Processes up to 32 channels with PCM samples (up to xvi-bit with 44.ane kHz, a.g.a 'CD quality') or FM channels. In the case of the latter, a number of channels are reserved for operators.
- A DSP: Applies furnishings like repeat, reverb and chorus. The docs also mention 'filters' only I don't know if it means envelope or frequency filter (i.e. low pass, etc).
- 512 KB of RAM: Stores the driver, audio data (i.due east. PCM samples) and it'due south likewise a working area for the DSP.
The opportunity
The new audio capabilities mean that studios can finally record/produce soundtracks in-firm and and so bundle it in the game without having to re-arrange it (every bit it happened with limited sequencers or chips with strict synthesis methods).
This has been possible thanks to a combination of many factors:
- The new storage medium for games (CD-ROM) enables developers to store large soundtracks.
- The audio endpoint receives and mixes PCM data with acceptable quality.
- The audio subsystem provides plenty ability and bandwidth to stream PCM data in some compressed form, and then decode it on-the-fly.
Operating Organization
Once the user powers on the panel, the showtime component that starts upwards is the System Management & Peripheral Control (SMPC), a iv-bit microcontroller that takes care of initialising the neighbouring fries (such as switching on two SH-2s and setting them in a 'chief-slave' configuration).
Afterwards, the primary SH-2's reset vector is set to 0x00000000
, which points to an internal ROM containing the Initial Program Loader (IPL). This program performs the following functions:
- Finish initialising the hardware.
- If there'due south a cartridge inserted and it includes a programme, continue booting from there.
- If the 'Video CD' carte du jour is inserted, kicking information technology.
- If at that place's a disc inserted, cheque that it's genuine.
- While at information technology, information technology displays the splash screen animation.
- If the disc is 18-carat, boot the game.
- If the disc is non genuine or in that location's no disc inserted, run the shell.
Interactive trounce
Alternatively to playing games, the Saturn included a music thespian called 'Multiplayer', from which a salvage manager tin can be opened.
If a Video CD card is inserted, the actor can reproduce MPEG video decoded from the card itself.
No BIOS?
Different the Playstation whose ROM chip bundled a BIOS, which in turn exposed APIs for programmers to utilize. The Saturn'south ROM is frequently chosen 'IPL' pressumably since its main job is to bootstrap the game and run the beat out. However, the latter withal stores some routines (called 'services') to manipulate the hardware (such as the saves data and power control). Information technology even implements a 'semaphore'! (used to synchronise operations that involves multiple processors at the same time). Hence, that function of the ROM is called 'System programme'.
Games
Official Sega Saturn games are loaded from the 2x CD-ROM reader. Its medium, the compact disc (CD), has a capacity of 680 MB. Sega Saturn games follow the ISO9660 for storing data in the CD. Many games store audio tracks next to the information tracks for streaming uncompressed sound while executing the game.
Evolution
At commencement, Sega didn't provide complete software libraries and development tools (in fact, the initial documentation was inaccurate) so the just fashion to achieve good performance was through harsh associates.
Subsequently on, Sega released consummate SDKs, hardware kits and some libraries to ease I/O and graphics operations. Overall, games are written in a mix of C and various assemblies targeting individual components.
I/O
Peripheral direction and real-time clock are besides provided by the aforementioned Organization Management & Peripheral Control (SMPC). The SMPC is controlled with commands sent past the SH-2s.
Expansion methods
This console bundles a considerable number of external connectors and interfaces that only received a handful of uses, at virtually.
- Behind the bulldoze at that place's a cartridge slot officially used for additional storage (save data) or extra RAM. In Nihon and the United Stated, a modem was likewise offered to provide online functionality.
- At the dorsum of the console there'southward a slot for a Video CD Card that performs MPEG decompression for programs/games that support it.
- Finally, there's a mysterious socket at the dorsum of the console chosen Communication Connector. Sega didn't publish whatever documentation for developers, simply after some reverse engineering efforts, people discovered that it's connected to the SCSP's MIDI pins and the two SH-2's serial interface (SCI). In whatever example, Sega released a Floppy bulldoze that relied on this interface.
Anti-Piracy & Homebrew
In response to the easiness of cloning a CD, Saturn added a re-create protection system (along with region locking) to command the distribution of games.
Copy protection on CDs is applied by burning special data (chosen 'arrangement expanse') out of reach from conventional burners, the Saturn refuses to boot the disc as a 'game disc' if the out-of-reach data is not found or it'due south invalid. The disc reader also contains a custom SH-i processor that interfaces with the residuum of the console using obscured protocols.
It's worth mentioning that since Saturn CDs follow the ISO9660 (a standard file system for CD data), PCs tin can read the game disc without problems (simply, of form, they tin can't execute the game unless they utilise an emulator).
Defeat
First of all, the archetype method used for disabling the copy protection consisted in installing a mod-chip that could trick the CD reader when a burned disc is inserted. There was also a 'bandy trick' that consisted in hot-swapping a genuine disc with a burned i just after the protection checks passed… with the risk of damaging the drive!
Later the plough of the century, alternative but more than sophisticated methods used for running unauthorised lawmaking were discovered, for case:
- An exploit in the copy protection mechanism was found and it immune to boot up whatsoever disc game without going through the re-create protection checks. This was packaged in a program called pseudosaturn and required to be executed from a cartridge. Thus, Action Replay cartridges are often re-flashed with pseudosaturn (though the flasher also needs to be bootstrapped somehow, most unremarkably through the swap fox).
- This method is withal being used as of 2022, although a new fork of pseudosaturn named 'Pseudo Saturn Kai' is installed instead.
- Another method was reported in 2022 (well-nigh 20 years later on) past exploiting the fact that the Video CD addition can inject unencrypted code to the CD subsystem (bypassing the CD reader altogether). This finally allowed to load Homebrew without depending on the ageing bulldoze. The Video CD exploit is commercially distributed in a product called 'Satiator' (I'm not sponsored, by the mode).
- Finally, at that place's another commercial culling that replaces the CD reader with an SD or SATA adapter. The Saturn still thinks it's reading from a CD, but the 'CD' is being emulated by the adapter, which is in plough reading from a disc image. These products are chosen Optical Drive Emulators (ODE).
That'due south all folks
Contributing
This article is part of the Architecture of Consoles series. If you found information technology interesting and then delight consider donating. Your contribution will be used to fund the buy of tools and resources that will assist me to improve the quality of existing manufactures and upcoming ones.
A listing of desirable tools and latest acquisitions for this article are tracked in here:
### Acquired tools used - A JAP Saturn console with a controller and a ODE installed (£280, luckily a ane-time investment)
Alternatively, you can assistance out past suggesting changes and/or calculation translations.
Copyright and permissions
This work is licensed under a Artistic Commons Attribution iv.0 International License. You may use information technology for your work at no price, even for commercial purposes. Simply you have to respect the license and reference the commodity properly. Please take a look at the following guidelines and permissions:
Article information and referencing
For any referencing style, you tin use the post-obit information:
- Title of article: Sega Saturn Architecture - A Applied Analysis
- Writer: Rodrigo Copetti
- URL: https://www.copetti.org/writings/consoles/sega-saturn/
- Appointment of publication: August 3, 2019
- Last modified: January 23, 2022
For instance, to use with BibTeX:
@misc { copetti-saturn , url = {https://www.copetti.org/writings/consoles/sega-saturn/} , title = {Sega Saturn Architecture - A Applied Analysis} , author = {{Rodrigo Copetti}} , year = {2019} }
or a IEEE style commendation:
[i]R. Copetti, "Sega Saturn Compages - A Practical Analysis", Copetti.org, 2019. [Online]. Available: https://www.copetti.org/writings/consoles/sega-saturn/. [Accessed: solar day- month- yr].
Special use in multimedia (Youtube, Twitch, etc)
I only ask that you include at to the lowest degree the author'south name, the title of the article and the URL of the commodity, using any way of choice.
Y'all don't have to include all the information in the same place if it'southward not feasible. For instance, if you use the commodity's imagery in a Youtube video, you should state either the writer's proper name or URL of the article at the bottom of the image, and and then include the complete reference in the video description. In other words, for any resource used from this website, permit your viewers know where information technology originates from.
This is a very nice example because the channel shows this website direct and their viewers know where to find it. In fact, I was and then impressed with their content and commentary that I gave them an interview 🙂.
Appreciated additions
If this article has significantly contributed to your work, I would appreciate it if you could dedicate an acknowledgement department, just like I practise with the people and communities that helped me.
This is of class optional and across the requirements of the CC license, merely I remember it's a nice detail that makes us, the random authors on the cyberspace, experience part of something bigger.
Tertiary-party publishing
If y'all are interested in publishing this commodity on a third-party website, please get in bear upon.
If you have translated an article and wish to publish information technology on a third-party website, I tend to be open near it, but please contact me start.
Changelog
It's e'er nice to go on a record of changes.
### 2022-01-26 - Added CPU history - Added Operating System section - Expanded Anti piracy section - Expanded Graphics section ### 2021-05-04 - Corrected info almost VDPs pipeline and audio channels, thanks @fafling, @XL2 and @TrekkiesUnite118 from SegaXtreme - Improved sources format - Expanded audio section - Updated motherboard and diagram - Added mention of the Communication Connector ### 2020-04-ten - New sub-section explaining the visibility problem ### 2020-04-08 - New memory section, thanks /u/EmeraldNovaGames. - Added more content to the CPU section, cheers Ponut64 from Sega Xtreme. ### 2020-04-07 - Small-scale corrections, thanks /r/SegaSaturn. ### 2020-02-18 - Improved some explanations. ### 2019-10-thirty - Added 3d models. ### 2019-09-17 - Improve wording. ### 2019-09-17 - Added a quick introduction. ### 2019-08-27 - Corrected some explanations. ### 2019-08-09 - Improved wording. ### 2019-08-03 - Ready for publication.
Source: https://www.copetti.org/writings/consoles/sega-saturn/
0 Response to "how to draw saturn 3d"
Post a Comment