The PS2’s backwards compatibility from the engineer who built it (2020)
freelansations.medium.com
freelansations.medium.com
Inside the Genesis they had the hardware for the Master System, which included the original Z80, the original sound chip. The Genesis graphics chip was evolved from the Master System and could work in Master System mode. You needed a cartridge adapater.
The other surprising thing is that you could actually run the Z80 in parallel with your 68000 when running a Genesis game. We used the Z80 as a sound co-processor running MIDI and playing sampled drums without bothering the 68000.
On the PS2 system's PS1 backwards compatibility this pattern is quite similar, not mentioned in the blog posts is that the IOP which acts as the PS2's sound co-processor contains an R3000 like the PS1 and it's underclocked to directly run the PS1 titles.
Apparently on later editions of the PS2 Slim they removed the R3000 based IOP and replaced it with a PowerPC microcontroller! It had to fully emulate the R3000 and the SPU as far as I know to fufill the IOP duties including the PS1 emulation.
I always thought that was a key reason to include a Z80. A dedicated sound processor (often Z80) was a mainstay of arcade games from the mid-80s and onward and SEGA's engineers would surely have been familiar with such a design. It might even have helped when porting arcade games.
The PS2’s Backwards Compatibility from the Engineer Who Built It - https://news.ycombinator.com/item?id=34944067 - Feb 2023 (48 comments)
The PS2’s Backwards Compatibility from the Engineer Who Built It - https://news.ycombinator.com/item?id=22501566 - March 2020 (16 comments)
Note to avoid misunderstanding: reposts of cool articles are totally fine after about a year (this is in the FAQ: https://news.ycombinator.com/newsfaq.html). Lists of related links are just to satisfy extra-curious readers.
Super impressive!
I personally believe that we are in the golden age right now: literally anyone can pickup and make games. Game dev is actually something you can learn on your own and do.
Back in the 90s it was all locked up in licenses, expensive books or a handful of companies.
Now you can open up Unity and make a game in a weekend.
Sure it's nice to just be able to "import antigravity" as one does with massive, convenient, prebaked infrastructure like Unity, but it's never worth the cost, when the cost always seems to be "everything you've got, and a little more next year".
People who grew up making their first games in BASIC didn't really know or care of the implications of using it, which required DOS. It was the ease of picking it up and make something fun quickly.
Unity might not be perfect but allows anyone to put their first "black rectangle" in seconds, on many various platforms without a thought.
When I started, it was OpenGL/DX C++ madness full of magical incantation which would call graphic APIs just because someone said so and without much support for non-English speakers.
Most published commercial games were made by a single 14 to 20 year old in few months.
This isn't really true. Yes, some games were made hastily like that, like E.T. for Atari.
Just one cherry-picked example, The Legend of Zelda for NES was made in about 2 years with 9 people in the credits.
Some popular modern indie games with similar team sizes and development schedules include:
Valheim, which went from full time development in 2018 to early access release in 2021 with a team of two.
Stardew Valley's initial development (not an early access game) took four years with a single developer.
Rimworld took one year for an alpha build, and about 5 more years to full release with 2-3 developers.
Minecraft/Infiniminer took about 2 years to reach a release version, with Notch handing off development to Jeb and Mojang only growing to a larger development team post-Microsoft acquisition.
The sheer amount of games made by under 20s is definitely higher today than back then, and I'd argue the quality of it too.
Time wise we are further away from the PS2 than it was from the Atari 2600.
The move from 2D to 3D was massive. The PS1 and N64 made experimentation (and bad choices) possible. By the time PS2 came around it was all figured out, and we have what we have.
Now I’d say the PS2 games themselves were way better than the PS3 era, even with that jank ;-)
Take Final Fantasy Online, Grand Theft Auto San Andreas, and all of EA Sports as evidence. Those games were best selling for a reason.
https://en.wikipedia.org/wiki/List_of_PlayStation_2_online_g...
Consoles were very subpar.
Even going from original PS2 to slim PS2 some games (eg. Panelist) stopped working because the specs of the DVD drive changed.
And similarly going from original PS1 to PSone resulted in minor changes in GPU behaviour which caused display quirks in some games.
I worry such entry-level positions and on-the-job training will start to disappear (if they haven't already.)
the modern management culture has warped the apprenticeship/mentorship model (which is what's being described).
The management do not want to risk investing in someone junior, lest they become senior and move to a different company. So the strategic thing to do is to hire someone already senior, and not pay the cost of the education/training.
Agreed, but this is a legitimate concern. In fact, it's almost a guarantee in my experience. The vast majority of people, myself included, do not stay at the same company long-term anymore. I mostly blame The company's ridiculous HR policies around salaries and promotions. For this. They have built a system in which if you want a promotion or raise you typically have to leave the company. However, that does not change the reality that most Juniors will not stick around long enough to become seniors.
I don't know what the solution is, but we definitely need one.
I literally just had a conversation with my boss. You are near top of your band so can't do much in terms of raises. To his credit, he at least offered a path to the next level, but honestly.. that promotion should have happened after last year's crazy project.
<< if you want a promotion or raise you typically have to leave the company
And this is mostly what they got, because people respond to incentives. I know my last move was upwards for 30% raise ( yes, I was clearly fairly underpaid ).
<< However, that does not change the reality that most Juniors will not stick around long enough to become seniors.
My first real job kept me for 10 years. It could happen. Still, the tension between management and rank-and-file is real though.
Then you might ask what are managers for. To this I have no answer.
My guess is there isn't really a way to get this done without some violations of freedom, so it probably isn't going to work, but it would be fun to brainstorm on.
Working on some large FOSS project will teach you most of the skills, though maybe don't specialize too much. Some people seem to mostly fix bugs, others design and half-finish stuff before switching to something else, etc. It's best to know the full lifecycle in order to have relevant experience for all situations.
My best advice is start writing code to solve problems in your own life. Basically write apps to solve your own problem. A great example currently on hn is an expense tracker. That sort of stuff is great because you can showcase your front end and back-end skills, along with design and refinement. Then maintain that project for a while to show a history, which demonstrates your skill of maintenance. That sort of thing Will get you hired by me as a junior in a heartbeat.
It's also unlikely to change because it's just one more symptom of how companies are run these days, and that mindset has societal-scale momentum now.
College is about getting the knowledge to perform your field, not the knowledge of every particular procedure one could possibly expect to see. The modern emphasis on internships softens the blow somewhat, but it's a half-hearted replacement and is easily abused in many fields.
> Can I still apply even if my major and job course are not related?
> Please do! Around 40% of our new recruits work in positions that are different from their university majors. Instead of narrowing your options by focusing on your major, please expand your thoughts and ideas to what you want to do at Sony. Pick job courses that excite you and motivate you to take on a challenge.
In the Japanese website they mention that 300 engineers act as in-house instructors.
It's not really a great comparison though in my experience. Typically, a good boot camp graduate will come away with a better ability to build real apps, but has a serious lacking in understanding algorithms, OS fundamentals, and many other things That important for Back-End development, especially.
I'm not sure what the solution is to the junior engineer crisis, but I don't think the solution is boot camps. Those have a great place, but if anything a junior coming from a boot camp is generally even more Junior than a junior coming from a computer science degree.
My hypothesis is that The computer science degree route is what will be most useful for juniors in the future. In a world where AI can do the basic coding and build the apps, I see the qualities in appreciating overall design and architecture, especially with regards to scalability. There could definitely be boot camps that teach that sort of stuff, but I am not aware of any that exists currently.
By contrast, a not insignificant number of graduates of computer science and engineering programs struggle to excel outside of writing code. That is only a small part of the job.
In my two decades in the industry I've used my computer science education maybe twice.
It's nothing that a person can't learn outside of a CS degree of course, but most people won't spend the time to dig into the formal and often abstract principles to really understand how different algorithms perform and how choice of data structure impacts performance. I've reviewed code many times that really should be using a linked list or tree but ends up thrown into a hash because that's basically the only data structure the person knows. Not uncommon is a reply "Premature optimization is the root of all evil" which drives me crazy. It doesn't take much effort to just use the right data structure in the first place if you understand their pros and cons.
Don't diminish people for arriving at software from a different "angle", or doing different things. We're in a highly intellectual field, and the implication that doing "pure CS" is somehow a higher or more valid form of software development is just ridiculous.
In the little Iberian Penisula, you would seldom get a training, and being hired as junior without experience in what folks were already doing, was through connections as it usually happens in more "flexible" cultures.
And better have a degree on thee field, either technical school, or higher education.
Trainings? That is for us to do at home instead of watching TV, lets not diminish company profits, someone has to keep their audis, volvos and bmws for management roles.
It is not only due salaries that so many emigrate.
The 2nd hand expression of this I heard was along the lines of: you should already have a portfolio of projects to show, github with stars and/or significant FOSS contributions.
I read the article and it made me realize how far we moved from that model. Apart from everything else, my own company's training is generic training intended to check the box..