# HG changeset patch # User Steve Losh # Date 1482508508 18000 # Node ID 219d8676e91488d7c05c9e962245e11fb0f77e7c # Parent ce548c40237a9ac5959646e302add8115d18abc3 Publish input diff -r ce548c40237a -r 219d8676e914 content/blog/2016/12/chip8-graphics.markdown --- a/content/blog/2016/12/chip8-graphics.markdown Wed Dec 21 12:36:37 2016 -0500 +++ b/content/blog/2016/12/chip8-graphics.markdown Fri Dec 23 10:55:08 2016 -0500 @@ -382,24 +382,13 @@ memory array in the `chip` struct will be updated properly. But unless we want to look at raw memory, we need some kind of a screen. -### GUI Data Structure - -We'll start off with a fresh package to define the screen: +We'll start off with a fresh package: ```lisp (in-package :chip8.gui.screen) (named-readtables:in-readtable :qtools) ``` -And we'll make a little struct to package up the Qt screen widget and the `chip` -it's going to be displaying: - -```lisp -(defstruct gui - chip - screen) -``` - ### Basic Plan We're going to use OpenGL to draw the actual pixels for our screen. The basic diff -r ce548c40237a -r 219d8676e914 content/blog/2016/12/chip8-input.markdown --- a/content/blog/2016/12/chip8-input.markdown Wed Dec 21 12:36:37 2016 -0500 +++ b/content/blog/2016/12/chip8-input.markdown Fri Dec 23 10:55:08 2016 -0500 @@ -1,8 +1,8 @@ +++ title = "CHIP-8 in Common Lisp: Input" snip = "Adding user interaction." -date = 2016-12-21T14:50:00Z -draft = true +date = 2016-12-23T16:00:00Z +draft = false +++ @@ -199,7 +199,7 @@ ``` Note that even though the constants like `q+:qt.key_clear` end up being numbers, -you still need to surround them with parentheses for qtools' magic name-mangling +you still need to surround them with parentheses for Qtools' magic name-mangling to take effect properly. If you just say `(qtenumcase code (q+:qt.key_clear #x1) ...)` you'll get an error like: @@ -219,7 +219,7 @@ ; caught 1 WARNING condition ``` -The magic name-mangling in qtools bothers me a little, but I'm sure the +The magic name-mangling in Qtools bothers me a little, but I'm sure the alternative would be far more verbose, so I live with it. Anyway, moving on. If you've got a laptop or a tenkeyless keyboard you might