Jump to content
IGNORED

CC3 Finally sold out


Recommended Posts

If anyone wants to trade me for one, I'll give you a sweet deal.

 

Wow, I phrased that badly. I WANT A CC3. I've been selling off games just so I could get one.

 

If you have one to sell, I'll give you a great deal for trade.

 

 

LOL, Yeah it could of worked either way. Good luck trying to get one!

 

 

I wonder if the price will jump up on ebay now....not that they come up the often.

Link to comment
Share on other sites

Revolutionika...

 

I'll do some nice photo shoots for you brother... :)

 

No way you are getting mine! I just got it!

 

RR, I'm pretty sure Rev sleeps with his now, it seems unlikely he'll give it up. :)

 

 

My CC3 is right beside my double barrel sawed off shot gun.

Link to comment
Share on other sites

My CC3 is right beside my double barrel sawed off shot gun Hello Kitty change purse.

 

Fixed that for you. We strive for accuracy here. :P

 

 

pppttff.........More like Hello Kitty Tank, BBBEEEEEOOTTCHHH!!!!!!!!!!

 

 

hello-kitty-tank.jpg

Link to comment
Share on other sites

How do all these threads get so far off topic? Now all we need is Carl, Intvnut, and Dz-Jay to come in here and post a wall of coding text. (j/k guys...we love ya!)

 

:rolling: :rolling:

 

 

# # # # # # #

 

$ $ $ $ $ $ $

 

Did I just program a moving sprite?

Link to comment
Share on other sites

How do all these threads get so far off topic?

Well, you know what they say ... shift happens.

 

As for the CC3, it's a fine product and I'm glad I got mine when I had the chance. That's usually the way it goes with homebrew products: the economics often dictate limited quantities, and you've just got to grab it as soon as you can or you'll miss out. I actually own two of them: one for everyday game-playing, and another that I plan to use for development. My second one is actually in my office at my university at the moment; I bring an Intellivision into my classroom every once in a while, when I want to show the kids what gaming was like in the good old days.

Link to comment
Share on other sites

How do all these threads get so far off topic?

Well, you know what they say ... shift happens.

 

As for the CC3, it's a fine product and I'm glad I got mine when I had the chance. That's usually the way it goes with homebrew products: the economics often dictate limited quantities, and you've just got to grab it as soon as you can or you'll miss out. I actually own two of them: one for everyday game-playing, and another that I plan to use for development. My second one is actually in my office at my university at the moment; I bring an Intellivision into my classroom every once in a while, when I want to show the kids what gaming was like in the good old days.

 

 

I almost bought a back-up copy, now I wish I had! oh well.....

 

Jay, since you have experience with PCB's or maybe at least designing them (i think).

 

How difficult would it be to design a new pcb for a new multicart, maybe even using an sd card. but without directly stealing Chad Schells design?

 

Does the CC3 pcb 'pre-programmed' with any data/program/info or is it 'off the shelf' parts and the sd card is the brain and what makes it work?

Link to comment
Share on other sites

My CC3 is right beside my double barrel sawed off shot gun Hello Kitty change purse.

 

Fixed that for you. We strive for accuracy here. :P

 

 

pppttff.........More like Hello Kitty Tank, BBBEEEEEOOTTCHHH!!!!!!!!!!

 

 

hello-kitty-tank.jpg

 

Lol! Sweet Hello Kitty armored vehicle! Where the hell do you find this stuff Rev?

Link to comment
Share on other sites

How difficult would it be to design a new pcb for a new multicart, maybe even using an sd card. but without directly stealing Chad Schells design?

 

Its not hard to develop a multicart if you have the right skills. It just takes a bit of research, some electronics design and some software. In my mind the main problem is the lack of market. Look how long it took Chad to sell his stock of CC3s. If you made a new cart now it would need to offer something new to attract customers that already have a C3 otherwise there would be no reason to get one other than to add to your collection.

 

Does the CC3 pcb 'pre-programmed' with any data/program/info or is it 'off the shelf' parts and the sd card is the brain and what makes it work?

 

The parts are off the shelf but you'd need to make a BIOS for it that would read a menu from the SD card and present it on screen for the player to pick a title to play.

  • Like 1
Link to comment
Share on other sites

How do all these threads get so far off topic? Now all we need is Carl, Intvnut, and Dz-Jay to come in here and post a wall of coding text. (j/k guys...we love ya!)

 

:rolling: :rolling:

 

 

# # # # # # #

 

$ $ $ $ $ $ $

 

Did I just program a moving sprite?

 

Happy to oblige! Here, want to draw a circle?

 


;; ======================================================================== ;;
;;  DRAW_CIRCLE:                                                            ;;
;;  Procedure to draw a circle on the BACKTAB by painting background cards  ;;
;;  with a solid colour.                                                    ;;
;;                                                                          ;;
;;  There are two entry points to this procedure:                           ;;
;;      DRAW_CIRCLE:    Draws a circle on the screen.                       ;;
;;                                                                          ;;
;;      DRAW_CIRCLE.1:  Same as DRAW_CIRCLE, but expects the data record    ;;
;;                      to be initiated.                                    ;;
;;                                                                          ;;
;;  NOTE:   The procedure uses a data record to store its state. This       ;;
;;          record must be defined in contiguous memory and has the         ;;
;;          following format:                                               ;;
;;                                                                          ;;
;;          ---------------------------------------------------             ;;
;;          Origin X coordinate.                        1 BYTE              ;;
;;          Origin Y coordinate.                        1 BYTE              ;;
;;          Formatted word for background card.         2 BYTES             ;;
;;          ---------------------------------------------------             ;;
;;                                                                          ;;
;;          Example:                                                        ;;
;;              CIRCLE          STRUCT  0                                   ;;
;;              @@originX       SCRATCH 1                                   ;;
;;              @@originY       SCRATCH 1                                   ;;
;;              @@card          SCRATCH 2                                   ;;
;;                              ENDS                                        ;;
;;          ---------------------------------------------------             ;;
;;                                                                          ;;
;;  The algorithm used is a variation of Bresanham's Line Algorithm, often  ;;
;;  called the Mid-Point Circle Algorithm.                                  ;;
;;                                                                          ;;
;;  This version was adapted from a compact implementation in C I found at: ;;
;;                                                                          ;;
;;      http://free.pages.at/easyfilter/bresenham.html                      ;;
;;                                                                          ;;
;;  That page is attributed to and copyrighted by:                          ;;
;;      Alosi Zingl, Vienna, Austria <easyfilter@free.pages.at>             ;;
;; ------------------------------------------------------------------------ ;;
;; Bresenham's Algorithm applied to circles:                                ;;
;;      Copyright © Alosi Zingl, Vienna, Austria                            ;;
;; ------------------------------------------------------------------------ ;;
;;                                                                          ;;
;;      void plotCircle(int xm, int ym, int r)                              ;;
;;      {                                                                   ;;
;;         int x = -r, y = 0, err = 2-2*r;    /* II. Quadrant */            ;;
;;         do {                                                             ;;
;;            setPixel(xm-x, ym+y);           /*   I. Quadrant */           ;;
;;            setPixel(xm-y, ym-x);           /*  II. Quadrant */           ;;
;;            setPixel(xm+x, ym-y);           /* III. Quadrant */           ;;
;;            setPixel(xm+y, ym+x);           /*  IV. Quadrant */           ;;
;;            r = err;                                                      ;;
;;            if (r >  x) err += ++x*2+1;     /* e_xy+e_x > 0 */            ;;
;;            if (r <= y) err += ++y*2+1;     /* e_xy+e_y < 0 */            ;;
;;         } while (x < 0);                                                 ;;
;;      }                                                                   ;;
;;                                                                          ;;
;; ------------------------------------------------------------------------ ;;
;;                                                                          ;;
;;  INPUT for DRAW_CIRCLE                                                   ;;
;;      R5      Pointer to invocation record, followed by return address.   ;;
;;              Pointer to data record.                 1 DECLE             ;;
;;              Circle origin (packed).                 1 DECLE             ;;
;;              Card formatted word.                    1 DECLE             ;;
;;              Radius (in cards).                      1 BYTE              ;;
;;                                                                          ;;
;;  INPUT for DRAW_CIRCLE.1                                                 ;;
;;      R0      Radius (in cards).                                          ;;
;;      R4      Pointer to data record.                                     ;;
;;      R5      Pointer to return address.                                  ;;
;;                                                                          ;;
;;  OUTPUT                                                                  ;;
;;      R0      Trashed.                                                    ;;
;;      R1      Trashed.                                                    ;;
;;      R2      Trashed (zero).                                             ;;
;;      R3      Trashed.                                                    ;;
;;      R4      Trashed.                                                    ;;
;; ======================================================================== ;;
DRAW_CIRCLE     PROC
               ;---------------------------------------
               ; Retrieve arguments
               ;---------------------------------------
               MVI@    R5,     R4                      ; Get pointer to data record
           REPEAT(2)
               MVI@    R5,     R0                      ; Get argument
               MVO@    R0,     R4                      ; \
               SWAP    R0                              ;  > Save in data record (double-byte data)
               MVO@    R0,     R4                      ; /
           ENDR

               MVI@    R5,     R0                      ; Get radius
               SUBI    #4,     R4                      ; Reset pointer to data record

@@1:            BEGIN

               NEGR    R0                              ; \_ R2: x = -r
               MOVR    R0,     R2                      ; /
               CLRR    R3                              ;    R3: y =  0
               SLL     R0,     1                       ; \_ R0: err = 2 - (2 * r)
               ADDI    #2,     R0                      ; /

               ;---------------------------------------
               ; Draw circle quadrants
               ;---------------------------------------
@@__next:       PSHR    R0                              ; Save current err value

               ; I. Quadrant
               ;---------------------------------------
@@__quad1:      MVI@    R4,     R0                      ; \_ R0: (xm - x)
               SUBR    R2,     R0                      ; /
               MVI@    R4,     R1                      ; \_ R1: (ym + y)
               ADDR    R3,     R1                      ; /

               ; Put tile in Q-I
               ;---------------------------------------
               CALL    GET_BTAB_ADDRS.TileCheck        ; \
               BC      @@__quad2                       ;  |
               MVI@    R1,     R0                      ;  |
               ANDI    #STIC.cs_advance,           R0  ;   > put_tile(xm-x, ym+y, color)
               MOVR    R4,     R5                      ;  |
               SDBD                                    ;  |
               ADD@    R5,     R0                      ;  |
               MVO@    R0,     R1                      ; /

               ; II. Quadrant
               ;---------------------------------------
@@__quad2:      SUBI    #2,     R4                      ; Reset pointer to data record
               MVI@    R4,     R0                      ; \_ R0: (xm - y)
               SUBR    R3,     R0                      ; /
               MVI@    R4,     R1                      ; \  R1: (ym - x)
               SUBR    R2,     R1                      ; /

               ; Put tile in Q-II
               ;---------------------------------------
               CALL    GET_BTAB_ADDRS.TileCheck        ; \
               BC      @@__quad3                       ;  |
               MVI@    R1,     R0                      ;  |
               ANDI    #STIC.cs_advance,           R0  ;   > put_tile(xm-y, ym-x, color)
               MOVR    R4,     R5                      ;  |
               SDBD                                    ;  |
               ADD@    R5,     R0                      ;  |
               MVO@    R0,     R1                      ; /

               ; III. Quadrant
               ;---------------------------------------
@@__quad3:      SUBI    #2,     R4                      ; Reset pointer to data record
               MVI@    R4,     R0                      ; \_ R0: (xm + x)
               ADDR    R2,     R0                      ; /
               MVI@    R4,     R1                      ; \  R1: (ym - y)
               SUBR    R3,     R1                      ; /

               ; Put tile in Q-III
               ;---------------------------------------
               CALL    GET_BTAB_ADDRS.TileCheck        ; \
               BC      @@__quad4                       ;  |
               MVI@    R1,     R0                      ;  |
               ANDI    #STIC.cs_advance,           R0  ;   > put_tile(xm+x, ym-y, color)
               MOVR    R4,     R5                      ;  |
               SDBD                                    ;  |
               ADD@    R5,     R0                      ;  |
               MVO@    R0,     R1                      ; /

               ; IV. Quadrant
               ;---------------------------------------
@@__quad4:      SUBI    #2,     R4                      ; Reset pointer to data record
               MVI@    R4,     R0                      ; \_ R0: (xm + y)
               ADDR    R3,     R0                      ; /
               MVI@    R4,     R1                      ; \  R1: (ym + x)
               ADDR    R2,     R1                      ; /

               ; Put tile in Q-IV
               ;---------------------------------------
               CALL    GET_BTAB_ADDRS.TileCheck        ; \
               BC      @@__upd_xy                      ;  |
               MVI@    R1,     R0                      ;  |
               ANDI    #STIC.cs_advance,           R0  ;   > put_tile(xm+y, ym+x, color)
               MOVR    R4,     R5                      ;  |
               SDBD                                    ;  |
               ADD@    R5,     R0                      ;  |
               MVO@    R0,     R1                      ; /

               ; Update coordinates
               ;---------------------------------------
@@__upd_xy:     SUBI    #2,     R4                      ; Reset pointer to data record
               PULR    R0                              ; Get last known value for error
               MOVR    R0,     R5                      ; r = err

               ;---------------------------------------
               ; R0:   err
               ; R2:   x
               ; R3:   y
               ; R5:   r
               ;---------------------------------------
@@__chk_ex:     CMPR    R2,     R5                      ;   if (r >  x)     // (e_xy + e_x) > 0
               BLE     @@__chk_ey                      ;
               INCR    R2                              ; \
               MOVR    R2,     R1                      ;  |
               SLL     R1,     1                       ;   >   err += (++x * 2) + 1
               INCR    R1                              ;  |
               ADDR    R1,     R0                      ; /

@@__chk_ey:     CMPR    R3,     R5                      ;   if (r <= y)     // (e_xy + e_y) > 0
               BGT     @@__upd_err                     ;
               INCR    R3                              ; \
               MOVR    R3,     R1                      ;  |
               SLL     R1,     1                       ;   >   err += (++y * 2) + 1
               INCR    R1                              ;  |
               ADDR    R1,     R0                      ; /

               ; Updated error value and loop
               ;---------------------------------------
@@__upd_err:    TSTR    R2                              ; \_ while (x < 0)
               BMI     @@__next                        ; /

               RETURN
               ENDP

Edited by DZ-Jay
Link to comment
Share on other sites

My CC3 is right beside my double barrel sawed off shot gun Hello Kitty change purse.

 

Fixed that for you. We strive for accuracy here. :P

 

 

pppttff.........More like Hello Kitty Tank, BBBEEEEEOOTTCHHH!!!!!!!!!!

 

 

hello-kitty-tank.jpg

 

OMG, a german Fuchs transport tank.

 

But Hello Kitty is good for almost every thing:

 

21Xfdmll%2BdL._SL500_AA300_.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...