+atari2600land Posted September 22, 2014 Share Posted September 22, 2014 The head chef at the Chew 'n' Spew Diner has gone crazy! He climbed to the ceiling and started throwing stuff at you! He insists that you catch the items he throws in sets. Once you get all four items, then you move on to the next set. But don't get two like things, else the game ends. This game started as a Kaboom! clone but quickly grew into something else. It also has elements of Pressure Cooker. Try it out and let me know your thoughts on it. I have about 500 bytes left to make changes. cc5.bin 5 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted October 25, 2014 Author Share Posted October 25, 2014 New version! I have decided to change some things. Let me know if I broke anything in the process. cc6.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted November 10, 2014 Author Share Posted November 10, 2014 Am I done? I need some suggestions on what to do next with this game, people. Quote Link to comment Share on other sites More sharing options...
triverse Posted November 14, 2014 Share Posted November 14, 2014 I just posted an article about Chief Chef on my site, Retro Gaming Magazine. This weekend I plan on doing a video and possibly a review of your game. Thanks for making it available!http://retrogamingmagazine.com/2014/11/13/new-game-chief-chef-odyssey-2-released-free/ Quote Link to comment Share on other sites More sharing options...
timdu Posted November 15, 2014 Share Posted November 15, 2014 (edited) Chris: As for suggestions - The speed of the items dropping changed once on level 3. Can you change it so the speed increase is not so dramatic... maybe just a little faster on a gradual increase? Triverse: this is not the final release candidate. Chris (atari2600land) and I have been releasing his games on cartridge format with a box, manual, and label. This one will sell for $25 and will be released in 2015. More to come! thank you, Tim Edited November 15, 2014 by timdu Quote Link to comment Share on other sites More sharing options...
triverse Posted November 15, 2014 Share Posted November 15, 2014 (edited) Chris: As for suggestions - The speed of the items dropping changed once on level 3. Can you change it so the speed increase is not so dramatic... maybe just a little faster on a gradual increase? Triverse: this is not the final release candidate. Chris (atari2600land) and I have been releasing his games on cartridge format with a box, manual, and label. This one will sell for $25 and will be released in 2015. More to come! thank you, Tim Thanks for the update on the release of Chief Chef. Once it is available for purchase, I will make a new article available detailing its release. Any coverage I do till then will denote the fact that this is a public beta of the game and reference the future purchase availability. Edited November 15, 2014 by triverse Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 7, 2015 Author Share Posted February 7, 2015 Not available yet, I'm still working on the game. Have a look at the latest binary and tell me what you think. More info on the game can be found here: http://www.atari2600land.com/chiefchef/ cc8.bin Quote Link to comment Share on other sites More sharing options...
+nurmix Posted February 10, 2015 Share Posted February 10, 2015 Great timing! I've got an O2 multi-cart on the way, so once it arrives I will see how this plays on real hardware. Do you test that way, or do you develop/test through emulation? By the way, I do a monthly Intellivision Podcast (The Intellivisionaries), but we frequently discuss Odyssey 2 related news items, as I'm a big fan (I have my sarcastic and condescending O2 make comments in most of the episodes - via "Type And Tell"), so we'll mention your game in an upcoming episode. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 10, 2015 Author Share Posted February 10, 2015 I test both ways. Through an emulator until I get it perfect, and then hope it works on real hardware (because emulators and hardware are different when it comes to the Odyssey 2.) 1 Quote Link to comment Share on other sites More sharing options...
timdu Posted March 26, 2015 Share Posted March 26, 2015 (edited) Atari2600land and I are planning to release CHIEF CHEF on cartridge for the Odyssey2 very soon. We are currently looking for some play testers to give us some feedback and look for any bugs in the game.Attached below is the current binary ROM file. (CC8.bin) Please let us know what you think. An Odyssey2 emulator is available for most O.S.'s... if you have questions please let me know.THE GAME:In the game, you are the apprentice chef at the Chew 'n' Spew Restaurant. (Kristen appears at the bottom of the screen.)The Chief Chef ( Chuck Chesterfield ) has gone crazy and has climbed up to the ceiling and has started to throw food at you! The only catch is he demands that you get all four items he throws and avoid the duplicates! Once you have caught a complete set of four items, you start again at a faster level. But how are your food catching skills? Are they enough to impress the Chief Chef?SCORING:1 point for every successful item caught: 1 for the onion1 for the slice of cheese1 for the tomato1 for the lettuce head and then when the fourth item is completed, a little sound plays , 10 points are awarded ( for getting all 4 items)and the player then begins the next level where it is a tad faster. please let me know if you have questions,thanksTim D. Edited December 4, 2015 by timdu 1 Quote Link to comment Share on other sites More sharing options...
Hyperboy Posted March 26, 2015 Share Posted March 26, 2015 Very nice! Quote Link to comment Share on other sites More sharing options...
+LS650 Posted March 27, 2015 Share Posted March 27, 2015 (edited) I just spent 20 minutes playing this cc8 version, and have posted these comments over on videopac.nl: - The graphics look pretty good. No complaints there. I like the characters.- The game needs more sound. Most of the time, as you are moving left and right, the veggies are dropping but you have to let most of them hit the floor as they're duplicates. How about adding a 'SPLAT' sound when you deliberately miss catching the food?- The first couple of salads or whatever are slow-paced. That's good. However, there seems to be quite a jump in speed after the first couple of sets are completed. Is there a way to pace it out smoother? Edited March 27, 2015 by ls650 Quote Link to comment Share on other sites More sharing options...
timdu Posted March 28, 2015 Share Posted March 28, 2015 OK - a sound has been added when an unwanted food item is avoided ... a good suggestion!The latest binary ROM file is below. ( CC9.BIN )As for the speed increase between levels, we need some help.Can you fellow programmers please take a look at the code for the game (below) and see if there is a betterway to gradually increase the speed of the game on each new level? cpu 8048 eggcaught equ 037h lettucecaught equ 038h cheesecaught equ 03ah drop_speed equ 026h bomb1x equ 030h dropfirstbomb equ 031h newx equ 032h itemtype equ 033h animtimer equ 034h tomatocaught equ 036h score_l equ 023h score_h equ 024h highscore_l equ 022h highscore_h equ 027h quad0 equ 040h quad1 equ 050h quad2 equ 060h quad3 equ 070h org 400h include "g7000.h" include "bitfuncs.inc" jmp myinit ; RESET jmp irq ; interrupt jmp timer ; timer jmp vsyncirq ; VSYNC-interrupt jmp start ; after selectgame jmp soundirq ; sound-interrupt timer ;retr myinit mov r0,#03fh mov @r0,#000h sel rb1 clr a call 00feh start call gfxoff start_2 call check_score call init_score mov r0,#dropfirstbomb mov @r0,#000h mov r0,#drop_speed mov @r0,#001h mov r1,#animtimer mov @r1,#000h strt t mov r0,#000h ; set sprite 2 Y pos mov a,#036h movx @r0,a ;inc r0 ; set sprite 2 X pos mov r0,#001h mov a,#040h movx @r0,a inc r0 mov a,#col_spr_yellow movx @r0,a mov r0,#008h ; set sprite 2 Y pos mov a,#0b8h movx @r0,a ;inc r0 ; set sprite 2 X pos mov r0,#009h mov a,#040h movx @r0,a inc r0 mov a,#col_spr_yellow | spr_double movx @r0,a mov r0,#00ch ; set sprite 2 Y pos mov a,#0b0h movx @r0,a ;inc r0 ; set sprite 2 X pos mov r0,#00dh mov a,#042h movx @r0,a inc r0 mov a,#col_spr_white | spr_double movx @r0,a call setupgrid mov r0,#vdc_spr0_shape mov r1,#madbomber & 0ffh call setshape mov r0,#vdc_spr1_shape mov r1,#chefhat & 0ffh call setshape mov r0,#vdc_spr2_shape mov r1,#you1 & 0ffh call setshape mov r0,#vdc_spr3_shape mov r1,#you_shirt & 0ffh call setshape call madbombershands mov r0,#vdc_color mov a,#col_grd_green movx @r0,a mov r0,#0a1h mov a,#002h movx @r0,a mov r0,#004h ; set sprite 2 Y pos mov a,#02ah movx @r0,a mov r0,#005h mov a,#040h movx @r0,a inc r0 mov a,#col_spr_white movx @r0,a jmp game_loop align 256 new_place mov r1,#newx mov a,t anl a,#07fh ; you will only get values from 00 to 7F add a,#010h ; ant's y position movx @r1,a mov r0,#itemtype mov a,t anl a,#003h ; you will only get values from 00 to 7F add a,#001h ; ant's y position mov @r0,a jmp game_loop_2 ;jmp game_loop_2 game_loop call show_score call drawscreen mov r1,#001h ; joystick 0 call getjoystick ; get offsets jf0 new_place jmp game_loop item_caught_2 jmp item_caught game_loop_2 call drawscreen mov r0,#vdc_collision mov a,#vdc_coll_char movx @r0,a ; activate collision checks mov r0,#03dh ; check collisions mov a,@r0 anl a,#003h ; check for s0 mov a,@r0 anl a,#008h jnz item_caught_2 mov a,@r0 anl a,#004h jnz item_caught_2 mov r1,#dropfirstbomb mov a,@r1 xrl a,#1 jz move_bomb_down game_loop_3 mov r1,#newx movx a,@r1 ;cpl a mov r7,a mov a,r7 mov r1,#001h movx a,@r1 xrl a,r7 jz new_bomb mov r1,#newx movx a,@r1 cpl a mov r7,a mov a,r7 mov r1,#001h movx a,@r1 add a,r7 jc movebomberleft jnc movebomberright_7 jmp game_loop_3 movebomberright_7 jmp movebomberright new_bomb mov r0,#dropfirstbomb mov @r0,#001h mov r1,#newx movx a,@r1 ; get blue car speed mov r7,a ; store in R7 mov r1,#bomb1x movx a,@r1 mov a,r7 ; adjust x pos movx @r1,a mov r0,#vdc_char2 mov r3,#bomb1x ; store in R7 mov r4,#051h ; y position mov r5,#00ch ; ship1 call printchar jmp game_loop_2 move_bomb_down mov r1,#bomb1x movx a,@r1 ; get red car speed mov r3,a ; store in R3 ;mov a,r4 ;xrl a,#0d5h ;jz new_place_3 mov r0,#itemtype mov a,@r0 xrl a,#1 jz egg mov r0,#itemtype mov a,@r0 xrl a,#2 jz lettuce mov r0,#itemtype mov a,@r0 xrl a,#3 jz tomato ;mov r0,#vdc_char2 mov r5,#02fh mov r6,#col_chr_yellow jmp move_bomb_down_2 egg ;mov r0,#vdc_char2 mov r5,#031h mov r6,#col_chr_white jmp move_bomb_down_2 lettuce ;mov r0,#vdc_char2 mov r5,#031h mov r6,#col_chr_green jmp move_bomb_down_2 tomato ;mov r0,#vdc_char2 mov r5,#031h mov r6,#col_chr_red move_bomb_down_2 mov r0,#vdc_char2 mov r1,#drop_speed mov a,@r1 ; get blue car speed mov r7,a ; store in R7 mov a,r4 add a,r7 mov r4,a ;mov r5,#031h ; ship1 call printchar ;mov r0,#vdc_char2 mov a,r4 add a,#035h jc new_place_3 jmp game_loop_2 new_place_3 mov a,#tune_buzz call playsound new_place_5 mov r0,#vdc_char2 mov r5,#00ch ; ship1 call printchar mov r0,#dropfirstbomb mov @r0,#000h jmp new_place movebomberleft mov r0,#001h movx a,@r0 add a,#0ffh ; adjust x pos movx @r0,a mov r0,#005h movx a,@r0 add a,#0ffh ; adjust x pos movx @r0,a mov r0,#011h movx a,@r0 add a,#0ffh ; adjust x pos movx @r0,a mov r0,#015h movx a,@r0 add a,#0ffh ; adjust x pos movx @r0,a jmp game_loop_2 movebomberright mov r0,#001h movx a,@r0 add a,#001h ; adjust x pos movx @r0,a mov r0,#005h movx a,@r0 add a,#001h ; adjust x pos movx @r0,a mov r0,#011h movx a,@r0 add a,#001h ; adjust x pos movx @r0,a mov r0,#015h movx a,@r0 add a,#001h ; adjust x pos movx @r0,a jmp game_loop_2 new_place_2 ;call drawscreen jmp new_place align 256 level_data: db 004h,007h,004h,007h,004h,007h,004h,007h,004h db 001h,001h,001h,001h,001h,001h,001h,001h,001h db 0FCh,001h,001h,001h,001h,001h,001h,001h,001h,0FCh madbomber db 00011100b db 00111110b db 00101010b db 00111110b db 00101010b db 00100010b db 00011100b db 00011100b chefhat db 01100011b db 01110111b db 01111111b db 00111110b db 00111110b db 00111110b db 00100010b db 00000000b you1 db 00110000b db 00110000b db 10110100b db 10010100b db 01000100b db 00000000b db 00100100b db 01101100b you2 db 00110000b db 00110000b db 10110100b db 10010100b db 01000100b db 00000000b db 00001000b db 00011000b you_shirt db 00011000b db 00011100b db 00000000b db 00000000b db 00000000b db 00000000b db 00011100b db 00001100b setshape ; r0=spritepointer, r1=pointer to image in rom mov r7,#8 ; 8 bytes copyspriteloop: mov a,r1 movp a,@a ; get byte movx @r0,a inc r0 inc r1 djnz r7,copyspriteloop ret setupgrid mov r1,#level_data & 0ffh mov r7,#09 ; length mov r0,#0c0h call copyspriteloop mov r1,#level_data & 0ffh + 9 mov r7,#9 ; length mov r0,#0d0h call copyspriteloop mov r1,#level_data & 0ffh + 18 mov r7,#10 ; length mov r0,#0e0h call copyspriteloop ret madbombershands mov r0,#vdc_char0 mov r3,#040h ; x position mov r4,#043h ; y position mov a,r4 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov r5,#017h ; O mov r6,#col_chr_blue call calcchar23 ; calculate byte 2/3 mov a,r5 ; get char-pointer add a,#4 movx @r0,a ; ...to cut off first line of T inc r0 mov a,r6 ; get byte 3 movx @r0,a ; store it inc r0 mov r0,#vdc_char1 mov r3,#040h ; x position mov r4,#049h ; y position mov a,r4 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov r5,#01dh ; H mov r6,#col_chr_yellow call calcchar23 ; calculate byte 2/3 mov a,r5 ; get char-pointer add a,#4 movx @r0,a ; ...to cut off first line of T inc r0 mov a,r6 ; get byte 3 movx @r0,a ; store it inc r0 ret you_pos_2 mov a,#tune_keyclick call playsound mov r0,#vdc_spr2_shape mov r1,#you2 & 0ffh call setshape ret you_pos_3 mov r1,#animtimer mov @r1,#0 you_pos_1 mov a,#tune_keyclick call playsound mov r0,#vdc_spr2_shape mov r1,#you1 & 0ffh call setshape ret move_you_right mov r1,#009h movx a,@r1 add a,#078h jc game_loop_7 mov r1,#009h ; get sprite 2 X pos movx a,@r1 add a,#002h ; adjust X pos movx @r1,a mov r1,#00dh ; get sprite 2 X pos movx a,@r1 add a,#002h ; adjust X pos movx @r1,a jmp thisisdumb move_you_left mov r1,#009h movx a,@r1 add a,#0f9h jnc game_loop_7 mov r1,#009h ; get sprite 2 X pos movx a,@r1 add a,#0feh ; adjust X pos movx @r1,a mov r1,#00dh ; get sprite 2 X pos movx a,@r1 add a,#0feh ; adjust X pos movx @r1,a thisisdumb mov r0,#animtimer mov a,@r0 add a,#1 mov @r0,a mov r0,#animtimer mov a,@r0 xrl a,#05 jz you_pos_1 mov r0,#animtimer mov a,@r0 xrl a,#10 jz you_pos_2 mov r0,#animtimer mov a,@r0 xrl a,#15 jz you_pos_3 game_loop_7 ret egg_caught_2 jmp egg_caught lettuce_caught_2 jmp lettuce_caught tomato_caught_2 jmp tomato_caught item_caught mov a,#tune_select2 call playsound mov r0,#itemtype mov a,@r0 xrl a,#1 jz egg_caught mov r0,#itemtype mov a,@r0 xrl a,#2 jz lettuce_caught mov r0,#itemtype mov a,@r0 xrl a,#3 jz tomato_caught jmp cheese_caught game_over mov a,#tune_beep_error call playsound mov r1,#animtimer mov @r1,#0ffh game_over12 call clear_chart call check_highscore call drawscreen mov r1,#001h ; joystick 0 call getjoystick ; get offsets jf0 return_to_start jmp game_over12 return_to_start call bad_score call drawscreen jmp start_2 egg_caught mov r0,#eggcaught mov a,@r0 xrl a,#1 jz game_over call add_score mov r0,#vdc_char6 mov r3,#029 ; x position mov r4,#028 ; y position mov r5,#031h ; circle mov r6,#col_chr_white call printchar mov r1,#eggcaught mov @r1,#1 jmp new_place_4 cheese_caught mov r0,#cheesecaught mov a,@r0 xrl a,#1 jz game_over call add_score mov r0,#vdc_char3 mov r3,#61 ; x position mov r4,#30 ; y position mov r5,#02fh ; ship1 mov r6,#col_chr_yellow call printchar mov r1,#cheesecaught mov @r1,#1 jmp new_place_4 tomato_caught mov r0,#tomatocaught mov a,@r0 xrl a,#1 jz game_over call add_score mov r0,#vdc_char4 mov r3,#93 ; x position mov r4,#28 ; y position mov r5,#031h ; circle mov r6,#col_chr_red call printchar mov r1,#tomatocaught mov @r1,#1 jmp new_place_4 lettuce_caught mov r0,#lettucecaught mov a,@r0 xrl a,#1 jz game_over call add_score mov r0,#vdc_char5 mov r3,#125 ; x position mov r4,#28 ; y position mov r5,#031h ; ship1 mov r6,#col_chr_green call printchar mov r1,#lettucecaught mov @r1,#1 jmp new_place_4 new_place_4 mov r0,#lettucecaught mov a,@r0 xrl a,#1 jnz new_place_33 mov r0,#tomatocaught mov a,@r0 xrl a,#1 jnz new_place_33 mov r0,#eggcaught mov a,@r0 xrl a,#1 jnz new_place_33 mov r0,#cheesecaught mov a,@r0 xrl a,#1 jnz new_place_33 mov r5,#006h ; add 25 to score when something happens. call add_score2 call clear_chart mov a,#tune_select call playsound call drawscreen jmp new_place_33 new_place_33 jmp new_place_5 ; bank 1 align 256 clear_chart mov r0,#vdc_char5 mov r4,#0f8h call printchar mov r0,#vdc_char4 mov r4,#0f8h call printchar mov r0,#vdc_char3 mov r4,#0f8h call printchar mov r0,#vdc_char6 mov r4,#0f8h call printchar mov r0,#vdc_char2 mov r4,#0f8h call printchar mov r1,#lettucecaught mov @r1,#0 mov r1,#cheesecaught mov @r1,#0 mov r1,#tomatocaught mov @r1,#0 mov r1,#eggcaught mov @r1,#0 ret add_score mov r5,#001h ; add 25 to score when something happens. add_score2 mov r0,#score_l ; point to score low byte mov a,@r0 ; get current value add a,r5 ; add r2 da a ; decimal adjust mov @r0,a ; store back inc r0 ; point to high byte mov a,@r0 ; get current value addc a,#0 ; add zero (and a possible carry) da a ; decimal adjust a mov @r0,a ; store back mov a,#tune_select2 call playsound mov r0,#score_l mov a,@r0 xrl a,#20 jnz show_score_2 mov r0,#drop_speed mov a,@r0 add a,#001h ; adjust x pos mov @r0,a show_score_2 mov r0,#score_l mov a,@r0 xrl a,#40 jnz show_score_3 mov r0,#drop_speed mov a,@r0 add a,#001h ; adjust x pos mov @r0,a show_score_3 mov r0,#score_l mov a,@r0 xrl a,#60 jnz show_score_4 mov r0,#drop_speed mov a,@r0 add a,#001h ; adjust x pos mov @r0,a show_score_4 mov r0,#score_l mov a,@r0 xrl a,#80 jnz show_score mov r0,#drop_speed mov a,@r0 add a,#001h ; adjust x pos mov @r0,a show_score ;call 011ch ; turn display off mov r4,#220 ; quad 0 and 1 yposition mov r6,#col_chr_blue ; set the color ; set up quad 0 character 2 (thousands of score) mov r0,#quad0+00ah ; pointer+offset to quad0 space in vdc (used later) ; evaluate score high byte, high nibble mov r1,#score_h ; get high byte mov a,@r1 ; in a swap a ; swap nibbles anl a,#00fh ; use only lower 4 bits ; this conversion is always necessary to put something (quad/character) ; on screen. On entry R5 contains the character code and R6 contains the color mov r5,a ; store A in R5 so it contains the 'thousands' number call calcchar23 ; convert mov a,r5 ; get converted character code back in A movx @r0,a ; save it in the quad0 space in vdc inc r0 ; point to next address in vdc mov a,r6 ; get converted color in A movx @r0,a ; store it in vdc mov r0,#quad1+00ah mov r1,#score_h ; get high byte mov a,@r1 anl a,#00fh ; use only lower nibble mov r5,a ; 'hundreths' number mov r6,#col_chr_blue ; set the color call calcchar23 ; convert mov a,r5 ; get code movx @r0,a ; save it inc r0 ; next address in vdc mov a,r6 ; get color movx @r0,a ; save it mov r0,#quad0+00eh mov r1,#score_l ; point to score_l storage mov a,@r1 ; get value in A swap a ; we need the top 4 bits so swap them around anl a,#00fh ; use only the lower 4 bits (now top 4 bits of score_l) mov r5,a ; 'tens' number mov r6,#col_chr_blue ; set the color call calcchar23 ; convert mov a,r5 ; get code movx @r0,a ; save it inc r0 mov a,r6 ; get color movx @r0,a ; save it mov r0,#quad1+00eh mov r1,#score_l ; point to score_l storage mov a,@r1 ; get value in A anl a,#00fh ; use only lower 4 bits mov r5,a ; 'units' number mov r6,#col_chr_blue ; set the color call calcchar23 ; convert mov a,r5 ; get code movx @r0,a ; save it inc r0 mov a,r6 ; get color movx @r0,a ; save it ;highscore ;call 011ch ; turn display off mov r4,#220 ; quad 0 and 1 yposition mov r6,#col_chr_violet ; set the color ; set up quad 0 character 2 (thousands of score) mov r0,#quad2+00ah ; pointer+offset to quad0 space in vdc (used later) ; evaluate score high byte, high nibble mov r1,#highscore_h ; get high byte mov a,@r1 ; in a swap a ; swap nibbles anl a,#00fh ; use only lower 4 bits ; this conversion is always necessary to put something (quad/character) ; on screen. On entry R5 contains the character code and R6 contains the color mov r5,a ; store A in R5 so it contains the 'thousands' number mov r0,#quad2+00ah ; pointer+offset to quad0 space in vdc (used later) ; evaluate score high byte, high nibble mov r1,#highscore_h ; get high byte mov a,@r1 ; in a swap a ; swap nibbles anl a,#00fh ; use only lower 4 bits ; this conversion is always necessary to put something (quad/character) ; on screen. On entry R5 contains the character code and R6 contains the color mov r5,a ; store A in R5 so it contains the 'thousands' number call calcchar23 ; convert mov a,r5 ; get converted character code back in A movx @r0,a ; save it in the quad0 space in vdc inc r0 ; point to next address in vdc mov a,r6 ; get converted color in A movx @r0,a ; store it in vdc mov r0,#quad3+00ah mov r1,#highscore_h ; get high byte mov a,@r1 anl a,#00fh ; use only lower nibble mov r5,a ; 'hundreths' number mov r6,#col_chr_violet ; set the color call calcchar23 ; convert mov a,r5 ; get code movx @r0,a ; save it inc r0 ; next address in vdc mov a,r6 ; get color movx @r0,a ; save it mov r0,#quad2+00eh mov r1,#highscore_l ; point to score_l storage mov a,@r1 ; get value in A swap a ; we need the top 4 bits so swap them around anl a,#00fh ; use only the lower 4 bits (now top 4 bits of score_l) mov r5,a ; 'tens' number mov r6,#col_chr_violet ; set the color call calcchar23 ; convert mov a,r5 ; get code movx @r0,a ; save it inc r0 mov a,r6 ; get color movx @r0,a ; save it mov r0,#quad3+00eh mov r1,#highscore_l ; point to score_l storage mov a,@r1 ; get value in A anl a,#00fh ; use only lower 4 bits mov r5,a ; 'units' number mov r6,#col_chr_violet ; set the color call calcchar23 ; convert mov a,r5 ; get code movx @r0,a ; save it inc r0 mov a,r6 ; get color movx @r0,a ; save it ;call 0127h ; turn display on ret init_score: ; preset x positions (they are fixed in my program) mov r3,#0 ; quad 0 xposition mov r4,#220 ; quad 0 and 1 yposition mov r0,#quad0+002h ; pointer to first character byte of quad0 mov r5,#00ch ; code for character "space" call 0261h ; convert character code and store in VDC mov r0,#quad0+006h ; pointer to second character byte of quad0 mov r5,#00ch call 0261h mov r0,#quad0 ; pointer to quad0 vdc mov a,r4 movx @r0,a ; store it inc r0 mov a,r3 movx @r0,a mov r0,#quad1+002h ; pointer to first character byte of quad0 mov r5,#00ch ; code for character "space" call 0261h ; convert character code and store in VDC mov r0,#quad1+006h ; pointer to second character byte of quad0 mov r5,#00ch call 0261h mov r3,#8 ; quad 1 xposition (8 pixels further to interleave) mov r0,#quad1 ; pointer to quad1 in vdc mov a,r4 movx @r0,a ; store it inc r0 mov a,r3 movx @r0,a init_highscore ;highscore ; preset x positions (they are fixed in my program) mov r3,#69 ; quad 0 xposition mov r4,#220 ; quad 0 and 1 yposition mov r0,#quad2+002h ; pointer to first character byte of quad0 mov r5,#00ch ; code for character "space" call 0261h ; convert character code and store in VDC mov r0,#quad2+006h ; pointer to second character byte of quad0 mov r5,#00ch call 0261h mov r0,#quad2 ; pointer to quad0 vdc mov a,r4 movx @r0,a ; store it inc r0 mov a,r3 movx @r0,a mov r0,#quad3+002h ; pointer to first character byte of quad0 mov r5,#00ch ; code for character "space" call 0261h ; convert character code and store in VDC mov r0,#quad3+006h ; pointer to second character byte of quad0 mov r5,#00ch call 0261h mov r3,#77 ; quad 1 xposition (8 pixels further to interleave) mov r0,#quad3 ; pointer to quad1 in vdc mov a,r4 movx @r0,a ; store it inc r0 mov a,r3 movx @r0,a ret align 256 drawscreen call gfxon call waitvsync ; wait for begin of frame ;anl p1,#07fh call gfxoff mov r0,#animtimer mov a,@r0 xrl a,#0ffh jz drawscreen_2 mov r1,#001h ; select joystick 0 call getjoystick ; call bios mov a,r1 ; get bit values cpl a ; invert all bits mov a,r1 ; get joystick value back anl a,#002h ; test right bit jz move_you_right2 ; jump to right routine mov r1,#001h ; select joystick 0 call getjoystick ; call bios mov a,r1 ; get bit values cpl a ; invert all bits mov a,r1 ; get joystick value back anl a,#008h ; test right bit jz move_you_left2 ; jump to right routine drawscreen_2 ret item_caught_22 jmp item_caught move_you_left2 jmp move_you_left move_you_right2 jmp move_you_right ;align 256 check_score mov r1,#score_h mov a,@r1 anl a,#00fh add a,#0f6h jc bad_score mov a,@r1 swap a anl a,#00fh add a,#0f6h jc bad_score mov r1,#score_l mov a,@r1 anl a,#00fh add a,#0f6h jc bad_score mov a,@r1 swap a anl a,#00fh add a,#0f6h jnc good_score bad_score mov r1,#score_h mov @r1,#0 mov r1,#score_l mov @r1,#0 good_score mov r1,#highscore_h mov a,@r1 anl a,#00fh add a,#0f6h jc bad_highscore mov a,@r1 swap a anl a,#00fh add a,#0f6h jc bad_highscore mov r1,#highscore_l mov a,@r1 anl a,#00fh add a,#0f6h jc bad_highscore mov a,@r1 swap a anl a,#00fh add a,#0f6h jnc good_highscore bad_highscore mov r1,#highscore_h mov @r1,#0 mov r1,#highscore_l mov @r1,#0 good_highscore ret check_highscore mov r1,#highscore_l mov a,@r1 ; get highscore cpl a ; make highscore negative mov r0,#score_l add a,@r0 ; subtract highscore from score jnc replace_highscore2 mov r1,#highscore_h mov a,@r1 ; get red car speed mov r2,a ; store in R2 mov r0,#score_h mov a,@r0 xrl a,r2 jz replace_highscore replace_highscore2 mov r1,#highscore_h mov a,@r1 ; get highscore cpl a ; make highscore negative mov r0,#score_h add a,@r0 ; subtract highscore from score jnc no_highscore replace_highscore mov r0,#score_h mov a,@r0 ; get score mov r1,#highscore_h ; point to highscore low byte mov @r1,a ; store new highscore mov r0,#score_l mov a,@r0 ; get score mov r1,#highscore_l ; point to highscore low byte mov @r1,a ; store new highscore no_highscore ret cc9.bin Quote Link to comment Share on other sites More sharing options...
+LS650 Posted March 28, 2015 Share Posted March 28, 2015 I tried CC9. I like the 'plonk' of the missed veggies. I'm not so sure I'm keen on the squawking sounds as the chef shuffles left-right though... I'd leave out the shuffling, and instead have a quiet 'ping' as the top chef throws the food down. Then have a 'plonk' when the veggies is missed, or a happy sound when the correct veggie is caught. Quote Link to comment Share on other sites More sharing options...
timdu Posted March 28, 2015 Share Posted March 28, 2015 I personally like the sound of the "shuffling" when you move from left - right etc. Kind of reminds me of the Hanna-Barbara FLINTSTONES cartroons when Fred Flintstone or Barney is scrambling to move. Maybe the volume on the "shuffling" could be a little more quieter though. Quote Link to comment Share on other sites More sharing options...
ScottyDont00 Posted March 31, 2015 Share Posted March 31, 2015 Looking forward to getting a copy of this when it is released through 2600connection! Quote Link to comment Share on other sites More sharing options...
timdu Posted April 20, 2015 Share Posted April 20, 2015 OK- the problem with the gradual increase of the speed of the game on each new level has been resolved by Chris.We would like to get some feedback from some play testers and also look for any bugs in the game.CC10C.BIN is attached. thanks Tim Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted April 20, 2015 Author Share Posted April 20, 2015 OK- the problem with the gradual increase of the speed of the game on each new level has been resolved by Chris. We would like to get some feedback from some play testers and also look for any bugs in the game. CC10C.BIN is attached. thanks Tim No, it isn't. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted April 20, 2015 Author Share Posted April 20, 2015 OK, I have it so I'll attach it. cc10c.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted June 23, 2015 Author Share Posted June 23, 2015 More work has been done. Tell me what you think. cc13c.bin 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted June 24, 2015 Author Share Posted June 24, 2015 Changed the scoring and did a little bit more. Unfortunately, I can't post the latest version here. So you'll have to get it here: http://www.atari2600land.com/chiefchef/ Quote Link to comment Share on other sites More sharing options...
mtshark7 Posted July 2, 2015 Share Posted July 2, 2015 Look forward to a final release of this game :-) Sorta off topic do you plan to make a nice ice 2 Chris? Sent from my SM-G900V using Tapatalk Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 2, 2015 Author Share Posted July 2, 2015 What would Nice Ice 2 be about? Quote Link to comment Share on other sites More sharing options...
mtshark7 Posted August 7, 2015 Share Posted August 7, 2015 Hmm...maybe the inverse story where the reindeer has to save santa...possibly a two player option? Or a maze like game? Quote Link to comment Share on other sites More sharing options...
timdu Posted December 4, 2015 Share Posted December 4, 2015 CHIEF CHEF has been officially released on cartridge for the Odyssey2 / Videopac systems. You can order online @ the following web site: http://www.2600connection.com/features/chief_chef/features_chief_chef.html If you have any questions, please let me know. thank you, Tim 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.