Linked by Thom Holwerda on Mon 19th Dec 2016 23:42 UTC
General Development

A while back I decided to try to write a Game Boy emulator in Common Lisp based on this series of articles. I made some good progress but eventually got bogged down because I was trying to learn a bunch of complex new things at once.

[...]

Instead of dragging on, I decided to take a break and try something simpler: a CHIP-8 emulator/interpreter. The CHIP-8 is much simpler than the Game Boy, which made it easier to experiment with the rest of the infrastructure.

In this post and a couple of future ones I'll walk through all of my CHIP-8 emulator implementation.

Order by: Score:
The language of choice
by Kochise on Tue 20th Dec 2016 07:24 UTC
Kochise
Member since:
2006-03-03

I always wondered why Lisp hasn't became *THE* language instead of basic, since it can perform absolutely everything, unlike many more domain specific programming languages.

Reply Score: 2

RE: The language of choice
by mmrezaie on Tue 20th Dec 2016 10:57 UTC in reply to "The language of choice"
mmrezaie Member since:
2006-05-09

because of parentheses!

Reply Score: 2

RE[2]: The language of choice
by Drumhellar on Thu 22nd Dec 2016 19:20 UTC in reply to "RE: The language of choice"
Drumhellar Member since:
2005-07-12

You mean....

parenthetheth?

Reply Score: 2

RE: The language of choice
by ahferroin7 on Tue 20th Dec 2016 13:17 UTC in reply to "The language of choice"
ahferroin7 Member since:
2015-10-30

The same could be argued about almost any general purpose language. What matters is not just what the language can do, but how easy it is to do it. That's part of why Python is so popular, it's powerful and it's insanely easy compared to many other languages.

In the case of Lisp though (and most of it's derivatives), I think the issue most people have is RPN and s-expressions (I understand why some people prefer RPN (it is after all how most human languages are organized when discussing math), but I've never been fond of it myself).

Reply Score: 2

RE[2]: The language of choice
by darknexus on Tue 20th Dec 2016 14:54 UTC in reply to "RE: The language of choice"
darknexus Member since:
2008-07-15

Slight correction: LISP does not use RPN but rather Polish Notation (pn), since the operators prefix their data rather than being postfixes.

Reply Score: 3

RE[2]: The language of choice
by Alfman on Tue 20th Dec 2016 15:32 UTC in reply to "RE: The language of choice"
Alfman Member since:
2011-01-28

ahferroin7,

The same could be argued about almost any general purpose language. What matters is not just what the language can do, but how easy it is to do it. That's part of why Python is so popular, it's powerful and it's insanely easy compared to many other languages.


Generally speaking yes, but there are still exceptions. I opted for python in a recent project and I didn't realize quite how bad it's SMP multithreading support was until I really started using it. There were caveats I didn't expect coming from different languages.

Reply Score: 2

RE: The language of choice
by kwan_e on Tue 20th Dec 2016 17:08 UTC in reply to "The language of choice"
kwan_e Member since:
2007-02-18

I always wondered why Lisp hasn't became *THE* language instead of basic, since it can perform absolutely everything, unlike many more domain specific programming languages.


One reason may be that LISP was heavily fragmented soon after its inception, whereas BASIC at least appeared to be consistent across vendors and versions.

And while LISP can do everything, it's not always done the best way, taking ideology to the extreme. Like Scheme's obsession with call/cc, which I recently learned has had its critics, both as a general language feature and as a target for ideological extremes.

Reply Score: 3

RE[2]: The language of choice
by JLF65 on Wed 21st Dec 2016 19:18 UTC in reply to "RE: The language of choice"
JLF65 Member since:
2005-07-06

Basic was anything BUT consistent across vendors. Everyone had their own custom version, even disagreeing on things as basic (no pun intended) as line numbers or not. The only "consistent" Basic was Microsoft Basic, which was virtually the same on every supported computer, but was buggy as all hell get out. I never used MS Basic if I could help it, preferring to rewrite my program for different Basics rather than try to work around all the MS bugs.

Reply Score: 2

RE: The language of choice
by tylerdurden on Thu 22nd Dec 2016 02:38 UTC in reply to "The language of choice"
tylerdurden Member since:
2009-03-17

I assume you're referring to BASIC being THE language during the 8-bit days.

The answer is pretty simple: LISP required a lot more resources. Also BASIC is imperative and translated, with little overhead, to the programming model of the 8-bit CPUs targeted.

Reply Score: 2

Comment by bile
by bile on Tue 20th Dec 2016 15:47 UTC
bile
Member since:
2005-07-08

I wrote a CHIP-8 emulator for the PC-Engine a few years ago and was amazed that while it's a pretty commonly emulated platform the documentation isn't all that great.

I aggregated a bunch of docs and zines and started writing up a more comprehensive description of it but haven't finished. Perhaps it'd be of use to others.

https://github.com/trapexit/chip-8_documentation

Reply Score: 2