4 ms·
I bet they were writing Vector Unit assembly in Excel. The VLIW design meant that you literally packed 2 assembly instructions together into a 64-bit word. Ea
by corysama 6y ago
I bet they were writing Vector Unit assembly in Excel. The VLIW design meant that you literally packed 2 assembly instructions together into a 64-bit word. Each side had it's own subset of execution units it could utilize and would have it's own separate latency for each operation. So, to keep track of everything going on you pretty much had to write out two columns of code containing your own no-op notation to represent the delay cycles between instructions. That would be much more convenient to do in Excel than in a linear text editor.
- monocasa 6y agoThe N64 RSP is similar. I've been playing with a N64 RSP assembler that'll understand how instructions can dual issue, and give warnings when two instructions on the same line can't dual issue, so I can for sure see myself using excel back in the day to help manage the complexity.
- danbolt 6y agoIs that the bass assembler, or something else? I've been playing around with the default assembler setup in libdragon, but I'd be curious about trying something more intuitive.
- monocasa 6y agoIt's an assembler I'm writing as a Rust proc_macro. Lets you do fun stuff like share constants between Rust running on the main CPU and the RSP, and handles some runtime code generation pretty nicely
- danbolt 6y agoNot to pry too much, but I'd love to learn more about it. Is there a chance you have it on Git(ea/Lab/Hub/etc.) somewhere?
- Threeve303 6y agoHopefully the Vector Unit assembly didn't require more than 16,384 lines of code if they were using Excel 95.
- monocasa 6y agoThe bigger VU only had 16k of of memory so that's not an issue, lol.
- p_l 6y agoThe story I heard was of a very, very heavily macro-based excel sheet that would automatically highlight possible problems including pipeline stalls in one of the VLIW units. Been looking for confirmation or just a screenshot of that monster since :D
- phire 6y agoI found a comment from me speculating on how such a spreadsheet be set-up: https://news.ycombinator.com/item?id=12294472 https://news.ycombinator.com/item?id=12294472 I can't find any evidence of actual spreadsheets. They probably would have been setup by each programmer for their liking and maybe shared between programmers on the private sony sdk message board. Or maybe I have an overactive imagination. But I have heard is that the leaked Playstation 2 SDK from 2005 does contain a windows program called "VUEditor.exe". It's a custom IDE for writing VU assembly and it kind of acts more like a spreadsheet than a text editor, allowing the programmer to shift highlighted columns of instructions up and down. It does show stalls and highlight issues. I couldn't find any screenshots, but one could find the sdk and try it out if they wanted.
- p_l 6y agoInterestingly enough, it could be that said VUEditor embeds Excel. These days it seems forgotten trick, but all of MS Office on Windows provides components that allow you to embed features inside your own programs