The Unofficial Net Yaroze Newsgroup
January 12, 2021, at 11:02 AM (0 comments)
Title: The Unofficial Net Yaroze Newsgroup Author: mgarcia Date: 2021-01-12 11:02 +0100 Tags: Community, Newsgroup Comments: Open
The Unofficial Net Yaroze Newsgroup
- It's stated purpose was-
- "This group is for the discussion of the Sony Yaroze development system."
This single group has been archived and is freely readable and searchable. However, as it wasn't the official Net Yaroze newsgroups, not many Net Yaroze members talked there but a few did including: Rob Swan, Nick Ferguson and Rikki Prince.
It was a place for discussions about development on PlayStation, mostly questions regarding the Net Yaroze, but other "unofficial" development methods were mentioned, comparing their benefits and limitations.
The newsgroup is still there and functional, and anyone today can participate in discussions there, please read the FAQ below.
Everybody is welcome to talk about anything Net Yaroze at alt.games.sony.yaroze.
Frequently Asked Questions
This is the FAQ for the Unofficial Net Yaroze Newsgroup: alt.games.sony.yaroze The FAQ is posted at least twice a month to the newsgroup. http://netyaroze-europe.com/Community/Net-Yaroze-Newsgroup#FAQ
1.0 What is Net Yaroze?
The Net Yaroze was a programmable Playstation (also known as PSOne, PS1 and PSX) made by Sony for hobbyist game developers. It was released in May 1996 in Japan, and March 1997 in SCEE and SCEA regions.
The kit consisted of 2 CD-ROM's, 3 printed manuals, a black PlayStation, two black (digital only) controller pads, a serial to PC link cable and a black access card which looks like a memory card.
Members had exclusive access to an exclusive Sony website and newsgroup server, where they could share and communicate among themselves.
The Official PlayStation Magazine (OPSM) in European and PAL countries typically had Net Yaroze games published on the cover disc.
The Net Yaroze Europe server was officially turned off in June 2009.
1.1 What was the origin of the Net Yaroze?
Although there has been some information release here and there, this is my understanding so far.
The Net Yaroze Software Development Kit (SDK) is based on the Professional SDK libraries, the most interesting part would be the 2D and 3D rendering library which is called Graphics Services library (LIBGS). I believe it to be created early in the PlayStation's history in 1993 and at this time Sony needed PlayStation games very fast for the Japanese launch in late 1994, they had two main concerns regarding adoption from game programmers and artists:
- Console (and micro-computer) games programmers at the time were assembly language experts, and C/C++ were seen as too high level for under-powered silicon chips. To develop they were given detailed chip information, hardware schematics and memory maps and they would code machine instructions that got assembled to binary to run on hardware, however with the complexities of the PlayStation resembling more like a Silicon Graphics workstation then a 16-bit console (or micro-computer), Sony decided to only support the C language. This was a win-win for Sony, they could obfuscate the complexity of the hardware with an "Operating System" (called PSX-OS) which was really a software stack that slowed down the performance, but it also made it a lot easier and faster to develop for. Besides 3D graphics in the early 1990's was relatively primitive, with real time texturing and lighting being the holy grail.
- The other main issue Sony faced was the creative side, in particular the 3D assets, which was cutting edge technology at the time.
Note: Most programmers back then already had a math background.
Sony developed software which would interface between the artist's applications to PlayStation format.
The PlayStation's GPU hardware for the time, I think, was over engineered, supporting a myriad of combinations for a single primitive types, ie triangle or quad, textured or untextured, lit or unlit, flat or Gouraud shaded, single or double sided. The issue then became how does software handle the large range of options from the 3D artist tool to the PlayStation, the solution was the bloated and slow TMD format.
The combination of the two resulted in a high level graphics library that is resource intensive and yet simple and highly productive for simple games. And while not revolutionary, it was executed well enough to quickly develop titles for the Japanese launch, including 3D polygonal based games which look similar to Net Yaroze games, these are: Ridge Racer, TAMA, A-Train, Mahjon Goku Tenjiku, and Crime Crackers.
An early Sony lead R&D engineer was teaching C programming at a local university, to "stimulate the next generation of developers" and by 1996, the professional libraries was so optimized that the Graphic Service libraries and the TMD format was mostly redundant for game development, the idea of combining education and the very high level and out of date SDK became the Net Yaroze, in my opinion anyway.
1.2 What is missing from Net Yaroze SDK?
The Net Yaroze SDK is only a subset of the professional Graphic Services libraries, meaning some features were not included, the most commonly mentioned are, CD-ROM access, the serial and parallel ports and the MultiTap.
The Net Yaroze can not read burnt CD-ROM's, every time the lid is opened and a new CD-ROM is inserted, the PlayStation automatically checks it's authenticity (the region) and if it fails, nothing can be read. It can access data from any official Sony CD-ROM however. So it can read the Net Yaroze boot CD-ROM which does have a few game assets already on it.
It can not play the Sony proprietary videos, but it can play audio tracks from any audio CD.
Also removed are the 3D lines and double sided polygonal primitives. I don't know the real reasoning for this, but I would assume that these features would have disadvantage the professional kit, especially for budget title publishers, which could still have been using the newer and optimized versions.
The most notable missing feature is the low level graphics and audio access. There is no way to create a simple primitive and send it to the GPU. The same with audio, only midi samples and CD-ROM audio can be played, no audio can be sent directly to the sound buffer.
1.3 Why program the PlayStation current year?
The original PlayStation is a historic console for many reasons, but for me, it's the mixing of the old and new hardware, it's old enough to have retro Colour Look Up Tables (CLUT) for 4 and 8 bit images. And yet modern enough to have a 3D GPU, 24 voice sound and dual analog pads.
1.4 Why specifically the Net Yaroze?
Firstly, the aim of Net Yaroze was never to make 'commercial' quality games, it was always marketed as a hobbyist platform. The reality is it takes a team of people, each with specialized skills to make anything worth selling commercially. 20+ years later, this hasn't changed, only the tools have gotten better and easier to use and this is the same philosophy of Net Yaroze.
Using "Professional" tools will not make you a professional. And using "Hobbyist" tools with a team of professionals, will not make them amateurs.
In fact as mentioned above, commercial games have been made with the same Graphic Services library and 3D TMD format that the Net Yaroze uses, and it was also recommended for prototyping ideas.
Lastly, it's a very small API, making it easier to learn, making it one of the easiest "retro" consoles to program for fun!
1.5 What are the benefits of programming Net Yaroze over other libraries?
The Net Yaroze was built for ease of use and rapid development, while it's not a complete game engine, it's seen more as a framework, with the missing parts being more related to specific games.
The Net Yaroze SDK provides a lot of useful video game subsystems, including:
- 2D line and rectangles for a user interface and cells for a tile maps.
- Simple 3D asset pipeline with simple 3D Object loading and rendering, and a hierarchical coordinate system.
- Simple BGM and SFX systems
- 3D math functions
- Simplified OS API: files, memory card and controller handling
What's not in the SDK:
- Collision detection.
- Game AI, events and scripting.
- Scene or level manager and editor.
1.6 What are the benefits of programming with Net Yaroze over other hardware?
There is a lot of PlayStation development hardware options, ranging from professional to "Do It Yourself" devices.
Net Yaroze development was originally done over a serial interface using a terminal program called Siocons. It sent game assets and executable data via a script file (typically called auto), it would run it while outputting any PrintF (Print Format) strings to the terminal. The serial interface also gives you the ability to step-debug using GDB, a console based debugger which is still popular today.
Also, the auto file can be turned into a single native PlayStation executable (via YarExe) and this can be run in an emulator also with PrintF output.
While developing and testing using emulation is a lot faster, it's never 100% accurate, so hardware testing is crucial, and of all the hardware options, the serial interface is still the easiest and the cheapest!
2.0 Why a newsgroup?
2.1 Why use this newsgroup when there are other resources?
The PlayStation has an active community of hobbyist programmers and there are many sites and servers to accommodate them.
However most PlayStation programming enthusiasts are very much into their SDK (Software Development Kit) of choice, this generally means the professional SDK's or a free open-source SDK. While there is a lot of overlap, the Net Yaroze SDK is often labeled as vastly inferior because of it's high CPU load and bloated RAM wastage, which as explained above, are very legitimate and correct concerns.
So while most of the PlayStation development community regard Net Yaroze as a dead SDK, it still has merit to learn and program and should not be discouraged, unfortunately that's the common attitude and this is the main reason to have a Net Yaroze focused place to talk and be kept up to date.
2.2 Why use newsgroups in current year?
Newsgroups today are mostly used for binary file sharing (similar to torrents) and a lot of spam!
However there still many reasons why newsgroup text messaging is still used to day as group communications, listed below is just a few.
2.2.1 Historically significant.
Apart from the above mentioned activity from legacy Net Yaroze members, it also captured what the views and issues of non members were regarding hobbyist development on the PlayStation at the time.
2.2.1 A Protocol. Not a Platform.
Usenet is based on a decentralized Network News Transfer Protocol for the transmission of data (mostly text messages) from server to server around the world. It's not a platform so it's not centrally controlled by one organization or person.
2.2.2 Permanent - mirrored and archived.
Each Usenet server mirrors all messages but they have their own limits as to how long they store all messages. This can range from a few months to many decades (like google groups). Subsequently, all new messages are also archived.
Note: Groups created using Google Groups are not Usenet groups.
2.2.3 Antisocial media.
Usenet groups don't have the same problems modern "social media" platforms have, largely due to it's decentralized protocol.
No censorship, No cancelling.
There is no group administrator, instead the server enforces their own rules and regulations as to what can be received and sent, to and from their server. Generally speaking, servers are very liberal when it comes to free expression with rules focusing on removing illegal and hostile activities. Servers tend to be politically agnostic and do not police language for politeness or political correctness.
Because of the decentralized nature, public groups are not connected to any one server, so not all groups will be available on all servers. But servers do have their own private groups for server user support.
Groups typically maintain their own rules based on a democratic process and is outlined in their FAQ (Frequently Asked Question). It's maintained by an agreed upon person or organization and it will outline the group's purpose and what's exceptable and what is not. The actual "admin role" is left to each user and their software client to enforce what they don't want to see, ie the blocking of users or words ( a feature called kill file, see below).
Not addiction forming.
Usenet can be explained as sending an email to a group or in another message on a public forum. Within each group are message threads in a hierarchy, each thread discussing it's certain topic, posts are generally focused on that thread. Compared to "social" platforms which give the user a "feed" interface, where all messages are mixed, typically into ordered on sent date and time, which can be very confusing. Usenet readers can also order each group in received time.
Usenet communication tends to be slow natured and casual, because of the lower number of users now and they are also generally on a computer client instead of a mobile one (but they do exist).
Not a popularity contest.
Usenet encourages a common or like minded group behavior, instead of a personal one. This means the group is the most important focus, not the individual. There are no user "social points" or ratings or follows or likes, which the social media platforms gamify to encourage addiction, drama and narcissism. Individuals are ranked only on good will from other members in the community, based on the quality and frequency of their interactions, and so this is similar to the real world.
Usenet also doesn't accommodate very well to the amplification of single messages. Re-posts are commonly seen as spam, so any 'drama' is quarantined to individual threads. Typically accepted re-posted messages are purposeful to the group, like regular or scheduled messages like FAQ or other updates.
Lastly, and uncommonly, the lack of activity is commonly seen as a negative thing within a community, this is not true. A slower community means there's less people, this means people are more likely to know each other more intimately then participating in a very large community. And more importantly, a less busy community is less distracting one, and you'll be able to focus without the need to look at a browser or mobile phone.
2.3 Filters - The Kill file.
The Kill file is the historic name for the filtering option in news readers, it's commonly based on keywords or usernames to filter out unwanted messages such as advertisement, spam or harassment. Not all clients have this feature and for anyone thinking about using newsgroups seriously, good filtering is a must!
2.4 The obligatory warning.
Having read the above, you could think that it's the crazy wild wild west on the old internet, but that has not been my experience. Most people are welcoming to see a new, like minded user appear in their group. However each group has it's own way of doing things and I would suggest reading through and/or searching their group to see how new users are initiated and are expected to behave, this is similar to any real world community, this was termed netiquette (Newsgroup Etiquette), so your first post should typically be an introduction and ask for information (ie the group FAQ) if you are unsure.
However, as explained above, do not expect any moderation in the group and use a good client to help you filter out spam.
3.0 Newsgroup participation.
3.1 Setting up.
There are two main ways to access, send and receive messages, both have their good and bad points.
3.1.1 The easy way - Gmail.
This is the simplest option, but the Google Groups web based client is very limited when it comes to features such as kill file (filtering options).
I would recommend creating a new Gmail account to access Google Group. Gmail has a great email spam filter, but to be safe I do not recommend using a good email as it could be spammed (more), google groups obfuscates all emails on the web client, but the emails are exposed to the Usenet clients.
Google's web based client automatically removes offensive posts, similar to Google's other services like Gmail, YouTube etc. Newsgroup messages can be redirected to your inbox, but Gmail can not reply to Usenet messages.
As mentioned above, groups created using Google Groups are not Usenet groups.
3.1.2 The UseNet way.
If you have have ever wanted to stop using social media, the full newsgroups experience could be worth checking out. There are many retro related newsgroups with varying activity. For the full experience, you'll need to setup Usenet access and a newsreader client.
Some servers don't require users to create an account, but these are very limited, ie only sending 40 messages a day like aioe.org. User's typically create an account on a server, free servers also have limitations (text messages only - no binary data), paid servers have better limitations.
Next, install a Usenet reader, I would recommend pan firstly, also older web browsers that have an email client, also tend to have newsgroup and RSS readers also. SeaMonkey which is a rebranding of the old Netscape suite. It includes a web browser, RSS/Usenet/Email client, as well as a very primitive HTML editor called Composer. The older version of Opera is also similar. But these aren't great at any of those things, so I can't really recommend them. There is a large list of newsgroup readers on wikipedia.
3.3 Be cool.
I don't like telling people what and how to do things, so this is a guide on how to be "cool" instead! And it would be really cool if everyone has read (or listened) the whole FAQ page.
I would like to see people's first post be an introduction of yourself, maybe telling everyone how you found the newsgroup and your interest in Net Yaroze, etc. But if you're too excited and need to talk about something specifically, then that's okay too :)
3.2.1 Politeness and language.
I tend not to swear often, and when I do, it's around people that I know and it's not to insult or offend them. I think that's fine, but swearing, insulting or being rude directly towards someone, that is not cool. And if you don't see that and apologize then I would suggest user filtering is in order.
3.2.2 Do I have to use my real name?
No, but you will find that people take real people more seriously then an alias.
I mostly used my real name online all my life and nothing bad has happened to me. In fact I regret not using my real name where I didn't. I'm not often the most agreeable person, but I try to be as real and balanced as possible. But the internet was a different thing back then and the world wasn't so hyperbolic like it is now, so if you are under 30, probably a good idea not to use your real name anywhere!
3.2 What else to talk about?
I would like to keep the Unofficial Net Yaroze Newsgroup very much on focus, and that's specifically talking about Net Yaroze exclusively. However I get that being in a community, there's a lot that comes up, unfortunately there are no sub groups and there is only one place to talk and I wouldn't like it full of off topic discussions. And besides there are a lot of newsgroups to participate other then the Net Yaroze one.
I'm happy for off topic threads to stay in their thread, but I will filter when too much off topic messages start hitting the group.
3.2.1 Can we talk about anything PlayStation related?
If it's related to the original PlayStation then sure, I guess, but the focus is Net Yaroze, which is more about programming and gamedev then PlayStation games.
3.2.3 I'm making a XYZ engine game with PS1 style shaders can I ....?
Firstly, there are dedicated newsgroups related to graphics programming, which is where people talk about shader programming.
I wouldn't want to see posts about XYZ engines and shader programming, so please don't post anything related to XYZ engines. This isn't "gatekeeping", shader programming is nothing like coding retro hardware, it's night and day. And there's obviously more people interested in shader programming and retro esthetics then there are people into Net Yaroze programming, and then the group becomes pointless.
3.2.2 Can we post things that are off topic?
I get that some people need to communicate with other people that they meet in only one place. And that fine, but please don't make it a regular thing adn keep it to a single thread or just exchange emails.
More to come in this FAQ!
1: See the creation control file.
Comments are open.