News for hackers. Stuff that matters.
Re:Fergulator - NES emulator, written in Go by pcwalton on Tuesday April 16, 2013 @01:53PM (#5559648)
Ew, my audio code. :( I hacked the SDL audio bindings together with no regard to proper Rust idioms; hence the unsafe everywhere. The Go code reads far better.

The disassembler is nicer though—it demonstrates macros and traits well. The macros and AddressingMode trait help avoid duplicating the instruction decode logic between the CPU interpreter and disassembler, with no overhead at runtime.

Re:Fergulator - NES emulator, written in Go by ferg on Tuesday April 16, 2013 @02:22PM (#5559835)
The audio bindings are due to the excellent Go-SDL package. Nevermind my own fork, that was just to remove some unneeded stuff to fix compilation on OSX.
Re:Fergulator - NES emulator, written in Go by voidlogic on Tuesday April 16, 2013 @01:36PM (#5559536)
It is interesting to read and compare both, but I would avoid a simple LOC comparison as the Go versions have a lot of extra lines (newlines, unneeded selects, redundant case statements) that could easily be eliminated.
Re:Fergulator - NES emulator, written in Go by Evbn on Tuesday April 16, 2013 @02:18PM (#5559808)
What is the difference between sigle-case select vs just reading from the channel?
Re:Fergulator - NES emulator, written in Go by ferg on Tuesday April 16, 2013 @02:21PM (#5559828)
Nothing, just a remnant from aggressive debugging. I had a default clause in there at some point probably.