CodeMonkey666
Members-
Content Count
203 -
Joined
-
Last visited
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by CodeMonkey666
-
Ninja Gaiden upgrade 1.1 coming soon!!!
CodeMonkey666 replied to Adrian M's topic in Modern Console Discussion
Yeah, well said Clock. Only thing I don't like about this is I don't yet have access to a broadband connection so I cannot get XBOX Live. I will have a broadband/ethernet connection starting this September back in the college dorms, that will last until the end of May 2005, so I guess I could get Live for awhile then if I can afford it and use the trial version for awhile. That way, I could at least download some extra content for my Crimson Skies and Ninja Gaiden game copies, plus play with other players. Hey, one question on XBOX Live....What happens when your hard drive runs out of space??? Do you have to give up the stuff you've downloaded in order to get more game data (cuz some of us liek to keep our games, extra levels included); or can you transfer the downloaded XBOX Live game data from your XBOX to a PC?? -
WHERE CAN I FIND A PAC-MAN ROM!?!
CodeMonkey666 replied to CodeMonkey666's topic in Classic Console Discussion
To me, any game before Playstation and N64 hit the scene is "classic." I mean, PSX games like Tomb Raider 2 and such are classic gmes as well, but they still fit under the title "Modern Gaming" I think right now. Anyways, in this Pacman for SNES, it is a pizza/moth going around the maze eating dots, and outmaneuvering the monsters that are trying to kill it. That's Pac-Man to me, plus it IS Pac-Man, just not the original version. However, I read that the Pac-Man version ported over to the Atari was a lousy port in comparison to the arcade version. And I couldn't find a version for the NES. I will check the version Mock provided. Also, from playing Pac-Man so much today, every time I try to read a book now, I keep imagining that stupid mouth zooming across the sentences, eating them up at the rate I read them. NEAT FACT (maybe or maybe not well-known): Pac-Man, called Puck-Man in Japan, had its spelling changed because the company was afraid gamers would change the "P" into an "F" ) -
WHERE CAN I FIND A PAC-MAN ROM!?!
CodeMonkey666 replied to CodeMonkey666's topic in Classic Console Discussion
Thanks; I managed to (finally!) find a Pacman rom for Super Nintendo. However, thanx for all the advice. As for the emulation forum, this site has so many forums that sometimes you forget that there are forums devoted specifically for your questions. Also, I kinda think "Classic Gaming" and "Emulation" fit into pretty much the same category; lots of overlap, with subtle differences. Like emulation spreads into modern gaming as well. But it is a big part of classic gaming. And Pac Man is a classic game. -
Question on assembling first 2600 program
CodeMonkey666 replied to CodeMonkey666's topic in 2600 Programming For Newbies
I did do that. I copied the ROM file over into z26 and tried to use it there, but it didn't work. I'll get some game roms though and try those; maybe the emulator itself is screwy for some reason. -
Okay, this is probably a rather stupid sounding post, but I've been searching all through goole, and I can't find any pac-man roms. The few sites I did that had 'em were those phony sites that make you vote and then you click to vote and end up doing the internet equivalent of going from New York to Hong Kong (you're like, "How in the %^&^$% did I end up here?!"). So if anyone knows of a site with a pac man rom, for NES, SNES, Genesis, MAME, whatever, I would greatly appreciate it.
-
Question on assembling first 2600 program
CodeMonkey666 replied to CodeMonkey666's topic in 2600 Programming For Newbies
http://www.atariage.com/2600/programming/2...in/clock003.asm ---Oh and here is the link to the source code in case it came out fuzzy in the last post--- -
Question on assembling first 2600 program
CodeMonkey666 replied to CodeMonkey666's topic in 2600 Programming For Newbies
The digital clock program was written by Chris Cracknell. What I did is I went to the site with it and copied all the code from top to bottom. I then went and pasted it in Notepad and then saved it as "clock003.asm." I then went and through the command prompt, I used the DASM assembler to assemble the program. It did so and a 4 KB file named "clock.bin" appeared in the DOS folder, since that is where the DASM assembler itself is located and where I had the "clock003.asm" file saved. I then right-clicked on the clock.bin file, clicked copy, then I went into the Z26 folder, clicked paste, and the clock.bin file appeared in that folder as well. I then clicked and dragged the clock.bin file over the z26 exe file. The screen went all dark. I waited and waited but then when I clicked ctr-alt-del to bring up the Windows Task Manager, it said that z26 was "Not Responding" and so I shut it down. So I dunno what is wrong; if I am at fault or the code is. For emulators like SNES9x or ZSNES or Nestopia, I always just open/start up the emulator and then I open the game file from within the emulator and start it up; I tried that with z26 but it didn't work. I read somewhere where it said about dragging game files over the z26 exe to make them work (I think), so that's why I tried that. Here is the code: ;--------------------------------------------------------------------------- ; * Subject: [stella] 2600 Digital Clock (source code) ; * From: [email protected] ; * Date: Sun, 5 Oct 1997 14:31:50 -0400 (EDT) ;--------------------------------------------------------------------------- ; Here's the source code for that final digital clock programme. ; Feel free to employ and distribute this code however you may wish. ; Both the source code and the binary are public domain. ; ----------------------------------------------------------------------------- processor 6502 VSYNC = $00 VBLANK = $01 WSYNC = $02 NUSIZ0 = $04 NUSIZ1 = $05 COLUPF = $08 COLUBK = $09 PF0 = $0D PF1 = $0E PF2 = $0F SWCHA = $280 INTIM = $284 TIM64T = $296 CTRLPF = $0A COLUP0 = $06 COLUP1 = $07 GP0 = $1B GP1 = $1C HMOVE = $2a RESP0 = $10 RESP1 = $11 ;RAM TEMP = $80 ;2 bytes for temporary data SECS = $82 ;seconds counter MINS = $83 ;minutes counter HOURS = $84 ;hours counter JOYDEL = $85 ;joystick delay variable JOY1ST = $86 ;joystick first move variable SPRITEA = $87 ;8 bytes for the first sprite SPRITEB = $8F ;8 bytes for the second sprite RMINS = $97 ;real minutes RHOURS = $98 ;real hours FRAMES = $99 ;frames counter org $F000 start SEI CLD LDX #$FF TXS LDA #$00 zero STA $00,X ;looks familiar, right? DEX ;typical zeroing routine BNE zero lda #$01 ;now we set up all our variables sta CTRLPF lda #$0C ;set our starting time at 12:00 sta HOURS ;just like a VCR, eh? Except it doesn't blink lda #$3C ;00 minutes sta MINS lda #$ca ;nice pretty green for our sprites sta COLUP0 sta COLUP1 lda #$07 ;make them good and fat sta NUSIZ0 sta NUSIZ1 lda #$3C ;initialize the frame and seconds counters sta FRAMES sta SECS main JSR vertb ;main loop JSR time JSR draw JSR clear JMP main vertb LDX #$00 ;vertical blank, We all know what this is about LDA #$02 STA WSYNC STA WSYNC STA WSYNC STA VSYNC STA WSYNC STA WSYNC LDA #$2C STA TIM64T LDA #$00 STA WSYNC STA VSYNC RTS time ldy #06 ;just load Y ahead of time for #of sprite lines lda #$3C ;60 sec sbc MINS ;subtract the clock minutes from 60 to get the sta RMINS ;real minutes since clock counts down cmp #$00 ;see if it's 00 minutes beq min0 cmp #$32 ;see if it's more than 50 minutes bpl min5 cmp #$28 ;see if it's more than 40 minutes bpl min4 cmp #$1E ;see if it's more than 30 minutes bpl min3 cmp #$14 ;see if it's more than 20 minutes bpl min2 cmp #$0A ;see if it's more than 10 minutes bpl min1 min0 lda zeros,y ;minutes must be less than 10 so load 00 sprite and #$F0 ;strip the first 4 bits sta SPRITEA,y ;store it to sprite A memory dey bpl min0 ;get next sprite line lda #$00 ;less than 10 minutes jmp minload ;go to where we load the first 4 bits of sprite min5 lda fives,y ;minutes must be 50+ so load 55 sprite and #$F0 ;strip 1st four bits sta SPRITEA,y ;store it to sprite A memory dey bpl min5 ;get next sprite line lda #$32 ;50+ minutes - you'll need this number later to jmp minload ;load the second half the sprite data min4 lda fours,y ;minutes must be 40+ and #$F0 sta SPRITEA,y dey bpl min4 lda #$28 ;40+ minutes jmp minload min3 lda threes,y ;minutes must be 30+ and #$F0 sta SPRITEA,y dey bpl min3 lda #$1E ;30+ minutes jmp minload min2 lda twos,y ;minutes must be 20+ and #$F0 sta SPRITEA,y dey bpl min2 lda #$14 jmp minload ;20+ minutes min1 lda ones,y ;minutes must be 10+ and #$F0 sta SPRITEA,y dey bpl min1 lda #$0A ;10+ minutes minload STA TEMP ;the accumulator had the 10s of minutes LDA RMINS ;now we subtract the 10s minutes from the real sec ;minutes to get the 1s minutes to act as a pointer SBC TEMP ;for the data tables for 2nd half of sprite ASL ;double the number TAX LDA numblk,x ;load the first half of the sprite data address sta TEMP lda numblk+1,x ;load the second half of the sprite table address sta TEMP+1 ldy #$06 ;number of lines in the sprite (-1) msload lda (TEMP),y ;get the sprite data and #$0F ;strip off the last 4 bits ora SPRITEA,y ;combine the 1st half with the 2nd half sta SPRITEA,y ;put it back in the sprite memory dey bpl msload ;get the next line of data ldy #$06 ;preload number of sprite lines (-1) lda #$18 ;24 hours sec SBC HOURS ;subtract the counter hours to get STA RHOURS ;the real hours value cmp #$00 ;see if it's 12:00 am beq hour0 cmp #$14 ;see if it's 20+ hours bpl hour2 cmp #$0A ;see if it's 10+ hours bpl hour1 hour0 lda zeros,y ;load the zeros sprite data and #$F0 ;strip the 1st four bits sta SPRITEB,y ;store to the 2nd sprite memory dey bpl hour0 lda #$00 ;same deal as with the minutes jmp loadhrs ;but now we load the second half of the hours data hour1 lda ones,y and #$F0 sta SPRITEB,y dey bpl hour1 lda #$0A jmp loadhrs hour2 lda twos,y and #$F0 sta SPRITEB,y dey bpl hour2 lda #$14 jmp loadhrs loadhrs STA TEMP LDA RHOURS sec SBC TEMP asl tax lda numblk,x sta TEMP lda numblk+1,x sta TEMP+1 ldy #$06 hsload lda (TEMP),y and #$0F ora SPRITEB,y sta SPRITEB,y dey bpl hsload rts numblk .word zeros ;where all the sprites are at .word ones .word twos .word threes .word fours .word fives .word sixes .word sevens .word eights .word nines draw LDA INTIM ;check to see if it's time to draw a frame BNE draw sta WSYNC sta HMOVE sta VBLANK ;turn the screen on! ;insert display kernal ldx #$3F ;okay, this display kernal sucks, but I'm not doing blow1 sta WSYNC ;much here so I didn't go for anything fancy since dex ;this is just a demo. This wouldn't be the way you bpl blow1 ;do things in a game, but it works for this. sta WSYNC nop ;See... you'd never do something weenie like this nop ;in a real programme nop ; nop ; nop ;but when I was experimenting with this programme nop ;I just had a whole bunch of ";nop" lines here nop ;and I removed the ";" until I got the spacing more nop ;or less where I wanted it nop nop nop nop nop nop nop sta RESP0 nop nop nop nop nop nop nop sta RESP1 ldy #$06 sload lda SPRITEB,y sta GP0 lda SPRITEA,y sta GP1 sta WSYNC ;you wouldn't do something weenie like this sta WSYNC ;either in a real programme, but it was an sta WSYNC ;easy way to make each sprite 8 lines high sta WSYNC ;and I was more concerned with making a working sta WSYNC ;and accurate clock than a nice display. sta WSYNC sta WSYNC sta WSYNC dey bpl sload lda #$00 sta GP0 sta GP1 ldx #$48 blow2 sta WSYNC ;now we just blow the rest of the unused scanlines. dex bpl blow2 rts clear LDA #$24 ;set timer for overscan STA TIM64T LDA #$02 ;clear the screen and turn off the video STA WSYNC STA VBLANK LDA #$00 STA PF0 STA PF1 STA PF2 sta COLUPF sta COLUBK LDA #$3C ;this is the clock routine itself. it counts DEC FRAMES ;down from 60 frames, and then decreases the bne joy ;seconds, which count down the minutes and then lda #$3C ;the hours.. etc. For whatever reason my 2600 STA FRAMES ;wasn't running at exactly 60 frames a second DEC SECS ;so there were two lines inserted to correct bne joy ;timing accuracy problems STA SECS DEC SECS ;here's one. Kept me from losing a second every DEC MINS ;minute bne joy STA MINS LDA #$18 INC SECS ;here's the other. It kept me from gaining a DEC HOURS ;second every hour. bne joy STA HOURS ;now my timing inaccuracies may have been caused ;by either my V-blank, V-sync, Overscan, or ;display being a few scanlines too long or short. ;theoretically if all my lines were bang on, ;I wouldn't have needed those two seconds counter ;corrections. But with them inplace, it allows me ;to be a little looser with my code which works for ;me. It may still gain or lose a second every 60 ;hours, but I can live with that. And since I'll ;be employing this clock in a virtual pet game and ;not a swiss made olympic time piece, a little ;inaccuracy won't matter. joy lda SWCHA ;load joysticks ora #$0f ;strip the data for player #2 joystick cmp #$ef ;up beq up cmp #$df ;down beq down cmp #$bf ;left beq left cmp #$7f ;right beq right lda #$00 ;no movement sta JOYDEL ;reset the joystick delay variable lda #$01 ;reset the first move variable sta JOY1ST jmp oscan ;finish off the overscan up lda HOURS ;check to see if we've run out our hours cmp #$01 beq oscan ;yep, then ignore the movement inc JOYDEL ;increase the joystick delay variable lda JOY1ST ;check to see if this is the first move in this cmp #$01 ;direction. beq now1 ;if it is then change the variable now lda #$1E ;nope then see if there's been enough of a delay cmp JOYDEL ;to change the variable yet. bne oscan now1 lda #$00 ;reset the joystick delay and set the first move sta JOY1ST ;indicator to "no" sta JOYDEL dec HOURS ;decrease the hours counter jmp oscan down lda HOURS cmp #$18 beq oscan inc JOYDEL lda JOY1ST cmp #$01 beq now2 lda JOYDEL cmp #$1E bne oscan now2 lda #$00 sta JOY1ST sta JOYDEL inc HOURS ;increase the hours counter jmp oscan left lda MINS cmp #$01 beq oscan inc JOYDEL lda JOY1ST cmp #$01 beq now3 lda #$1E cmp JOYDEL bne oscan now3 lda #$00 sta JOY1ST sta JOYDEL dec MINS ;decrease the minutes counter jmp oscan right lda MINS cmp #$3c beq oscan inc JOYDEL lda JOY1ST cmp #$01 beq now4 lda #$1E cmp JOYDEL bne oscan now4 lda #$00 sta JOY1ST sta JOYDEL inc MINS ;increase the minutes counter oscan lda INTIM ;see if the timer has run out BNE oscan STA WSYNC RTS zeros .byte %11100111 ;sprites are stored upsidedown, and there .byte %10100101 ;are two copies of each number in each sprite .byte %10100101 ;location. The unwanted number is stripped .byte %10100101 ;with the AND command (AND #$0F for the right .byte %10100101 ;number stripped, AND #F0 for the left) .byte %10100101 ;then any two numbers can be combined with an .byte %11100111 ;OR command. Neat huh? ones .byte %11100111 .byte %01000010 .byte %01000010 .byte %01000010 .byte %01000010 .byte %11000110 .byte %01000010 twos .byte %11100111 .byte %10000100 .byte %10000100 .byte %11100111 .byte %00100001 .byte %00100001 .byte %11100111 threes .byte %11100111 .byte %00100001 .byte %00100001 .byte %11100111 .byte %00100001 .byte %00100001 .byte %11100111 fours .byte %00100001 .byte %00100001 .byte %00100001 .byte %11100111 .byte %10100101 .byte %10100101 .byte %10000100 fives .byte %11100111 .byte %00100001 .byte %00100001 .byte %11100111 .byte %10000100 .byte %10000100 .byte %11100111 sixes .byte %11100111 .byte %10100101 .byte %10100101 .byte %11100111 .byte %10000100 .byte %10000100 .byte %11000110 sevens .byte %10000100 .byte %10000100 .byte %10000100 .byte %01000010 .byte %00100001 .byte %00100001 .byte %11100111 eights .byte %11100111 ;This code is ©1997 by Chris "Crackers" Cracknell .byte %10100101 ;and is placed in the Public Domain by the author. .byte %10100101 ;Anyone is free to employ and distribute this code .byte %11100111 ;as they see fit. .byte %10100101 ; .byte %10100101 ; .byte %11100111 ; ; nines .byte %00100001 ;Well... if you're going to use this code in a .byte %00100001 ;"Doomsday Machine" to destroy the world, then .byte %00100001 ;I would rather you didn't. But otherwise, knock .byte %11100111 ;yourself out with it. .byte %10100101 ; .byte %10100101 ;Actually... if the "Doomsday Machine" is just in .byte %11100111 ;a game, then it's okay to use the code. ; org $FFFC ;Unless it's like the movie "War Games" where the .word start ;computer running the game is hooked up to a real .word start ;"Doomsday Machine" then it wouldn't be a good idea. -
Question on assembling first 2600 program
CodeMonkey666 replied to CodeMonkey666's topic in 2600 Programming For Newbies
Okay, thanx, that fixes the problem, however, now it won't work. I get a 4 KB BIN file, so I click and then drag the BIN file over the Z26.exe thing and then the screen goes black but that's it. And then that's it, just a black screen. There's no clock or anything. What am I doing wrong now? -
I am trying to assemble that calculator program for the Atari 2600, using DASM and Notepad as my text editor. Now, I am not quite sure what I am doing, so here's what I did (but it isn't working). I saved the calculator program. I saved it in the directory DASMbinDOS in the dasm22007 file. I then went as far into this directory as DOS in the command prompt window. I then typed in: dasm clock003.asm -f3 -oclock.bin . I have the calculator code saved as "clock003." The computer said, "Warning: Unable to open 'clock003.asm.' " And then, "Complete," on the next line. It made a .bin file called clock.bin, like the guide I'm using says, but this .bin file contains 0 kilobytes. What am I doing that is wrong? I also tried renaming the clock file as "clock003.asm" but that just gave the same result. P.S. I originally posted this in the Programming forum, but then realized about the Atari 2600 Programming for Newbies forum, so here it is also.
-
Question on assembling first 2600 program
CodeMonkey666 replied to CodeMonkey666's topic in 2600 Programming For Newbies
Oh, whups, I notice that this should have gone into the 2600 Programming for Newbies Section; oh well, I don't think it matters -
I am trying to assemble that calculator program for the Atari 2600, using DASM and Notepad as my text editor. Now, I am not quite sure what I am doing, so here's what I did (but it isn't working). I saved the calculator program. I saved it in the directory DASMbinDOS in the dasm22007 file. I then went as far into this directory as DOS in the command prompt window. I then typed in: dasm clock003.asm -f3 -oclock.bin . I have the calculator code saved as "clock003." The computer said, "Warning: Unable to open 'clock003.asm.' " And then, "Complete," on the next line. It made a .bin file called clock.bin, like the guide I'm using says, but this .bin file contains 0 kilobytes. What am I doing that is wrong? I also tried renaming the clock file as "clock003.asm" but that just gave the same result.
-
Question on learning x86 assembly language
CodeMonkey666 replied to CodeMonkey666's topic in Programming
I C; libraries, hahaha, I am working on learning C++ right now too so that I can write a game in C++ later on. Again, thanx for the advice and help. -
I C, and here I am trying to get some X86 assembly code working lol; oh well, on to 6502 then. Thanks for all the help and advice.
-
Hey, in my quest to start learning assembly language good, I noticed on one site, this guy mentioned about learning the x86 assembly language if you plan to do any programming for the NES (which I plan on doing). Anyhow, I cannot find an x86 assembler. Well, I mean actually I think I did, by Eric Isaacson I think his name is (?), but he says in the manual included that you have to be registered or something to use it or to assemble programs with it or something; registering costs $50, whatever that means?? Is this a freeware assembler or do I have to pay this guy to use it, and if so, are there any freeware assemblers for x86??
-
Thanx; he says though I should learn GBA Assembly or x86 assembly before learning the asssembly of the NES; is that true?
-
OKay, I am at the part in this game where you have to find the space ship. I am jammed though. Am I supposed to find Pej's shoes somewhere? Cuz I know I have to enter a code into the consoles in/at the lighthuse, but I don't know what code to enter. Please help.
-
Hey, I am interested in programming some games for the NES; I read that, for using the 6502 assembly language for the NES programming, it is best to use the NES assembler, called NES ASM I believe. However, I am having trouble finding this; was wondering if anyone knows a site that has it??
-
Yeah, I beat both GTA3 and GTA: Vice City, but I think I liked GTA3 best. I don't get what people when in that Vice City's graphics were an improvement over GTA3's; I think the character model of tomy Vercetti was not nearly as rounded and smooth as the model of GTA3's hero (that's how it looks to me). And also, what's up with the poles you can knock over??? In GTA3, if you knocked over a pole, it was still solid, and you could get your car hung up on it. In GTA: Vice City, if you knock over a pole, suddenly it just becomes a hologram and you can cruise right on through it. Also, HOW HARD IS IT FOR THEM TO GIVE THAT BATTLE TANK SOME ACCELERATION AND SPEED???? GTA3 it was acceptable; GTA: Vice City, no (not in my opinion anyway). I mean I understand they had to give it wheels because of how the character gets into and out of vehicles, and a real tank model would have required a new "get into and out of the vehicle" program," but still, the tank could at least have been a bit faster, and had a tank's hill climbing power. This tank practically died going up hills and you were screwed if you went into a ditch, unless you fired that big gun to get out. And what's up also with not being able to point the turret up and down??? That was a pain, not being able to shoot down helicopters from inside the tank. Yeah, I know it's minor complaints, but it messed up the game experience for me, part of my fun in GTA3 was getting cars hung up on knocked over telephone poles.
-
Toys R' Us PS2 games for $7.99
CodeMonkey666 replied to cimerians's topic in Modern Console Discussion
Oh yeah, The Mark of Kri was $15 with the Legacy of Kain DC version for free. -
Toys R' Us PS2 games for $7.99
CodeMonkey666 replied to cimerians's topic in Modern Console Discussion
Hmmm, well, I just bought The Mark of Kri at Toys 'R' Us, but I got The Legacy of Kain: Soul Reaver for Dreamcast for free with it (it was a buy one, get one free thing). Thing is, I read in reviews over how "great" the graphics looked in the DC version of Legacy of Kain, and how much better they were over the PS version's graphics. Man, I'm tellin' ya, we gamers are really spoiled, those Legacy of Kain DC graphics look DATED, I can't imagine what the PS version's must look like, lol!! I also bought Skies of Arcadia: Legends so I have it, but I still need a Gamecube; first time I ever bought a game before I got the system to play it on. -
Well, I love technology, and I love learning about all these different systems, and I also love emulators for some reason (don't ask me), so I want to write my own, and then eventually way later on, do something that significantly contributes to the emulation scene. Thanx for all the info though.
-
Yeah, thanx. I was thinking of writing an emulator for Xbox (no just kidding lol) Maybe like a SNES emulator. I dunno. I need to learn more programming skills first though, so this will be in awhile. Thanx for the info though.
-
Ha, I may buy a new PSX (the little mini one they have now) just for collecting. Don't know though. I think they are like $50 new. As for new DC's, how 'bout new DC games too??? Like, anybody know if anyone has a brand-new copy of Grandia II for DC? Cuz I know the PS2 version sucked big time. Blue DC controller?? I'll have to check that out, sounds cool.
-
Well I don't like PS2 too much for DVD movies, cuz you have to turn the volume so high to hear anything. I play them on my XBOX or my PC instead (XBOX plays them better for me). I have one of the earlier generation PS 2 models, but I can tell you it has never broken or given me problems. I have it standing on its side without a support (so it can fall over if knocked) and I accidentally kicked it over to the side one time, but it still works fine. I need to buy some new PSX memory cards and PS 2 memory cards, cuz I have some games saves that are like 6 years old on my PSX cards, and I know they can lose their memory after awhile.
-
Is the X-Box Going to Become the Next Jaguar?
CodeMonkey666 replied to Tempest's topic in Modern Console Discussion
I C, thanx. Yeah, Rogue Squadron II is only $20 too! Now all I need is to get the actual Gamecube itself. And Nintendo provides black, purple, and platinum-colored Cubes, so I have to pick a color. All I need is $99. I think I will get the platinum one though.
