The vast majority of this term was spent in a lab in the basement of the physics building. I now present to you a tour of evil things in pictures. Continue, if you dare. . .

This is the torture chamber itself, a room only accessible to those with the combination to the computerized padlock on the door (which is really pretty sweet).

This is the setup we used for the not so evil class, which was taught by the person who could actually teach. The objective was to control the speed and direction of rotation of the stepper motor (on the far left) using the joystick (far right). The microcontroller (on the big thing next to the joystick) was to coordinate these activities, as well as publish the joystick position and motor position to a website it hosts. Those flat boards with wires sticking out are wire-wrap boards. They look neat on the top, but the underside is an absolute mess of wires. In putting together the circuits on the boards we used the following really cool-looking tool.

Ultimately, the only thing we could get to work was displaying the joystick position on a website. Our instructor, being The World's Nicest Marker, gave us 26 out of 30 for this failure.

The picture above shows the development setup for the truly evil class (note my very cute circuit diagram). We had to program this board in assembly language, which is right above the level of ones and zeroes. The final project for this class was to create an electronic slot machine game (a VLT type thingy) based around some kind of random number generator. My final code was 65 pages long ( most of it comments). The next series of pictures shows the functioning of the game. I apologize for the low quality, but I hadn't yet figured out how to turn off the flash on my camera.

The LEDs on the side of the board light up when the three symbol reels are "spinning" (the small dark spots in the lower left-hand corner of the LCD). This happens when the player pushes the button. If you get three-of-a-kind then you win points and a LED sequence lights up and does a little dance (one for every type of win).

You can't read this but it says total games won, and gives the number. Because the player won the LEDs are lit up.

This says total points won along with the number of points.

This says total games played along with the number of games.

This screen displays the win/play ratio as a percentage. This was extremely hard because no one variable could store a number higher then 255, and no decimal numbers were allowed.

After playing the user must wait three seconds before playing again. Thus, this screen asks the player to please wait 3 seconds.

The player could only play a maximum of 255 games (same problem as before). The solution most of us used was to reset the game after this point and display a message about problem gambling. Here's the
Saskatchewan gambling hotline,
conveniently written on the blackboard by one of my classmates. This concludes my tour of evil things I never want to do again.