The PS2’s backwards compatibility from the engineer who built it (2020)
113 comments
·February 4, 2025djmips
poke646
> 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.
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.
skywal_l
They were because sega was, at the time, an arcade manufacturer first. The Megadrive is the console version of the system 16 after all.
MonaroVXR
Do you happen to have a source of this? (Copetti?)
memorydial
[flagged]
msephton
Previously:
dang
Thanks! Macroexpanded:
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.
msephton
No worries, as the OP I added the old threads simply for my own curiosity.
null
mouse_
What I wouldn't give to attend that 90's PlayStation R&D internal intro programming course.
Locutus_
The thought someone went from no programming background, taking a company internal course and then writes a GPU emulation layer in the 90's is just absolutely mad.
Super impressive!
memorydial
Right? The golden age of game dev—low-level programming, custom hardware tricks, and figuring out how to squeeze every last drop of performance out of the PlayStation. I’d love to see those internal docs and training materials. Probably a treasure trove of lost optimization techniques!
xandrius
The golden age is always behind us.
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.
mouse_
I think Unity is a bad example. WebASM and frameworks built to cooperate with it, such as wasm-4 and raylib are leading the charge in my opinion. As we move forward, not only do we need to stop building our castles in other peoples' kingdoms, but we need to build leaner, smaller, cleaner, and more hackable. Otherwise we'll keep getting stuck, as we have with Java, and Windows XP, and gmail, and...
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".
Yeask
To me the 8-bit computer era is the golden age.
Most published commercial games were made by a single 14 to 20 year old in few months.
apt-apt-apt-apt
20 years? Feels like not that long ago when I was able to leisurely rock out on the new Guitar Hero with that.
doubled112
Part of me thinks it is because games haven't really changed in those 20 years.
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.
scott_w
I think there’s some rose tinted glasses here. And I say this as someone who loves Final Fantasy X, Devil May Cry, Grand Theft Auto: Vice City. The PS2 was still figuring out 3D cameras and jank was a real issue. I’d say it took to the PS3 era where the console had enough power to truly render 3D worlds and have a controllable camera that worked well, especially in action games.
Now I’d say the PS2 games themselves were way better than the PS3 era, even with that jank ;-)
anthk
No. PC's had Max Payne and proper ports. Before the PS3, the PC did that far before.
maccard
I think this is a bit of a myopic view. There’s a world of difference between the Aron games of 2024 and 2002. We didn’t really nail third person camera controls until Xbox 360/ps3 era, and the multiplayer landscape has changed massively - marvel rivals and hell divers 2 being two great examples of the last 12 months. The indie or AA scene is booming again - that certainly wasn’t true in the ps2 era and early days of steam, something like Balatro being a perfect example again. You’re also forgetting g the vast, vast amounts of absolute shovelware and drivel that came out and was tolerated on those platforms too.
1970-01-01
I think your view is a bit myopic.
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...
anthk
The console view it's the miopic one. Mafia, Max Payne, Kane & Lynch... great on PC.
Consoles were very subpar.
armadsen
This article is from 2020. The PS2 came out almost 25 years ago now.
null
terrycody
So is that emulation software-base, not hardware-base, or half half? If its half half, consider several games won't work, what's the big difference with real PS1 hardwares in terms of gaming experience?
msephton
Originally half-half, then later fully software. I don't know all problematic games but the ones I do know of had some hard coded expectations for the hardware that the emulator didn't fulfill.
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.
null
null
mcflubbins
> Luckily, I got the chance to learn how to program computers thanks to a training program that the company ran. The material was easy for me to grasp and I came away from that training feeling like I could program just about anything. After I was done with that training, I did a lot of odds and ends.
I worry such entry-level positions and on-the-job training will start to disappear (if they haven't already.)
dclowd9901
This upsets me too. I always loved hiring inquisitive, energetic juniors who didn't know shit about software engineering but wanted to learn everything about it. I haven't been allowed to hire a junior in close to a decade.
chii
> hiring inquisitive, energetic juniors who didn't know shit about software engineering but wanted to learn everything about it
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.
ch33zer
This is a problem of their own making: treat your employees well and they won't want to leave. Treat them like cattle you can extract value from and they will.
freedomben
> The management do not want to risk investing in someone junior, lest they become senior and move to a different company.
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.
xanderlewis
At least it’s still preserved in academia.
pjmlp
Never had that experience, and I have seen a lot as I am approaching 50 years old, Software Engineering hiring has always been with an Engineering degree through HR, on my part of the globe.
jamesy0ung
As a Computer Science student, what should I be focusing on in order to get a job in this market?
ahartmetz
IMO: Writing, extending and fixing bugs in nontrivial programs, collaborating with others, reading a lot of documentation of the things you use, discussing programming with other interested people. The scientific part is usually not at the fore in practice and your courses will be plenty for that.
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.
memorydial
Focus on building real projects, contributing to open source, and gaining practical experience. Strong problem-solving skills, knowing system design basics, and some cloud familiarity (AWS/Azure/GCP) help. Networking and referrals matter a lot—try to connect with industry folks on LinkedIn or attend meetups. Most importantly, don’t just grind LeetCode—show you can build and ship things.
dclowd9901
Biggest thing I can advise is stay away from AI. Learn what you're doing, learn how code works, is structured, is written and why. The most successful engineers are the ones who learn the "language" of software engineering. They have some sense of how a program is structured even before looking at a line of code.
_blk
Actual projects to showcase. Open source/Github helps but is not a strict must.
dfedbeef
Edit: paid internships
lukevp
I think we’re a couple years out max from Peak Developer and a lot of the growth / entry level roles will start getting taken over by the experienced devs who can adapt to coordinating a set of AI agents to do the actual coding and testing and DevOps more efficiently, and it’s all downhill from there. So I don’t see an entry level, mess around directly writing code job, to exist in abundance in say 10 years.
suhastech
I can see that happening. However, I also believe that college or some form of structured education will step in to bridge the gap. Historically, education has played a role in transitioning people from knowing little to becoming workforce ready. With AI changing the landscape, the gap will undoubtedly be wider, but education systems may evolve to accommodate that shift. By the looks of it, AI could itself fill that gap.
bilegeek
That's the exact problem though. Companies have been outsourcing training to colleges for decades now, further and further reducing available career paths as mentioned and causing degree inflation, higher education costs for everybody, etc.
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.
mirkodrummer
I don't see this future coming, companies are made and will be made by people, if such level of productivity will be reached it will only increase the demand for more people doing it. Going from assembly to higher level languages didn't shrink the workforce, actually required more developers. Productivity improvements(given i don't believe it will be that much of an improvement) don't necesseraly map to few people doing it
null
sunnybeetroot
I thought the same, but then I came across a post asking what happens when all the seniors retire?
AlotOfReading
What happened to when all the Cobol developers retired? Companies mostly kept trying to hire non-existent seniors at moderately elevated rates and paid consultants until they ran out of money. Very few companies did an about turn and started investing in developer training.
Sakos
I haven't seen any entry level positions or on the job training at any company I've worked at. I've always been jealous of these training programs that Japanese game companies had, where you'd be working alongside future and contemporary greats.
alt227
In the UK this is generally being replaced by schools. Kids start basics of logic early in primary school, and by their teens they are attending lessons in how to build websites with HTML and CSS. In 10 years everybody in the country will have this basic grounding in coding and so workplaces will not need to provide it at all.
memorydial
If companies don’t invest in juniors because they 'might leave,' they’ll just end up with a team of burned-out seniors who eventually leave anyway.
gosub100
thats exactly what they want, then they put on their sad face and tell congress "we just can't find anybody!" and voila, in rolls the H1B drones who work at 25% off.
xandrius
It's not necessary true. Not hiring juniors doesn't imply burning out the employees.
msephton
I wonder if Sony still runs such things...
ramchip
I think so, it's common for large businesses in Japan to rotate employees through departments at the beginning of their career, and to hire people for engineering with a degree in another field. In the English language FAQ for instance: https://www.sony.com/en/SonyInfo/Careers/japan/en/faq/major....
> 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.
null
memorydial
The decline of entry-level roles is worrying. Companies are optimizing for immediate productivity but forgetting that juniors grow into seniors. No training, no pipeline, no future talent...
relistan
Agreed. Boot camps tried to fill the void. Some were great, some were not, like anything. Most of the boot camp grads I worked with were good juniors with real world experience to bring to the table (designers, writers, etc). But, in general, the disdain boot camps were met with by many engineering orgs spoke volumes for how little value people place on junior engineers. If you won’t train people, and you won’t accept graduates of job training programs, it’s hard to see how you can ever have a sustainable pipeline. Many people would seemingly rather spend billions training AI than training junior engineers. (For the record, I don’t view these two options as exclusive)
freedomben
I agree that many engineering orgs did not give boot camps proper chance, but I do think it is important to be realistic regarding them. Generally speaking, Someone coming with a computer science degree is going to be a lot more well-rounded with much more breath and depth then someone coming from a boot camp.
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.
relistan
Many of the best engineers I have worked with don’t have a computer science or engineering degree. The business we’re in is writing software to support the company. Most of that is stuff they don’t teach in computer science: inter-personal communication, project planning, coordinating, gathering requirements, writing. Learning computer science fundamentals helps but is in no way required to get started. This is a trainable job like any other. Many boot camp grads bring a lot of those skills to the table already.
taurknaut
> Generally speaking, Someone coming with a computer science degree is going to be a lot more well-rounded with much more breath and depth then someone coming from a boot camp.
In my two decades in the industry I've used my computer science education maybe twice.
null
pjmlp
As it has always been, at least since I am on the job market, early 1990's.
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.
A4ET8a8uTh0_v2
<< 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.
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..
stockboss
as an employer, it's not about us being unwilling to hire juniors. it's that juniors these days demand too much salary for their position. especially for a small startup like ours, we can't afford to match FAANG company salaries. if juniors want a chance, they should be ready to accept low salaries.
mycall
Every senior developer is still a junior developer depending on the domain at hand. If you want a lateral move into another job, imho it is ok to take a pay cut and become a junior again, e.g. webdev into C++ games. I don't see why people are scared of temporarily taking pay cuts but it has always been the nature of being a dev.
mouse_
I'll work for minimum wage if you're going to offer me the kind of training described in this article
null
userbinator
[flagged]
dehrmann
Is AT keyboard signaling the same as PS/2?
userbinator
Almost the same, but very different from XT/PC.
kevin_thibedeau
Yes.
null
darkwater
[flagged]
memorydial
Probably just knee-jerk downvotes from people who misread the title and assumed you were confused. Honestly, the PS/2 vs PlayStation naming overlap is fair—Sony could’ve picked a more distinct name!
darkwater
I guess you are being ironic.
But downvoting because someone added a clarification well, seems childish
I find it interesting that the Sega Genesis (Mega Drive) also was backwards compatible with the Sega Master System.
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.