• R/O
  • SSH
  • HTTPS

oricsdk: Commit


Commit MetaInfo

Revision47 (tree)
Time2009-03-29 19:11:59
Authordbug

Log Message

Added 4k kong to the repository.

Change Summary

Incremental Difference

--- users/dbug/games/4kkong/main.s (nonexistent)
+++ users/dbug/games/4kkong/main.s (revision 47)
@@ -0,0 +1,1783 @@
1+
2+;//
3+;// System defines
4+;//
5+#define _hires $ec33
6+#define _text $ec21
7+
8+#define _paper $e204
9+
10+#define _ping $fa9f
11+#define _shoot $fab5
12+#define _zap $fae1
13+#define _explode $facb
14+
15+#define _kbdclick1 $fb14
16+#define _kbdclick2 $fb2a
17+
18+#define _cls $ccce
19+#define _lores0 $d9ed
20+#define _lores1 $d9ea
21+
22+
23+
24+;//
25+;// Game sprites defines
26+;//
27+#define BAREL_BASE_MAIN 0
28+#define BAREL_COUNT_MAIN 17
29+
30+#define GIRDER_BASE_MAIN __FirstGirder-__FirstSprite
31+#define GIRDER_COUNT_MAIN 5
32+
33+ .zero
34+
35+ *= $50
36+
37+;// Some two byte values
38+_zp_start_
39+
40+ptr_base_dst
41+pl_base_dst .dsb 1
42+ph_base_dst .dsb 1
43+
44+ptr_dst
45+pl_dst .dsb 1
46+ph_dst .dsb 1
47+
48+ptr_src
49+pl_src .dsb 1
50+ph_src .dsb 1
51+
52+current_score .dsb 2
53+
54+
55+;// Some one byte temporaries
56+rand_low .dsb 1 ;// Random number generator, low part
57+rand_high .dsb 1 ;// Random number generator, high part
58+
59+offset_src .dsb 1 ;// Position related to ptr_src
60+offset_dst .dsb 1 ;// Position related to ptr_dst
61+
62+base_offset_dst .dsb 1 ;// Position related to ptr_dst
63+
64+meta_bloc_index .dsb 1
65+sub_bloc_index .dsb 1
66+
67+tmp_save_sprite .dsb 1
68+tmp_width .dsb 1
69+tmp_height .dsb 1
70+
71+paint_width .dsb 1
72+paint_height .dsb 1
73+
74+save_y .dsb 1
75+
76+b_tmp1 .dsb 1
77+b_tmp2 .dsb 1
78+;b_tmp3 .dsb 1
79+
80+live_counter .dsb 1 ;// Number of lives remaining
81+flag_mario_end .dsb 1 ;// 0=playing 1=mario collide 2=mario falled 3=mario win
82+mario_jmp_count .dsb 1
83+death_counter .dsb 1
84+hero_position .dsb 1
85+last_key_press .dsb 1
86+
87+CraneStatus .byt 0 ; 01 (OFF or ON)
88+CranePosition .byt 0 ; 012
89+HookPosition .byt 0 ; 01234
90+_KongPosition .byt 0 ; 0 1 2 (3 when crashed ???)
91+FixationCount .byt 0 ;4 ; Number of fix that keep the platform attached
92+
93+_SpriteRequestedState .dsb 96 ; 0=not displayed 1=displayed
94+
95+_zp_end_
96+
97+
98+ .text
99+
100+_main
101+ ;// Intro screen
102+ jsr _text
103+ jsr _lores0
104+ ;// NOKEYCLICK+SCREEN no cursor
105+ lda #8+2
106+ sta $26a
107+ ;// Erase CAPS
108+ ldx #0
109+ stx $bb80+35
110+
111+.(
112+loop
113+ lda IntroText1,x
114+ bmi skip
115+ sta $bb80+(40*10)+15,x
116+ sta $bb80+(40*11)+15,x
117+ lda IntroText2,x
118+ sta $bb80+(40*20)+12,x
119+ inx
120+ jmp loop
121+skip
122+.)
123+
124+
125+
126+.(
127+wait_key
128+ ldy #80
129+ ldx b_tmp1
130+ inx
131+ stx b_tmp1
132+loop
133+ txa
134+ and #7
135+ ora #16
136+ sta $bb80-1,y
137+ eor #7
138+ sta $bb80+40*26-1,y
139+
140+ inx
141+ dey
142+ bne loop
143+
144+ ldx #20
145+ jsr BlinkTemporisation
146+
147+ ldx $208
148+ cpx #132
149+ bne wait_key
150+.)
151+
152+
153+
154+ ;// Initialise the random generator values
155+ lda #23
156+ sta rand_low
157+ lda #35
158+ sta rand_high
159+
160+ ;// ======================
161+ ;// We need to start each new game with a completely
162+ ;// rebuilt screen, cleared BSS, reseted variables.
163+ ;// The only thing that should not be reseted is the
164+ ;// hiscores counter !
165+ ;// ======================
166+ ;//
167+ ;// Erase screen using a ROM call
168+ ;// ($ec33 on ATMOS)
169+ ;//
170+ jsr _hires
171+
172+
173+ ;//
174+ ;// Reconfigurate life character
175+ ;// 91 92 93 94
176+.(
177+ ldx #8*4
178+loop
179+ lda _SpriteMario_Life-1,x
180+ sta $9800+91*8-1,x
181+ dex
182+ bne loop
183+.)
184+
185+
186+ ;//
187+ ;// We then need to remove the keyclick,
188+ ;// and also disable the cursor flashing
189+ ;// that is enabled after a HIRES switch.
190+ ;//
191+ ;// #define CURSOR 0x01 /* Cursor on (ctrl-q) */
192+ ;// #define SCREEN 0x02 /* Printout to screen on (ctrl-s) */
193+ ;// #define NOKEYCLICK 0x08 /* Turn keyclick off (ctrl-f) */
194+ ;// #define PROTECT 0x20 /* Protect columns 0-1 (ctrl-]) */
195+ lda #8+2 ;// NOKEYCLICK+SCREEN no cursor
196+ sta $26a
197+
198+
199+ ;//
200+ ;// Load A with zero to clear for many things
201+ ;//
202+ lda #0
203+
204+ ;//
205+ ;// Clear the zero page adresses
206+ ;//
207+ZpClear
208+.(
209+ ldx #_zp_end_-_zp_start_
210+loop
211+ sta _zp_start_-1,x
212+ dex
213+ bne loop
214+.)
215+
216+ ;//
217+ ;// Clear the BSS section
218+ ;//
219+BssClear
220+.(
221+ tay
222+
223+ ldx #<_BssStart_
224+ stx pl_dst
225+ ldx #>_BssStart_
226+ stx ph_dst
227+
228+ ldx #5 ;// 5*256
229+loop_outer
230+ tay
231+loop_inner
232+ sta (ptr_dst),y
233+ dey
234+ bne loop_inner
235+ inc ph_dst
236+ dex
237+ bne loop_outer
238+
239+ ;//
240+ ;// Set some game parameters
241+ ;//
242+
243+ ;// a = 0
244+ sta flag_mario_end
245+ sta _GameCurrentTick
246+ sta CraneStatus
247+ sta CranePosition
248+ sta HookPosition
249+
250+ lda #__FirstMario-__FirstSprite
251+ sta hero_position
252+
253+ lda #3
254+ sta live_counter
255+
256+ lda #4
257+ sta FixationCount
258+
259+ lda #255
260+ sta _GameDelayTick
261+
262+
263+ ;//
264+ ;// Display background graphics
265+ ;//
266+ jsr _DisplayBackground
267+.)
268+
269+
270+
271+ ;//
272+ ;// Stay into the game loop while the hero
273+ ;// still has some live to spare
274+ ;//
275+game_loop
276+ jsr ScoreDisplay
277+
278+
279+.(
280+ ;//
281+ ;// Display the remaining lives of the hero
282+ ;//
283+ lda live_counter
284+ asl
285+ asl
286+ tax
287+
288+ ldy #9+2+2
289+
290+ lda #3
291+ sta b_tmp1
292+loop_draw_lives
293+ lda LifeDisplayTable,x
294+ inx
295+ sta $bb80+40*26+0,y
296+ lda LifeDisplayTable,x
297+ inx
298+ sta $bb80+40*27+0,y
299+ lda LifeDisplayTable,x
300+ inx
301+ sta $bb80+40*26+1,y
302+ lda LifeDisplayTable,x
303+ inx
304+ sta $bb80+40*27+1,y
305+ dey
306+ dey
307+ dec b_tmp1
308+ bne loop_draw_lives
309+.)
310+
311+ jsr MoveHero
312+
313+ ;//
314+ ;// Move items
315+ ;//
316+ lda _GameCurrentTick
317+ bne end_update_items
318+
319+ lda _GameDelayTick
320+ sta _GameCurrentTick
321+
322+ ;// Call the "click" routine
323+ jsr _kbdclick1
324+
325+ jsr HandlePlateforms
326+ jsr MoveBarels
327+ jsr MoveKong
328+
329+end_update_items
330+ dec _GameCurrentTick
331+
332+ jsr MoveGirders
333+ jsr HandleCrane
334+
335+ jsr RefreshAllSprites
336+
337+ jsr HandleCollisions
338+
339+ ldx flag_mario_end
340+ bne MarioEndSequence
341+ jmp game_loop
342+
343+
344+
345+;// ======================
346+;// When mario die, we need to:
347+;// - make it blink few times
348+;// - decrement the life counter
349+;// - if life counter is null full death, reset all
350+;// - if life counter is not null, partial death, erase the first barels
351+;// ======================
352+MarioEndSequence
353+ ;// Reset lots of things death flag
354+ lda #0
355+ sta flag_mario_end
356+ sta _GameCurrentTick
357+ sta CraneStatus
358+ sta CranePosition
359+ sta HookPosition
360+ sta last_key_press
361+
362+
363+ ;// 0=playing
364+ ;// 1=mario collide
365+ ;// 2=mario falled
366+ ;// 3=mario win
367+ cpx #1
368+ beq MarioCollideSequence
369+ cpx #2
370+ beq MarioFallSequence
371+ jmp MarioWinSequence
372+
373+
374+MarioCollideSequence
375+ lda #8
376+ sta death_counter
377+ jsr _kbdclick2
378+blink_loop
379+ jsr BlinkTemporisation_128
380+ ldx hero_position
381+ lda _SpriteRequestedState,x
382+ eor #1
383+ sta _SpriteRequestedState,x
384+ jsr RefreshAllSprites
385+ jsr _kbdclick1
386+ dec death_counter
387+ bne blink_loop
388+
389+ dec live_counter
390+ bmi FullDeath
391+
392+;// Normal death
393+;// Reposition mario at the begining
394+RestartHero
395+ lda #__FirstMario-__FirstSprite
396+ sta hero_position
397+
398+ ;// Erase the first barels
399+ ldx #0
400+ ldy #3
401+ jsr SpriteErase
402+
403+ jmp game_loop
404+
405+;// Full death, start again
406+FullDeath
407+ jmp _main
408+
409+
410+
411+
412+;// We need to make it fall
413+;// Then blink
414+;// Then check for life
415+;// Ok, remove some lifes
416+MarioFallSequence
417+ jsr BlinkTemporisation_128
418+ ldx hero_position
419+ ldy #0
420+ sty _SpriteRequestedState,x
421+ iny
422+ ldx #__MarioJump-__FirstSprite+2
423+ stx hero_position
424+ sty _SpriteRequestedState,x
425+
426+ jmp MarioCollideSequence
427+
428+
429+
430+
431+;// Ok, mario managed to grip the hook !
432+;// We award mario some points for the operation
433+MarioWinSequence
434+.(
435+ ;//
436+ ;// Move mario and the crate to the upper level
437+ ;//
438+ jsr BlinkTemporisation_128
439+
440+ ;// Erase all crane graphics
441+ ldx #__FirstCrane-__FirstSprite
442+ ldy #__LastCrane-__FirstCrane
443+ jsr SpriteErase
444+
445+ ;// Erase previous mario position
446+ ldx #0
447+ stx _SpriteRequestedState+__MarioJump-__FirstSprite
448+
449+ ;// Draw upper crane with hook and mario
450+ inx
451+ stx _SpriteRequestedState+__FirstCrane-__FirstSprite+2
452+ stx _SpriteRequestedState+__FirstVictoryPose-__FirstSprite+0
453+ stx _SpriteRequestedState+__FirstVictoryPose-__FirstSprite+1
454+
455+ ;//
456+ ;// Remove one of the hooks
457+ ;// And redraw them
458+ ;//
459+ dec FixationCount
460+ jsr HandlePlateforms
461+
462+ jsr RefreshAllSprites
463+
464+ ;//
465+ ;// Increment score
466+ ;//
467+ ldx #20
468+ jsr ScoreIncrementMulti
469+
470+
471+ ;//
472+ ;// Check if it was the last platform
473+ ;//
474+ lda FixationCount
475+ bne not_last_platform
476+
477+last_platform
478+ ;// Special case of where there are no more platform under kong
479+ ;// We need to make them blink, and only after fall down
480+
481+ lda #4
482+ sta death_counter
483+
484+platform_blink
485+ ldx #__FirstPlatform-__FirstSprite
486+ ldy #3
487+loop
488+ lda _SpriteRequestedState,x
489+ eor #1
490+ sta _SpriteRequestedState,x
491+ inx
492+ dey
493+ bne loop
494+
495+ jsr RefreshAllSprites
496+ jsr _kbdclick1
497+ jsr BlinkTemporisation_128
498+
499+ dec death_counter
500+ bne platform_blink
501+
502+ ;// Erase the old kong
503+ ldx #__FirstKong-__FirstSprite
504+ ldy #__LastKong-__FirstKong
505+ jsr SpriteErase
506+
507+ ldx #0
508+ stx _SpriteRequestedState+__FirstPlatform-__FirstSprite+0
509+ stx _SpriteRequestedState+__FirstPlatform-__FirstSprite+1
510+ stx _SpriteRequestedState+__FirstPlatform-__FirstSprite+2
511+
512+ ;// Display the falled down platforms as well as kong
513+ inx
514+ stx _SpriteRequestedState+__FirstPlatformFalling-__FirstSprite+0
515+ stx _SpriteRequestedState+__FirstPlatformFalling-__FirstSprite+1
516+ stx _SpriteRequestedState+__FirstPlatformFalling-__FirstSprite+2
517+ stx _SpriteRequestedState+__FirstKongFalling-__FirstSprite
518+
519+ jsr RefreshAllSprites
520+
521+ ;// Another 20 points bonus
522+ ldx #20
523+ jsr ScoreIncrementMulti
524+
525+ ;// Small hearts !
526+ ;// Because I am worth it
527+
528+ lda #20
529+ sta death_counter
530+
531+hearts_blink
532+ dec death_counter
533+ lda death_counter
534+ and #1
535+ sta _SpriteRequestedState+__FirstHeart-__FirstSprite+0
536+ lda death_counter
537+ lsr
538+ and #1
539+ sta _SpriteRequestedState+__FirstHeart-__FirstSprite+1
540+
541+ jsr RefreshAllSprites
542+ jsr _kbdclick1
543+ ldx #64
544+ jsr BlinkTemporisation
545+
546+ lda death_counter
547+ bne hearts_blink
548+
549+not_last_platform
550+
551+
552+ ;//
553+ ;// Move down to intermediate level
554+ ;//
555+
556+ ;// Erase previous victory graphics
557+ ldx #0
558+ stx _SpriteRequestedState+__FirstCrane-__FirstSprite+2
559+ stx _SpriteRequestedState+__FirstVictoryPose-__FirstSprite+0
560+ stx _SpriteRequestedState+__FirstVictoryPose-__FirstSprite+1
561+
562+ ;// Draw upper crane with hook and mario
563+ inx
564+ stx _SpriteRequestedState+__FirstCrane-__FirstSprite+1
565+ stx _SpriteRequestedState+__FirstCraneHook-__FirstSprite+4
566+ stx _SpriteRequestedState+__MarioJump-__FirstSprite
567+
568+ jsr RefreshAllSprites
569+
570+ jsr BlinkTemporisation_128
571+
572+ ;//
573+ ;// Move down to lower level
574+ ;//
575+
576+
577+ ;// Erase previous victory graphics
578+ ldx #0
579+ stx _SpriteRequestedState+__FirstCrane-__FirstSprite+1
580+ stx _SpriteRequestedState+__FirstCraneHook-__FirstSprite+4
581+ stx _SpriteRequestedState+__MarioJump-__FirstSprite
582+
583+ ;// Draw upper crane with hook and mario
584+ inx
585+ stx _SpriteRequestedState+__FirstCrane-__FirstSprite+0
586+ stx _SpriteRequestedState+__FirstVictoryPose-__FirstSprite+2
587+ stx _SpriteRequestedState+__FirstVictoryPose-__FirstSprite+3
588+
589+ jsr RefreshAllSprites
590+
591+ jsr BlinkTemporisation_128
592+
593+ lda FixationCount
594+ bne skip
595+ lda #4
596+ sta FixationCount
597+skip
598+
599+.)
600+ dec _GameDelayTick
601+
602+ jmp RestartHero
603+
604+
605+
606+BlinkTemporisation_128
607+ ldx #128
608+;// Call with X containing the delay
609+BlinkTemporisation
610+.(
611+outer_loop
612+ ldy #0
613+inner_loop
614+ nop
615+ dey
616+ bne inner_loop
617+ dex
618+ bne outer_loop
619+ rts
620+.)
621+
622+
623+
624+
625+
626+HandleCollisions
627+.(
628+ ldy hero_position
629+check_girder_with_jump1
630+ cpy #__FirstMarioJump-__FirstSprite+2
631+ bne check_girder_with_jump2
632+ lda _SpriteRequestedState+__FirstGirder-__FirstSprite+3
633+ bne MarioDeadSequence
634+
635+check_girder_with_jump2
636+ cpy #__FirstMarioJump-__FirstSprite+3
637+ bne check_girder_with_lader
638+ lda _SpriteRequestedState+__FirstGirder-__FirstSprite+2
639+ bne MarioDeadSequence
640+
641+check_girder_with_lader
642+ cpy #__MarioLader_2-__FirstSprite
643+ bne check_jump_on_hook
644+ lda _SpriteRequestedState+__FirstGirder-__FirstSprite+0
645+ bne MarioDeadSequence
646+
647+check_jump_on_hook
648+ cpy #__MarioJump-__FirstSprite
649+ bne check_end
650+
651+ ;// 2=mario falling
652+ ;// 3=mario wining by getting the hook
653+ ldx #2
654+ lda _SpriteRequestedState+__FirstCraneHook-__FirstSprite+4
655+ beq mario_failure
656+ inx
657+mario_failure
658+ stx flag_mario_end
659+
660+check_end
661+ rts
662+
663+MarioDeadSequence
664+ lda #1
665+ sta flag_mario_end
666+ rts
667+.)
668+
669+
670+
671+
672+
673+
674+
675+;// Calculate some RANDOM values
676+;// Not accurate at all, but who cares ?
677+;// For what I need it's enough.
678+_GetRand
679+ lda rand_high
680+ sta b_tmp1
681+ lda rand_low
682+ asl
683+ rol b_tmp1
684+ asl
685+ rol b_tmp1
686+ asl
687+ rol b_tmp1
688+ asl
689+ rol b_tmp1
690+ clc
691+ adc rand_low
692+ pha
693+ lda b_tmp1
694+ adc rand_high
695+ sta rand_high
696+ pla
697+ adc #$11
698+ sta rand_low
699+ lda rand_high
700+ adc #$36
701+ sta rand_high
702+ rts
703+
704+
705+
706+
707+
708+
709+;// Give the value to add in X
710+ScoreIncrementMulti
711+.(
712+ stx death_counter
713+ jsr _kbdclick2
714+score_loop
715+ jsr ScoreIncrement
716+ jsr ScoreDisplay
717+ jsr _kbdclick1
718+ ldx #32
719+ jsr BlinkTemporisation
720+ dec death_counter
721+ bne score_loop
722+ rts
723+.)
724+
725+
726+ScoreIncrement
727+.(
728+ pha
729+
730+ php
731+ sei
732+ sed
733+ clc
734+ lda current_score+1
735+ adc #1
736+ sta current_score+1
737+ lda current_score+0
738+ adc #0
739+ sta current_score+0
740+
741+ ;// Sounddemon proposes a 16 bits subtraction
742+ ;// aeb156 code
743+ lda current_score+0
744+ cmp best_score+0
745+ beq _checktens
746+ bcs _newhigh
747+ bcc _nonewhigh
748+_checktens
749+ lda current_score+1
750+ cmp best_score+1
751+ bcc _nonewhigh
752+_newhigh
753+ lda current_score+0
754+ sta best_score+0
755+ lda current_score+1
756+ sta best_score+1
757+_nonewhigh
758+
759+skip_update_best
760+ plp
761+
762+ pla
763+ rts
764+.)
765+
766+
767+
768+
769+ScoreDisplay
770+ ;//jmp ScoreDisplay
771+.(
772+ ;//
773+ ;// Push two bytes on the stack to avoid using index
774+ ;// registers later in the loop.
775+ ;//
776+ lda best_score+0
777+ pha
778+ lda best_score+1
779+ pha
780+ lda #38
781+ pha
782+
783+
784+ lda current_score+0
785+ pha
786+ lda current_score+1
787+ pha
788+ lda #27
789+ pha
790+
791+ ;// two scores to display
792+ lda #2
793+ lda #2
794+ sta b_tmp1
795+loop_scores
796+ lda #2
797+ sta b_tmp2
798+ pla
799+ tay
800+loop_show_digit
801+ pla
802+ pha
803+ and #15
804+ tax
805+ lda HexDigits,x
806+ sta $bb80+40*26,y
807+ sta $bb80+40*27,y
808+ dey
809+
810+ pla
811+ lsr
812+ lsr
813+ lsr
814+ lsr
815+ tax
816+ lda HexDigits,x
817+ sta $bb80+40*26,y
818+ sta $bb80+40*27,y
819+ dey
820+ dec b_tmp2
821+ bne loop_show_digit
822+
823+ dec b_tmp1
824+ bne loop_scores
825+
826+ rts
827+.)
828+
829+
830+
831+
832+
833+;// Call with
834+;// x first sprite to erase
835+;// y number of sprites to erase
836+SpriteErase
837+.(
838+ lda #0
839+loop
840+ sta _SpriteRequestedState,x
841+ inx
842+ dey
843+ bne loop
844+ rts
845+.)
846+
847+
848+
849+
850+
851+HandleCrane
852+.(
853+ ;//
854+ ;// Update things depending of tic
855+ ;// Move the crane and hooks accordingly
856+ ;//
857+ lda CraneStatus
858+ beq end_crane_movement
859+
860+ dec _GameCraneCurrentTick
861+ bne end_crane_movement
862+
863+ lda _GameCraneDelayTick
864+ sta _GameCraneCurrentTick
865+
866+ ;// 0=down
867+ ;// 1=mid (need hooks)
868+ ldx CranePosition
869+ bne not_down
870+down
871+ inc CranePosition
872+ jmp end_crane_movement
873+
874+not_down
875+ dex
876+ bne end_mid
877+
878+mid
879+ ldx HookPosition
880+ cpx #4
881+ beq end_mid
882+ inc HookPosition
883+ jmp end_crane_movement
884+
885+end_mid
886+ lda #0
887+ sta CranePosition
888+ sta CraneStatus
889+ sta HookPosition
890+
891+end_crane_movement
892+
893+ ;//
894+ ;// Display the crane control handle
895+ ;//
896+ lda CraneStatus
897+ ldx #1
898+ sta _SpriteRequestedState+__FirstCraneStick-__FirstSprite,x
899+ dex
900+ eor #1
901+ sta _SpriteRequestedState+__FirstCraneStick-__FirstSprite,x
902+
903+ ;//
904+ ;// Erase all crane graphics
905+ ;//
906+ ldx #__FirstCrane-__FirstSprite
907+ ldy #__LastCrane-__FirstCrane
908+ jsr SpriteErase
909+
910+ ;//
911+ ;// Draw crane depending of flags
912+ ;//
913+ lda #1
914+ ldx CranePosition
915+ sta _SpriteRequestedState+__FirstCrane-__FirstSprite,x
916+
917+ ;//
918+ ;// Draw hooks depending of position
919+ ;//
920+ ldx CranePosition
921+ cpx #1
922+ bne end_draw_hooks
923+
924+ lda #1
925+ ldx HookPosition
926+ sta _SpriteRequestedState+__FirstCraneHook-__FirstSprite,x
927+
928+end_draw_hooks
929+ rts
930+.)
931+
932+
933+
934+
935+
936+MoveHero
937+.(
938+ ;// Erase all previous position
939+ ldx #__FirstMario-__FirstSprite
940+ ldy #__LastMario-__FirstMario
941+ jsr SpriteErase
942+
943+ ldy hero_position
944+
945+ ;//
946+ ;// Check if the hero is jumping
947+ lda mario_jmp_count
948+ beq handle_keyboard
949+
950+;//zlob
951+;// jmp zlob
952+
953+ dec mario_jmp_count
954+ bne end_keyboard
955+
956+.(
957+check_first_jump
958+ cpy #__FirstMarioJump-__FirstSprite+0
959+ bne check_second_jump
960+ ldy #__FirstFloorMario-__FirstSprite+0
961+ jmp end_keyboard
962+
963+check_second_jump
964+ cpy #__FirstMarioJump-__FirstSprite+1
965+ bne check_third_jump
966+ ldy #__FirstFloorMario-__FirstSprite+3
967+ jmp end_keyboard
968+
969+check_third_jump
970+ cpy #__FirstMarioJump-__FirstSprite+2
971+ bne check_fourth_jump
972+ ldy #__SecondFloorMario-__FirstSprite+1
973+ jmp end_keyboard
974+
975+check_fourth_jump
976+ cpy #__FirstMarioJump-__FirstSprite+3
977+ bne check_end
978+ ldy #__SecondFloorMario-__FirstSprite+2
979+ ;jmp end_keyboard
980+
981+check_end
982+ jmp end_keyboard
983+.)
984+
985+
986+
987+handle_keyboard
988+ ;//
989+ ;// Handle keyboard
990+ ;// y contains the position of hero during all code, do not alterate
991+
992+ ldx $208
993+ cpx #56
994+ bne key_pressed
995+ stx last_key_press
996+ jmp end_keyboard
997+key_pressed
998+ cpx last_key_press
999+ beq end_keyboard
1000+ stx last_key_press
1001+ jsr HandleKeys
1002+
1003+end_keyboard
1004+
1005+ ;//
1006+ ;// Draw new position
1007+ ;//
1008+ lda #1
1009+ sta _SpriteRequestedState,y
1010+
1011+ ;//
1012+ ;// Handle display of mario harm
1013+ ;//
1014+ lda #0
1015+ sta _SpriteRequestedState+__FirstMarioHand-__FirstSprite+0
1016+ sta _SpriteRequestedState+__FirstMarioHand-__FirstSprite+1
1017+
1018+ cpy #__ThirdFloorMario-__FirstSprite
1019+ bne skip_stick
1020+
1021+ lda CraneStatus
1022+ ldx #1
1023+ sta _SpriteRequestedState+__FirstMarioHand-__FirstSprite,x
1024+ eor #1
1025+ dex
1026+ sta _SpriteRequestedState+__FirstMarioHand-__FirstSprite,x
1027+skip_stick
1028+
1029+ cpy hero_position
1030+ beq no_movement
1031+ sty hero_position
1032+ ;// Call the "click" routine
1033+ jsr _kbdclick2
1034+no_movement
1035+
1036+ rts
1037+.)
1038+
1039+
1040+
1041+HandleKeys
1042+.(
1043+ ldx #0
1044+loop_scan
1045+ lda KeyboardRouter_ScanCode,x
1046+ beq end_of_scan
1047+ cmp last_key_press
1048+ beq execute_key
1049+
1050+ inx
1051+ jmp loop_scan
1052+
1053+execute_key
1054+ lda KeyboardRouter_AddrLow,x
1055+ sta pl_dst
1056+ lda KeyboardRouter_AddrHigh,x
1057+ sta ph_dst
1058+ jmp (ptr_dst)
1059+
1060+end_of_scan
1061+ rts
1062+.)
1063+
1064+
1065+
1066+HeroMoveLeft
1067+.(
1068+ ;// Third floor
1069+
1070+check_third_floor
1071+ cpy #__ThirdFloorMario-__FirstSprite+1
1072+ bcc check_third_floor_crane_control
1073+ cpy #__MarioJump-__FirstSprite
1074+ bcs check_end
1075+ dey
1076+ rts
1077+
1078+check_third_floor_crane_control
1079+ cpy #__ThirdFloorMario-__FirstSprite
1080+ bne check_second_floor
1081+
1082+ ;// Activate the crane
1083+ lda #1
1084+ sta CraneStatus
1085+ rts
1086+
1087+ ;// Second floor check (reversed)
1088+check_second_floor
1089+ cpy #__SecondFloorMario-__FirstSprite
1090+ bcc check_first_floor
1091+ cpy #__MarioLader_2-__FirstSprite-1
1092+ bcs check_end
1093+
1094+ ;// Test collision with first floor barels
1095+ tya
1096+ sec
1097+ sbc #((__SecondFloorMario-__FirstSprite)-(__SecondFloorBarel-__FirstSprite))
1098+ tax
1099+ lda _SpriteRequestedState,x
1100+ bne collided
1101+ iny
1102+ rts
1103+
1104+ ;// First floor check
1105+check_first_floor
1106+ cpy #__FirstFloorMario-__FirstSprite+1
1107+ bcc check_end
1108+
1109+ ;// Test collision with first floor barels
1110+ tya
1111+ sec
1112+ sbc #((__FirstFloorMario-__FirstSprite)-(__FirstBarel-__FirstSprite))
1113+ tax
1114+ lda _SpriteRequestedState-1,x
1115+ bne collided
1116+ dey
1117+ rts
1118+
1119+collided
1120+ lda #1
1121+ sta flag_mario_end
1122+ rts
1123+
1124+
1125+check_end
1126+ rts
1127+.)
1128+
1129+
1130+
1131+HeroMoveRight
1132+.(
1133+ ;// Check the jump position
1134+ cpy #__ThirdFloorMario-__FirstSprite+2
1135+ bne check_third_floor
1136+
1137+ ldy #__MarioJump-__FirstSprite+1
1138+ ;// 0=playing 1=mario collide 2=mario falled 3=mario win
1139+ lda #2
1140+ sta flag_mario_end
1141+ rts
1142+
1143+ ;// Third floor
1144+check_third_floor
1145+ cpy #__ThirdFloorMario-__FirstSprite
1146+ bcc check_second_floor
1147+ cpy #__MarioJump-__FirstSprite-1
1148+ bcs check_end
1149+ iny
1150+ rts
1151+
1152+ ;// Second floor check (reversed)
1153+check_second_floor
1154+ cpy #__SecondFloorMario-__FirstSprite+1
1155+ bcc check_first_floor
1156+ cpy #__MarioLader_2-__FirstSprite
1157+ bcs check_end
1158+
1159+ ;// Test collision with first floor barels
1160+ tya
1161+ sec
1162+ sbc #((__SecondFloorMario-__FirstSprite)-(__SecondFloorBarel-__FirstSprite))
1163+ tax
1164+ lda _SpriteRequestedState-1,x
1165+ bne collided
1166+ dey
1167+ rts
1168+
1169+
1170+check_first_floor
1171+ cpy #__SecondFloorMario-__FirstSprite-1
1172+ bcs check_end
1173+
1174+ ;// Test collision with first floor barels
1175+ tya
1176+ sec
1177+ sbc #((__FirstFloorMario-__FirstSprite)-(__FirstBarel-__FirstSprite))
1178+ tax
1179+ lda _SpriteRequestedState,x
1180+ bne collided
1181+ iny
1182+ rts
1183+
1184+collided
1185+ lda #1
1186+ sta flag_mario_end
1187+ rts
1188+
1189+check_end
1190+ rts
1191+.)
1192+
1193+
1194+
1195+HeroMoveDown
1196+.(
1197+check_second_lader
1198+ cpy #__MarioLader_2-__FirstSprite
1199+ bcc check_first_lader
1200+ cpy #__ThirdFloorMario-__FirstSprite+1
1201+ bcs check_end
1202+ dey
1203+ rts
1204+
1205+check_first_lader
1206+ cpy #__SecondFloorMario-__FirstSprite
1207+ bne check_end
1208+ dey
1209+ rts
1210+
1211+check_end
1212+ rts
1213+.)
1214+
1215+
1216+
1217+HeroMoveUp
1218+.(
1219+check_second_lader
1220+ cpy #__MarioLader_2-__FirstSprite-1
1221+ bcc check_first_lader
1222+ cpy #__ThirdFloorMario-__FirstSprite
1223+ bcs check_end
1224+ iny
1225+ rts
1226+
1227+check_first_lader
1228+ cpy #__MarioLader_1-__FirstSprite
1229+ bne check_end
1230+ iny
1231+ rts
1232+
1233+check_end
1234+ rts
1235+.)
1236+
1237+
1238+
1239+
1240+HeroMoveSpace
1241+.(
1242+check_first_jump
1243+ cpy #__FirstFloorMario-__FirstSprite+0
1244+ bne check_second_jump
1245+ ldy #__FirstMarioJump-__FirstSprite+0
1246+ jmp validate_jump
1247+
1248+check_second_jump
1249+ cpy #__FirstFloorMario-__FirstSprite+3
1250+ bne check_third_jump
1251+ ldy #__FirstMarioJump-__FirstSprite+1
1252+ jmp validate_jump
1253+
1254+check_third_jump
1255+ cpy #__SecondFloorMario-__FirstSprite+1
1256+ bne check_fourth_jump
1257+ ldy #__FirstMarioJump-__FirstSprite+2
1258+ jmp validate_jump
1259+
1260+check_fourth_jump
1261+ cpy #__SecondFloorMario-__FirstSprite+2
1262+ bne check_fifth_jump
1263+ ldy #__FirstMarioJump-__FirstSprite+3
1264+ jmp validate_jump
1265+
1266+check_fifth_jump
1267+ cpy #__ThirdFloorMario-__FirstSprite+2
1268+ bne check_end
1269+ ldy #__MarioJump-__FirstSprite
1270+ jmp validate_jump
1271+
1272+check_end
1273+ rts
1274+
1275+validate_jump
1276+ lda #255
1277+ sta mario_jmp_count
1278+ rts
1279+.)
1280+
1281+
1282+
1283+
1284+
1285+;// Needs a routine that:
1286+;// - scrolls a table of "n" values starting at a particular position
1287+;// - clear the last one
1288+;// - returns the value of the first that goes out of table...
1289+
1290+;// X=counter
1291+;// Y=start position
1292+ScrollLeftTable
1293+ ;// Memorise the value that will become ejected
1294+ lda _SpriteRequestedState+BAREL_BASE_MAIN,y
1295+ pha
1296+.(
1297+loop
1298+ lda _SpriteRequestedState+BAREL_BASE_MAIN+1,y
1299+ sta _SpriteRequestedState+BAREL_BASE_MAIN,y
1300+ lda #0
1301+ sta _SpriteRequestedState+BAREL_BASE_MAIN+1,y
1302+ iny
1303+ dex
1304+ bne loop
1305+
1306+ ;// Get back the ejected value
1307+ pla
1308+ rts
1309+.)
1310+
1311+
1312+
1313+
1314+MoveBarels
1315+.(
1316+ ;//
1317+ ;// First, check that we don't collide the hero
1318+ ;//
1319+.(
1320+ lda #6
1321+ sta b_tmp1
1322+outer_loop
1323+ ldy b_tmp1
1324+ lda TableCollisionCount-1,y
1325+ sta b_tmp2
1326+
1327+ ldx TableCollisionSrc-1,y
1328+ lda TableCollisionDst-1,y
1329+ tay
1330+loop
1331+ lda _SpriteRequestedState,x
1332+ beq skip
1333+ lda _SpriteRequestedState,y
1334+ beq skip
1335+collided
1336+ lda #1
1337+ sta flag_mario_end
1338+ rts
1339+
1340+skip
1341+ inx
1342+ iny
1343+ dec b_tmp2
1344+ bne loop
1345+
1346+ dec b_tmp1
1347+ bne outer_loop
1348+.)
1349+
1350+ ;//
1351+ ;// Scroll the first serie
1352+ ;//
1353+ ldy #0
1354+ ldx #__LastBarel-__FirstBarel-1
1355+ jsr ScrollLeftTable
1356+ beq skip_increase_score
1357+
1358+ jsr ScoreIncrement
1359+
1360+skip_increase_score
1361+ ;//
1362+ ;// Scroll the three top ones
1363+ ;//
1364+ ldy #__LastBarel+(3*0)-__FirstSprite
1365+ ldx #2
1366+ jsr ScrollLeftTable
1367+ ora _SpriteRequestedState+__BarelInsertionLeft-__FirstSprite
1368+ sta _SpriteRequestedState+__BarelInsertionLeft-__FirstSprite
1369+
1370+ ldy #__LastBarel+(3*1)-__FirstSprite
1371+ ldx #2
1372+ jsr ScrollLeftTable
1373+ ora _SpriteRequestedState+__BarelInsertionMiddle-__FirstSprite
1374+ sta _SpriteRequestedState+__BarelInsertionMiddle-__FirstSprite
1375+
1376+ ldy #__LastBarel+(3*2)-__FirstSprite
1377+ ldx #2
1378+ jsr ScrollLeftTable
1379+ ora _SpriteRequestedState+__BarelInsertionRight-__FirstSprite
1380+ sta _SpriteRequestedState+__BarelInsertionRight-__FirstSprite
1381+
1382+ rts
1383+.)
1384+
1385+
1386+
1387+
1388+
1389+HandlePlateforms
1390+.(
1391+ ;// Start by erasing all the plateform data
1392+ ldx #__FirstPlatform-__FirstSprite
1393+ ldy #__LastHook-__FirstPlatform
1394+ jsr SpriteErase
1395+
1396+.(
1397+ lda #1
1398+ ldy FixationCount
1399+ beq skip
1400+ ;// Display hooks
1401+loop
1402+ sta _SpriteRequestedState+__FirstHook-__FirstSprite-1,y
1403+ dey
1404+ bne loop
1405+
1406+skip
1407+
1408+.)
1409+
1410+.(
1411+ ldx #__FirstPlatform-__FirstSprite
1412+ lda #1
1413+ ldy #3
1414+loop
1415+ sta _SpriteRequestedState,x
1416+ inx
1417+ dey
1418+ bne loop
1419+skip_platforms
1420+.)
1421+
1422+ rts
1423+.)
1424+
1425+
1426+
1427+
1428+MoveGirders
1429+.(
1430+ dec _GameGirderTick
1431+ beq update_items
1432+ rts
1433+
1434+update_items
1435+ lda _GameGirderDelayTick
1436+ sta _GameGirderTick
1437+
1438+ ;// Move them all by one tick
1439+ ldx #0
1440+ .(
1441+loop
1442+ lda _SpriteRequestedState+GIRDER_BASE_MAIN+1,x
1443+ sta _SpriteRequestedState+GIRDER_BASE_MAIN,x
1444+ inx
1445+ cpx #GIRDER_COUNT_MAIN-1
1446+ bne loop
1447+ .)
1448+
1449+ ;// And clear/set the first one depending of random
1450+ lda #0
1451+ dec _GameGirderSpawnTick
1452+ bpl no_girder_spawn
1453+
1454+ jsr _GetRand
1455+ and #7
1456+ sta _GameGirderSpawnTick
1457+ lda #1
1458+no_girder_spawn
1459+ sta _SpriteRequestedState+GIRDER_BASE_MAIN+GIRDER_COUNT_MAIN-1
1460+
1461+ rts
1462+.)
1463+
1464+
1465+
1466+MoveKong
1467+.(
1468+ ;// Start by erasing all the kong data
1469+ ldx #__FirstKong-__FirstSprite
1470+ ldy #__LastKong-__FirstKong
1471+ jsr SpriteErase
1472+
1473+.(
1474+ lda _KongFlagThrow
1475+ beq handle_movement
1476+
1477+ ;// Throw a barel
1478+ lda #0
1479+ sta _KongFlagThrow
1480+
1481+ lda #1
1482+ ldx #__BarelStartLeft-__FirstSprite
1483+ ldy _KongPosition
1484+ beq throw_it
1485+ ldx #__BarelStartMiddle-__FirstSprite
1486+ dey
1487+ beq throw_it
1488+ ldx #__BarelStartRight-__FirstSprite
1489+throw_it
1490+ sta _SpriteRequestedState,x
1491+ jmp end
1492+
1493+
1494+handle_movement
1495+ ;// And now move kong
1496+ jsr _GetRand
1497+ ldx _KongPosition
1498+ lda rand_low
1499+ cmp #40
1500+ bcc throw_barel
1501+ cmp #140
1502+ bcc left
1503+ cmp #220
1504+ bcs end
1505+
1506+right
1507+ cpx #2
1508+ beq end
1509+ inc _KongPosition
1510+ bcc end
1511+
1512+throw_barel
1513+ lda #1
1514+ sta _KongFlagThrow
1515+ bcc end
1516+
1517+left
1518+ cpx #0
1519+ beq end
1520+ dec _KongPosition
1521+
1522+end
1523+.)
1524+
1525+
1526+.(
1527+ lda #0
1528+ ldx _KongPosition
1529+ beq draw_left
1530+ dex
1531+ beq draw_midle
1532+draw_right
1533+ clc
1534+ adc #4
1535+draw_midle
1536+ clc
1537+ adc #4
1538+draw_left
1539+ tax
1540+
1541+ inx
1542+ ldy #3
1543+ lda _KongFlagThrow
1544+ beq skip_throw
1545+ dey
1546+ dex
1547+skip_throw
1548+ sty b_tmp1
1549+
1550+ lda #1
1551+loop_draw
1552+ sta _SpriteRequestedState+__FirstKong-__FirstSprite,x
1553+ inx
1554+ dec b_tmp1
1555+ bne loop_draw
1556+.)
1557+
1558+ rts
1559+.)
1560+
1561+
1562+
1563+RefreshAllSprites
1564+.(
1565+ ldx #0
1566+loop
1567+ lda _SpriteRequestedState,x
1568+ cmp _SpriteDisplayState,x
1569+ beq skip_sprite
1570+
1571+ ;//
1572+ ;// Change sprite status
1573+ ;//
1574+ sta _SpriteDisplayState,x
1575+
1576+ stx tmp_save_sprite
1577+
1578+ ;// X=Sprite number to display
1579+ jsr _DisplaySingleSprite
1580+
1581+ ldx tmp_save_sprite
1582+skip_sprite
1583+ inx
1584+ cpx #95
1585+ bne loop
1586+.)
1587+ rts
1588+
1589+
1590+
1591+
1592+
1593+
1594+;// Note
1595+;// In all display routines "tmp0" points on the screen
1596+_DisplaySingleSprite
1597+ ;//
1598+ ;// Set in sprite mode
1599+ ;//
1600+ lda #$51 ;// eor (IND),y
1601+ sta _DisplaySprite_Patch_+0
1602+ lda #ptr_dst ;// ptr_dst
1603+ sta _DisplaySprite_Patch_+1
1604+
1605+ ;//
1606+ ;// Screen adress
1607+ ;//
1608+ lda _KongSpriteScreenAddr_Low,x
1609+ sta pl_base_dst
1610+ lda _KongSpriteScreenAddr_High,x
1611+ sta ph_base_dst
1612+
1613+ ;//
1614+ ;// Sprite data adress
1615+ ;//
1616+ lda _KongSpriteAdd_Low,x
1617+ sta pl_src
1618+ lda _KongSpriteAdd_High,x
1619+ sta ph_src
1620+
1621+ ;//
1622+ ;// Sprite width and height
1623+ ;//
1624+ lda _KongSpriteWidth,x
1625+ sta tmp_width
1626+
1627+ lda _KongSpriteHeight,x
1628+ sta tmp_height
1629+
1630+_DisplaySingleSprite_2
1631+ ldy #0
1632+ sty offset_src
1633+ sty offset_dst
1634+
1635+loop_x
1636+ ;// Set screen column
1637+ lda pl_base_dst
1638+ sta pl_dst
1639+ lda ph_base_dst
1640+ sta ph_dst
1641+
1642+ ldx tmp_height
1643+
1644+loop_y
1645+ ldy offset_src
1646+ inc offset_src
1647+ lda (ptr_src),y
1648+ ;//beq skip_empty
1649+
1650+ ldy offset_dst
1651+_DisplaySprite_Patch_
1652+ eor (ptr_dst),y
1653+ ;//ora #64
1654+ sta (ptr_dst),y
1655+skip_empty
1656+
1657+
1658+
1659+ ;// Move the screen pointer by 40 bytes...
1660+ clc
1661+ lda pl_dst
1662+ adc #40
1663+ sta pl_dst
1664+.(
1665+ bcc skip
1666+ inc ph_dst
1667+skip
1668+.)
1669+
1670+ dex
1671+ bne loop_y
1672+
1673+ inc offset_dst
1674+
1675+ dec tmp_width
1676+ bne loop_x
1677+
1678+ rts
1679+
1680+
1681+
1682+;// ======================
1683+;// This draw
1684+;// ======================
1685+_DisplayBackground
1686+ ;//
1687+ ;// Set in bloc mode
1688+ ;//
1689+ lda #$09 ;// ora immediate
1690+ sta _DisplaySprite_Patch_+0
1691+ lda #0 ;// 0
1692+ sta _DisplaySprite_Patch_+1
1693+
1694+.(
1695+ ldy #0
1696+ ldx #0
1697+loop_bloc_type
1698+ stx meta_bloc_index
1699+ lda _ScreenLayoutData_Counters,x
1700+ bne not_finished
1701+ ;// End of drawing
1702+ rts
1703+
1704+not_finished
1705+ sta sub_bloc_index
1706+loop_bloc
1707+ lda #0
1708+ sta base_offset_dst
1709+
1710+ lda _ScreenLayoutData_PaintWidth,y
1711+ sta paint_width
1712+loop_bloc_x
1713+ ;// Screen adress
1714+ clc
1715+ lda _ScreenLayoutData_ScreenAddrLow,y
1716+ adc base_offset_dst
1717+ sta pl_base_dst
1718+ lda _ScreenLayoutData_ScreenAddrHigh,y
1719+ adc #0
1720+ sta ph_base_dst
1721+
1722+ lda _ScreenLayoutData_PaintHeight,y
1723+ sta paint_height
1724+loop_bloc_y
1725+
1726+ ldx meta_bloc_index
1727+
1728+ ;// Sprite adress
1729+ lda _ScreenLayoutData_PatternsAddrLow,x
1730+ sta pl_src
1731+ lda _ScreenLayoutData_PatternsAddrHigh,x
1732+ sta ph_src
1733+
1734+ ;// Sprite dimensions
1735+ lda _ScreenLayoutData_BlocWidth,x
1736+ sta tmp_width
1737+
1738+ lda _ScreenLayoutData_BlocHeight,x
1739+ sta tmp_height
1740+
1741+ sty save_y
1742+ jsr _DisplaySingleSprite_2
1743+ ldy save_y
1744+
1745+ lda pl_dst
1746+ sta pl_base_dst
1747+ lda ph_dst
1748+ sta ph_base_dst
1749+
1750+ dec paint_height
1751+ bne loop_bloc_y
1752+
1753+ clc
1754+ lda base_offset_dst
1755+ adc offset_dst
1756+ sta base_offset_dst
1757+
1758+ dec paint_width
1759+ bne loop_bloc_x
1760+
1761+
1762+ iny
1763+ dec sub_bloc_index
1764+ bne loop_bloc
1765+
1766+ ldx meta_bloc_index
1767+ inx
1768+
1769+ jmp loop_bloc_type
1770+
1771+ rts
1772+.)
1773+
1774+
1775+
1776+
1777+
1778+
1779+
1780+
1781+
1782+
1783+
--- users/dbug/games/4kkong/osdk_build.bat (nonexistent)
+++ users/dbug/games/4kkong/osdk_build.bat (revision 47)
@@ -0,0 +1,35 @@
1+@ECHO OFF
2+
3+
4+::
5+:: Initial check.
6+:: Verify if the SDK is correctly configurated
7+::
8+IF "%OSDK%"=="" GOTO ErCfg
9+
10+
11+::
12+:: Set the build paremeters
13+::
14+CALL osdk_config.bat
15+
16+
17+::
18+:: Launch the compilation of files
19+::
20+CALL %OSDK%\bin\make.bat %OSDKFILE%
21+GOTO End
22+
23+
24+::
25+:: Outputs an error message
26+::
27+:ErCfg
28+ECHO == ERROR ==
29+ECHO The Oric SDK was not configured properly
30+ECHO You should have a OSDK environment variable setted to the location of the SDK
31+GOTO End
32+
33+
34+:End
35+pause
\ No newline at end of file
--- users/dbug/games/4kkong/osdk_config.bat (nonexistent)
+++ users/dbug/games/4kkong/osdk_config.bat (revision 47)
@@ -0,0 +1,10 @@
1+@ECHO OFF
2+
3+::
4+:: Set the build paremeters
5+::
6+SET OSDKADDR=$600
7+SET OSDKNAME=Kong
8+SET OSDKLINK=-B
9+SET OSDKFILE=main spr vars
10+
--- users/dbug/games/4kkong/osdk_execute.bat (nonexistent)
+++ users/dbug/games/4kkong/osdk_execute.bat (revision 47)
@@ -0,0 +1,34 @@
1+@ECHO OFF
2+
3+
4+::
5+:: Initial check.
6+:: Verify if the SDK is correctly configurated,
7+::
8+IF "%OSDK%"=="" GOTO ErCfg
9+
10+::
11+:: Set the build paremeters
12+::
13+CALL osdk_config.bat
14+
15+
16+::
17+:: Run Euphoric using the common batch
18+::
19+CALL %OSDK%\Euphoric\osdk_euphoric.bat
20+GOTO End
21+
22+
23+::
24+:: Outputs an error message about configuration
25+::
26+:ErCfg
27+ECHO == ERROR ==
28+ECHO The Oric SDK was not configured properly
29+ECHO You should have a OSDK environment variable setted to the location of the SDK
30+ECHO ===========
31+IF "%OSDKBRIEF%"=="" PAUSE
32+GOTO End
33+
34+:End
--- users/dbug/games/4kkong/osdk_showmap.bat (nonexistent)
+++ users/dbug/games/4kkong/osdk_showmap.bat (revision 47)
@@ -0,0 +1,38 @@
1+::@ECHO OFF
2+
3+::
4+:: Initial check.
5+:: Verify if the SDK is correctly configurated
6+::
7+IF "%OSDK%"=="" GOTO ErCfg
8+
9+::
10+:: Set the build paremeters
11+::
12+CALL osdk_config.bat
13+
14+::
15+:: Generate the HTML file
16+::
17+%OSDK%\bin\MemMap.exe build\symbols build\map.htm %OSDKNAME% %OSDK%\documentation\documentation.css
18+
19+::
20+:: Display the HTML file
21+::
22+explorer build\map.htm
23+
24+GOTO End
25+
26+
27+::
28+:: Outputs an error message
29+::
30+:ErCfg
31+ECHO == ERROR ==
32+ECHO The Oric SDK was not configured properly
33+ECHO You should have a OSDK environment variable setted to the location of the SDK
34+pause
35+GOTO End
36+
37+
38+:End
--- users/dbug/games/4kkong/spr.s (nonexistent)
+++ users/dbug/games/4kkong/spr.s (revision 47)
@@ -0,0 +1,2938 @@
1+
2+; #######################################
3+; #######################################
4+; All sprites of the game
5+; #######################################
6+; #######################################
7+
8+
9+
10+; =======================================
11+; All 26 barels
12+; =======================================
13+_KongSprite_Barel_FallDiagonal_1
14+ ; 2x11
15+ .byt %000110
16+ .byt %011011
17+ .byt %011010
18+ .byt %111110
19+ .byt %111111
20+ .byt %111111
21+ .byt %111111
22+ .byt %111111
23+ .byt %011111
24+ .byt %001111
25+ .byt %000111
26+
27+ .byt %000000
28+ .byt %110000
29+ .byt %011000
30+ .byt %001100
31+ .byt %101010
32+ .byt %111010
33+ .byt %111010
34+ .byt %101010
35+ .byt %110100
36+ .byt %101100
37+ .byt %111000
38+
39+_KongSprite_Barel_FallDiagonal_2
40+ ; 2x10
41+ .byt %000111
42+ .byt %001100
43+ .byt %011000
44+ .byt %101011
45+ .byt %101111
46+ .byt %111111
47+ .byt %111111
48+ .byt %111111
49+ .byt %011111
50+ .byt %001111
51+
52+ .byt %111000
53+ .byt %110100
54+ .byt %111010
55+ .byt %111010
56+ .byt %101010
57+ .byt %111010
58+ .byt %110010
59+ .byt %111100
60+ .byt %111000
61+ .byt %110000
62+
63+
64+_KongSprite_Barel_FallStraight
65+ ; 2x9
66+ .byt %001111
67+ .byt %010001
68+ .byt %111111
69+ .byt %111111
70+ .byt %111111
71+ .byt %111111
72+ .byt %111111
73+ .byt %111111
74+ .byt %011111
75+
76+ .byt %111000
77+ .byt %000110
78+ .byt %111101
79+ .byt %111101
80+ .byt %111101
81+ .byt %111101
82+ .byt %111101
83+ .byt %111111
84+ .byt %111110
85+
86+_KongSprite_Barel_BottomLeft
87+ ; 2x10
88+ .byt %000111
89+ .byt %001111
90+ .byt %010111
91+ .byt %101110
92+ .byt %101110
93+ .byt %101111
94+ .byt %100111
95+ .byt %010011
96+ .byt %001000
97+ .byt %000111
98+
99+ .byt %100000
100+ .byt %110000
101+ .byt %111000
102+ .byt %011100
103+ .byt %011100
104+ .byt %111100
105+ .byt %111100
106+ .byt %101000
107+ .byt %010000
108+ .byt %100000
109+
110+
111+_KongSprite_Barel_BottomRight
112+ ; 2x10
113+ .byt %000111
114+ .byt %001111
115+ .byt %011111
116+ .byt %111001
117+ .byt %111001
118+ .byt %111111
119+ .byt %111111
120+ .byt %010111
121+ .byt %001000
122+ .byt %000111
123+
124+ .byt %100000
125+ .byt %110000
126+ .byt %101000
127+ .byt %110100
128+ .byt %110100
129+ .byt %110100
130+ .byt %100100
131+ .byt %001000
132+ .byt %010000
133+ .byt %100000
134+
135+
136+_KongSprite_Barel_TopRight
137+ ; 2x10
138+ .byt %000111
139+ .byt %001000
140+ .byt %010111
141+ .byt %111111
142+ .byt %111111
143+ .byt %111001
144+ .byt %111001
145+ .byt %011111
146+ .byt %001111
147+ .byt %000111
148+
149+ .byt %100000
150+ .byt %010000
151+ .byt %001000
152+ .byt %100100
153+ .byt %110100
154+ .byt %110100
155+ .byt %110100
156+ .byt %101000
157+ .byt %110000
158+ .byt %100000
159+
160+
161+_KongSprite_Barel_TopLeft
162+ ; 2x10
163+ .byt %000111
164+ .byt %001000
165+ .byt %010011
166+ .byt %100111
167+ .byt %101111
168+ .byt %101110
169+ .byt %101110
170+ .byt %010111
171+ .byt %001111
172+ .byt %000111
173+
174+ .byt %100000
175+ .byt %010000
176+ .byt %101000
177+ .byt %111100
178+ .byt %111100
179+ .byt %011100
180+ .byt %011100
181+ .byt %111000
182+ .byt %110000
183+ .byt %100000
184+
185+_KongSprite_Barel_Bottom
186+ ; 2x10
187+ .byt %000111
188+ .byt %001111
189+ .byt %011111
190+ .byt %110100
191+ .byt %101100
192+ .byt %101111
193+ .byt %101111
194+ .byt %010111
195+ .byt %001000
196+ .byt %000111
197+
198+ .byt %100000
199+ .byt %110000
200+ .byt %111000
201+ .byt %101100
202+ .byt %110100
203+ .byt %110100
204+ .byt %110100
205+ .byt %101000
206+ .byt %010000
207+ .byt %100000
208+
209+_KongSprite_Barel_Top
210+ ; 2x10
211+ .byt %000111
212+ .byt %001000
213+ .byt %010111
214+ .byt %101111
215+ .byt %101111
216+ .byt %101100
217+ .byt %110100
218+ .byt %011111
219+ .byt %001111
220+ .byt %000111
221+
222+ .byt %100000
223+ .byt %010000
224+ .byt %101000
225+ .byt %110100
226+ .byt %110100
227+ .byt %110100
228+ .byt %101100
229+ .byt %111000
230+ .byt %110000
231+ .byt %100000
232+
233+_KongSprite_Barel_Left
234+ ; 2x10
235+ .byt %000111
236+ .byt %001000
237+ .byt %010111
238+ .byt %101111
239+ .byt %101110
240+ .byt %101110
241+ .byt %101111
242+ .byt %010111
243+ .byt %001000
244+ .byt %000111
245+
246+ .byt %100000
247+ .byt %110000
248+ .byt %011000
249+ .byt %111100
250+ .byt %011100
251+ .byt %011100
252+ .byt %111100
253+ .byt %011000
254+ .byt %110000
255+ .byt %100000
256+
257+_KongSprite_Barel_Right
258+ ; 2x10
259+ .byt %000111
260+ .byt %001100
261+ .byt %011111
262+ .byt %111111
263+ .byt %111001
264+ .byt %111001
265+ .byt %111111
266+ .byt %011011
267+ .byt %001100
268+ .byt %000111
269+
270+ .byt %100000
271+ .byt %010000
272+ .byt %101000
273+ .byt %110100
274+ .byt %110100
275+ .byt %110100
276+ .byt %110100
277+ .byt %101000
278+ .byt %010000
279+ .byt %100000
280+
281+
282+
283+
284+; =======================================
285+; The moving girders
286+; =======================================
287+_KongSprite_Girder_1
288+ ; 4x11
289+ .byt %000000
290+ .byt %000000
291+ .byt %000000
292+ .byt %000000
293+ .byt %000000
294+ .byt %000000
295+ .byt %000000
296+ .byt %111111
297+ .byt %111110
298+ .byt %001100
299+ .byt %111111
300+
301+ .byt %000111
302+ .byt %000011
303+ .byt %000001
304+ .byt %000010
305+ .byt %000011
306+ .byt %000001
307+ .byt %111111
308+ .byt %111111
309+ .byt %001100
310+ .byt %111111
311+ .byt %100000
312+
313+ .byt %110000
314+ .byt %100000
315+ .byt %000000
316+ .byt %100000
317+ .byt %100000
318+ .byt %000000
319+ .byt %111111
320+ .byt %111110
321+ .byt %001100
322+ .byt %111111
323+ .byt %000000
324+
325+ .byt %000000
326+ .byt %000000
327+ .byt %000000
328+ .byt %000000
329+ .byt %000000
330+ .byt %111111
331+ .byt %111111
332+ .byt %011000
333+ .byt %111111
334+ .byt %100000
335+ .byt %000000
336+
337+_KongSprite_Girder_2
338+ ; 4x11
339+ .byt %000000
340+ .byt %000000
341+ .byt %000000
342+ .byt %000000
343+ .byt %000000
344+ .byt %111110
345+ .byt %111111
346+ .byt %001100
347+ .byt %111110
348+ .byt %000011
349+ .byt %000000
350+
351+ .byt %000111
352+ .byt %000011
353+ .byt %000001
354+ .byt %000010
355+ .byt %000011
356+ .byt %000001
357+ .byt %111111
358+ .byt %111111
359+ .byt %001100
360+ .byt %111111
361+ .byt %000000
362+
363+ .byt %110000
364+ .byt %100000
365+ .byt %000000
366+ .byt %100000
367+ .byt %100000
368+ .byt %000000
369+ .byt %111110
370+ .byt %111111
371+ .byt %011000
372+ .byt %111110
373+ .byt %000011
374+
375+ .byt %000000
376+ .byt %000000
377+ .byt %000000
378+ .byt %000000
379+ .byt %000000
380+ .byt %000000
381+ .byt %000000
382+ .byt %111111
383+ .byt %111111
384+ .byt %110000
385+ .byt %111110
386+
387+
388+
389+; =======================================
390+; Donkey kong (3x4=12)
391+; =======================================
392+_KongSprite_Kong_Body
393+ ; 3x25
394+ .byt %000000
395+ .byt %000001
396+ .byt %000111
397+ .byt %001110
398+ .byt %011110
399+ .byt %111011
400+ .byt %110001
401+ .byt %111100
402+ .byt %111110
403+ .byt %111110
404+ .byt %111111
405+ .byt %111110
406+ .byt %011010
407+ .byt %011001
408+ .byt %001100
409+ .byt %000100
410+ .byt %000110
411+ .byt %000111
412+ .byt %001111
413+ .byt %001111
414+ .byt %011111
415+ .byt %011111
416+ .byt %110000
417+ .byt %101010
418+ .byt %111111
419+
420+ .byt %011110
421+ .byt %111111
422+ .byt %111111
423+ .byt %001100
424+ .byt %100001
425+ .byt %111111
426+ .byt %010010
427+ .byt %000000
428+ .byt %011110
429+ .byt %111111
430+ .byt %100001
431+ .byt %101101
432+ .byt %111111
433+ .byt %000000
434+ .byt %111111
435+ .byt %000000
436+ .byt %000000
437+ .byt %000000
438+ .byt %100001
439+ .byt %111111
440+ .byt %110011
441+ .byt %100001
442+ .byt %100001
443+ .byt %010010
444+ .byt %110011
445+
446+ .byt %000000
447+ .byt %100000
448+ .byt %111000
449+ .byt %011100
450+ .byt %011110
451+ .byt %110111
452+ .byt %100011
453+ .byt %001111
454+ .byt %011111
455+ .byt %011111
456+ .byt %111111
457+ .byt %011111
458+ .byt %010110
459+ .byt %100110
460+ .byt %001100
461+ .byt %001100
462+ .byt %011000
463+ .byt %111000
464+ .byt %111100
465+ .byt %111100
466+ .byt %111110
467+ .byt %111110
468+ .byt %000011
469+ .byt %010101
470+ .byt %111111
471+
472+_KongSprite_Kong_Barel
473+ ; 3x13
474+ .byt %000001
475+ .byt %000011
476+ .byt %000110
477+ .byt %000111
478+ .byt %001001
479+ .byt %010111
480+ .byt %100000
481+ .byt %100111
482+ .byt %100001
483+ .byt %110111
484+ .byt %111100
485+ .byt %110000
486+ .byt %100000
487+
488+ .byt %111111
489+ .byt %000000
490+ .byt %101010
491+ .byt %110101
492+ .byt %111111
493+ .byt %111111
494+ .byt %111111
495+ .byt %111111
496+ .byt %111111
497+ .byt %000000
498+ .byt %000000
499+ .byt %000000
500+ .byt %000000
501+
502+ .byt %100000
503+ .byt %010000
504+ .byt %101000
505+ .byt %111000
506+ .byt %100100
507+ .byt %111010
508+ .byt %000001
509+ .byt %111001
510+ .byt %100001
511+ .byt %111011
512+ .byt %001111
513+ .byt %000011
514+ .byt %000001
515+
516+_KongSprite_Kong_LeftHand
517+ ; 2x11
518+ .byt %000010
519+ .byt %000110
520+ .byt %001110
521+ .byt %011110
522+ .byt %011110
523+ .byt %111110
524+ .byt %110001
525+ .byt %100011
526+ .byt %100101
527+ .byt %110010
528+ .byt %011111
529+
530+ .byt %000000
531+ .byt %000000
532+ .byt %000000
533+ .byt %000000
534+ .byt %000000
535+ .byt %000000
536+ .byt %000000
537+ .byt %000000
538+ .byt %100000
539+ .byt %100000
540+ .byt %000000
541+
542+_KongSprite_Kong_Righthand
543+ ; 2x11
544+ .byt %000000
545+ .byt %000000
546+ .byt %000000
547+ .byt %000000
548+ .byt %000000
549+ .byt %000000
550+ .byt %000000
551+ .byt %000000
552+ .byt %000001
553+ .byt %000001
554+ .byt %000000
555+
556+ .byt %010000
557+ .byt %011000
558+ .byt %011100
559+ .byt %011110
560+ .byt %011110
561+ .byt %011111
562+ .byt %100011
563+ .byt %110001
564+ .byt %101001
565+ .byt %010011
566+ .byt %111110
567+
568+
569+_KongSprite_Kong_Falling
570+ ; 4x28
571+ .byt %011110
572+ .byt %100001
573+ .byt %110000
574+ .byt %100000
575+ .byt %011000
576+ .byt %000111
577+ .byt %001111
578+ .byt %011111
579+ .byt %111111
580+ .byt %111111
581+ .byt %011111
582+ .byt %000111
583+ .byt %000001
584+ .byt %000000
585+ .byt %000000
586+ .byt %000000
587+ .byt %000000
588+ .byt %000001
589+ .byt %000011
590+ .byt %000111
591+ .byt %001111
592+ .byt %011111
593+ .byt %011111
594+ .byt %001111
595+ .byt %010001
596+ .byt %100000
597+ .byt %101010
598+ .byt %011110
599+
600+ .byt %000000
601+ .byt %111000
602+ .byt %000100
603+ .byt %000010
604+ .byt %001100
605+ .byt %110001
606+ .byt %100011
607+ .byt %000111
608+ .byt %111101
609+ .byt %110000
610+ .byt %110000
611+ .byt %111001
612+ .byt %111111
613+ .byt %111111
614+ .byt %111111
615+ .byt %111111
616+ .byt %111111
617+ .byt %111111
618+ .byt %111111
619+ .byt %111110
620+ .byt %111100
621+ .byt %111110
622+ .byt %111111
623+ .byt %111111
624+ .byt %111111
625+ .byt %001110
626+ .byt %101000
627+ .byt %110000
628+
629+ .byt %001110
630+ .byt %010001
631+ .byt %010000
632+ .byt %010000
633+ .byt %010000
634+ .byt %110001
635+ .byt %110011
636+ .byt %110001
637+ .byt %111000
638+ .byt %111111
639+ .byt %111100
640+ .byt %111000
641+ .byt %111000
642+ .byt %110000
643+ .byt %111000
644+ .byt %111100
645+ .byt %111111
646+ .byt %110001
647+ .byt %100100
648+ .byt %110010
649+ .byt %011011
650+ .byt %100001
651+ .byt %101110
652+ .byt %111011
653+ .byt %110001
654+ .byt %111100
655+ .byt %001111
656+ .byt %000000
657+
658+ .byt %000000
659+ .byt %000000
660+ .byt %100000
661+ .byt %100000
662+ .byt %010000
663+ .byt %100000
664+ .byt %000000
665+ .byt %000000
666+ .byt %100000
667+ .byt %000000
668+ .byt %000000
669+ .byt %000000
670+ .byt %000000
671+ .byt %000000
672+ .byt %000000
673+ .byt %011000
674+ .byt %100100
675+ .byt %010100
676+ .byt %001000
677+ .byt %111100
678+ .byt %111100
679+ .byt %010110
680+ .byt %000010
681+ .byt %010011
682+ .byt %111001
683+ .byt %010101
684+ .byt %001110
685+ .byt %000000
686+
687+
688+
689+
690+
691+
692+; =======================================
693+; Platforms (3 large ones)
694+; =======================================
695+_KongSprite_Plaform
696+ ; 7x5
697+ .byt %011111
698+ .byt %011111
699+ .byt %011110
700+ .byt %111110
701+ .byt %111111
702+
703+ .byt %111111
704+ .byt %111111
705+ .byt %000111
706+ .byt %000100
707+ .byt %111100
708+
709+ .byt %111111
710+ .byt %111111
711+ .byt %111111
712+ .byt %000000
713+ .byt %000000
714+
715+ .byt %111111
716+ .byt %111111
717+ .byt %111111
718+ .byt %000000
719+ .byt %000000
720+
721+ .byt %111111
722+ .byt %111111
723+ .byt %111110
724+ .byt %000010
725+ .byt %000011
726+
727+ .byt %111111
728+ .byt %111111
729+ .byt %000110
730+ .byt %000110
731+ .byt %111110
732+
733+_KongSprite_Plaform_Falling1
734+ ; 4x30
735+ .byt %000000
736+ .byt %000000
737+ .byt %000000
738+ .byt %000000
739+ .byt %000000
740+ .byt %000000
741+ .byt %000000
742+ .byt %000000
743+ .byt %000000
744+ .byt %000000
745+ .byt %000000
746+ .byt %000000
747+ .byt %000000
748+ .byt %000000
749+ .byt %000000
750+ .byt %000000
751+ .byt %000000
752+ .byt %000000
753+ .byt %000000
754+ .byt %000000
755+ .byt %000000
756+ .byt %000000
757+ .byt %000000
758+ .byt %000000
759+ .byt %000000
760+ .byt %000001
761+ .byt %000001
762+ .byt %000011
763+ .byt %000011
764+ .byt %000110
765+
766+ .byt %000000
767+ .byt %000000
768+ .byt %000000
769+ .byt %000000
770+ .byt %000000
771+ .byt %000000
772+ .byt %000000
773+ .byt %000000
774+ .byt %000000
775+ .byt %000000
776+ .byt %000000
777+ .byt %000000
778+ .byt %000000
779+ .byt %000000
780+ .byt %000000
781+ .byt %000001
782+ .byt %000001
783+ .byt %000011
784+ .byt %000111
785+ .byt %000111
786+ .byt %001110
787+ .byt %001110
788+ .byt %011011
789+ .byt %110010
790+ .byt %110110
791+ .byt %100100
792+ .byt %111100
793+ .byt %011000
794+ .byt %000000
795+ .byt %000000
796+
797+ .byt %000000
798+ .byt %000000
799+ .byt %000000
800+ .byt %000000
801+ .byt %000001
802+ .byt %000001
803+ .byt %000011
804+ .byt %000011
805+ .byt %000111
806+ .byt %000110
807+ .byt %001110
808+ .byt %011100
809+ .byt %011100
810+ .byt %111000
811+ .byt %111000
812+ .byt %110000
813+ .byt %110000
814+ .byt %100000
815+ .byt %000000
816+ .byt %000000
817+ .byt %000000
818+ .byt %000000
819+ .byt %000000
820+ .byt %000000
821+ .byt %000000
822+ .byt %000000
823+ .byt %000000
824+ .byt %000000
825+ .byt %000000
826+ .byt %000000
827+
828+ .byt %000001
829+ .byt %000011
830+ .byt %110110
831+ .byt %111110
832+ .byt %101100
833+ .byt %100100
834+ .byt %001100
835+ .byt %001000
836+ .byt %111000
837+ .byt %110000
838+ .byt %000000
839+ .byt %000000
840+ .byt %000000
841+ .byt %000000
842+ .byt %000000
843+ .byt %000000
844+ .byt %000000
845+ .byt %000000
846+ .byt %000000
847+ .byt %000000
848+ .byt %000000
849+ .byt %000000
850+ .byt %000000
851+ .byt %000000
852+ .byt %000000
853+ .byt %000000
854+ .byt %000000
855+ .byt %000000
856+ .byt %000000
857+ .byt %000000
858+
859+_KongSprite_Plaform_Falling2
860+ ; 3x34
861+ .byt %000001
862+ .byt %000001
863+ .byt %000000
864+ .byt %000000
865+ .byt %000000
866+ .byt %000011
867+ .byt %000010
868+ .byt %000011
869+ .byt %000001
870+ .byt %000001
871+ .byt %000000
872+ .byt %000000
873+ .byt %000000
874+ .byt %000000
875+ .byt %000000
876+ .byt %000000
877+ .byt %000000
878+ .byt %000000
879+ .byt %000000
880+ .byt %000000
881+ .byt %000000
882+ .byt %000000
883+ .byt %000000
884+ .byt %000000
885+ .byt %000000
886+ .byt %000000
887+ .byt %000000
888+ .byt %000000
889+ .byt %000000
890+ .byt %000000
891+ .byt %000000
892+ .byt %000000
893+ .byt %000000
894+ .byt %000000
895+
896+ .byt %100000
897+ .byt %100000
898+ .byt %110000
899+ .byt %110000
900+ .byt %111000
901+ .byt %111000
902+ .byt %011000
903+ .byt %001100
904+ .byt %001100
905+ .byt %101110
906+ .byt %111110
907+ .byt %001110
908+ .byt %001111
909+ .byt %000111
910+ .byt %000111
911+ .byt %000011
912+ .byt %000011
913+ .byt %000011
914+ .byt %000001
915+ .byt %000001
916+ .byt %000000
917+ .byt %000000
918+ .byt %000000
919+ .byt %000000
920+ .byt %000000
921+ .byt %000000
922+ .byt %000000
923+ .byt %000000
924+ .byt %000000
925+ .byt %000000
926+ .byt %000000
927+ .byt %000000
928+ .byt %000000
929+ .byt %000000
930+
931+ .byt %000000
932+ .byt %000000
933+ .byt %000000
934+ .byt %000000
935+ .byt %000000
936+ .byt %000000
937+ .byt %000000
938+ .byt %000000
939+ .byt %000000
940+ .byt %000000
941+ .byt %000000
942+ .byt %000000
943+ .byt %000000
944+ .byt %000000
945+ .byt %100000
946+ .byt %100000
947+ .byt %110000
948+ .byt %110000
949+ .byt %110000
950+ .byt %111000
951+ .byt %111000
952+ .byt %111100
953+ .byt %011100
954+ .byt %011100
955+ .byt %111110
956+ .byt %100110
957+ .byt %110011
958+ .byt %110011
959+ .byt %011110
960+ .byt %011100
961+ .byt %001100
962+ .byt %001110
963+ .byt %000110
964+ .byt %000100
965+
966+_KongSprite_Plaform_Falling3
967+ ; 6x12
968+ .byt %000000
969+ .byt %000000
970+ .byt %000000
971+ .byt %000000
972+ .byt %000000
973+ .byt %000000
974+ .byt %000000
975+ .byt %000000
976+ .byt %000000
977+ .byt %000000
978+ .byt %000001
979+ .byt %000001
980+
981+ .byt %000000
982+ .byt %000000
983+ .byt %000000
984+ .byt %000000
985+ .byt %000000
986+ .byt %000000
987+ .byt %000000
988+ .byt %000000
989+ .byt %000011
990+ .byt %011111
991+ .byt %111100
992+ .byt %100111
993+
994+ .byt %000000
995+ .byt %000000
996+ .byt %000000
997+ .byt %000000
998+ .byt %000000
999+ .byt %000000
1000+ .byt %000011
1001+ .byt %011111
1002+ .byt %111111
1003+ .byt %111100
1004+ .byt %001000
1005+ .byt %111000
1006+
1007+ .byt %000000
1008+ .byt %000000
1009+ .byt %000000
1010+ .byt %000000
1011+ .byt %000111
1012+ .byt %011111
1013+ .byt %111111
1014+ .byt %111000
1015+ .byt %100000
1016+ .byt %000000
1017+ .byt %000000
1018+ .byt %000000
1019+
1020+ .byt %000000
1021+ .byt %000000
1022+ .byt %000111
1023+ .byt %111111
1024+ .byt %111100
1025+ .byt %111111
1026+ .byt %000010
1027+ .byt %000000
1028+ .byt %000000
1029+ .byt %000000
1030+ .byt %000000
1031+ .byt %000000
1032+
1033+ .byt %000110
1034+ .byt %111110
1035+ .byt %111000
1036+ .byt %001000
1037+ .byt %011000
1038+ .byt %110000
1039+ .byt %000000
1040+ .byt %000000
1041+ .byt %000000
1042+ .byt %000000
1043+ .byt %000000
1044+ .byt %000000
1045+
1046+
1047+; =======================================
1048+; Hooks (4 of them)
1049+; =======================================
1050+_KongSprite_Hook
1051+ ; 1x26
1052+ .byt %000110
1053+ .byt %000110
1054+ .byt %000110
1055+ .byt %000110
1056+ .byt %000110
1057+ .byt %000110
1058+ .byt %000110
1059+ .byt %000110
1060+ .byt %000110
1061+ .byt %000110
1062+ .byt %000110
1063+ .byt %000110
1064+ .byt %000110
1065+ .byt %000110
1066+ .byt %000110
1067+ .byt %000110
1068+ .byt %001111
1069+ .byt %001101
1070+ .byt %001011
1071+ .byt %001011
1072+ .byt %001011
1073+ .byt %001011
1074+ .byt %001110
1075+ .byt %001110
1076+ .byt %111100
1077+ .byt %011000
1078+
1079+
1080+; =======================================
1081+; Mario sprites (4 of them)
1082+; =======================================
1083+_KongSprite_Mario_Right_1
1084+ ; 3x19
1085+ .byt %000000
1086+ .byt %000000
1087+ .byt %000000
1088+ .byt %000000
1089+ .byt %000001
1090+ .byt %000001
1091+ .byt %111000
1092+ .byt %111100
1093+ .byt %011110
1094+ .byt %000111
1095+ .byt %000001
1096+ .byt %000001
1097+ .byt %000011
1098+ .byt %000011
1099+ .byt %000011
1100+ .byt %000011
1101+ .byt %000011
1102+ .byt %001111
1103+ .byt %001111
1104+
1105+ .byt %011111
1106+ .byt %011111
1107+ .byt %111111
1108+ .byt %111111
1109+ .byt %111111
1110+ .byt %110101
1111+ .byt %110101
1112+ .byt %010101
1113+ .byt %011111
1114+ .byt %111000
1115+ .byt %101111
1116+ .byt %001000
1117+ .byt %001000
1118+ .byt %111100
1119+ .byt %001111
1120+ .byt %111111
1121+ .byt %100001
1122+ .byt %100001
1123+ .byt %000000
1124+
1125+ .byt %111000
1126+ .byt %111000
1127+ .byt %001110
1128+ .byt %011000
1129+ .byt %001110
1130+ .byt %111100
1131+ .byt %011000
1132+ .byt %001100
1133+ .byt %100000
1134+ .byt %000111
1135+ .byt %111110
1136+ .byt %001100
1137+ .byt %000000
1138+ .byt %110000
1139+ .byt %110000
1140+ .byt %110000
1141+ .byt %100000
1142+ .byt %100000
1143+ .byt %000000
1144+
1145+
1146+_KongSprite_Mario_Left_1
1147+ ; 3x20
1148+ .byt %000000
1149+ .byt %000000
1150+ .byt %000000
1151+ .byt %000000
1152+ .byt %000000
1153+ .byt %000000
1154+ .byt %000000
1155+ .byt %000101
1156+ .byt %000111
1157+ .byt %000011
1158+ .byt %010001
1159+ .byt %111000
1160+ .byt %111110
1161+ .byt %011111
1162+ .byt %011001
1163+ .byt %000000
1164+ .byt %000000
1165+ .byt %000000
1166+ .byt %000000
1167+ .byt %000000
1168+
1169+ .byt %001001
1170+ .byt %001111
1171+ .byt %000111
1172+ .byt %110101
1173+ .byt %111101
1174+ .byt %011001
1175+ .byt %011111
1176+ .byt %011111
1177+ .byt %011111
1178+ .byt %000111
1179+ .byt %100011
1180+ .byt %111111
1181+ .byt %111001
1182+ .byt %101111
1183+ .byt %111110
1184+ .byt %111101
1185+ .byt %011100
1186+ .byt %001100
1187+ .byt %011111
1188+ .byt %011110
1189+
1190+ .byt %100000
1191+ .byt %110000
1192+ .byt %111100
1193+ .byt %111110
1194+ .byt %111110
1195+ .byt %111110
1196+ .byt %111110
1197+ .byt %111110
1198+ .byt %111110
1199+ .byt %111100
1200+ .byt %111100
1201+ .byt %000000
1202+ .byt %000000
1203+ .byt %100000
1204+ .byt %110000
1205+ .byt %111000
1206+ .byt %101000
1207+ .byt %000000
1208+ .byt %000000
1209+ .byt %000000
1210+
1211+_KongSprite_Mario_JumpForHook
1212+ ; 3x24
1213+ .byt %000011
1214+ .byt %000111
1215+ .byt %001111
1216+ .byt %011111
1217+ .byt %111111
1218+ .byt %111111
1219+ .byt %011111
1220+ .byt %001111
1221+ .byt %001111
1222+ .byt %001111
1223+ .byt %000111
1224+ .byt %010000
1225+ .byt %111111
1226+ .byt %011001
1227+ .byt %000000
1228+ .byt %110111
1229+ .byt %111111
1230+ .byt %111000
1231+ .byt %011100
1232+ .byt %001100
1233+ .byt %000001
1234+ .byt %000001
1235+ .byt %000011
1236+ .byt %000011
1237+
1238+ .byt %010000
1239+ .byt %110000
1240+ .byt %110110
1241+ .byt %011110
1242+ .byt %001100
1243+ .byt %111110
1244+ .byt %110000
1245+ .byt %100000
1246+ .byt %000100
1247+ .byt %001100
1248+ .byt %111001
1249+ .byt %110111
1250+ .byt %110110
1251+ .byt %110110
1252+ .byt %111110
1253+ .byt %110110
1254+ .byt %111110
1255+ .byt %111110
1256+ .byt %011100
1257+ .byt %111000
1258+ .byt %110000
1259+ .byt %100000
1260+ .byt %100000
1261+ .byt %100000
1262+
1263+ .byt %000000
1264+ .byt %000000
1265+ .byt %000000
1266+ .byt %000000
1267+ .byt %000000
1268+ .byt %000000
1269+ .byt %100000
1270+ .byt %110000
1271+ .byt %111110
1272+ .byt %111100
1273+ .byt %100000
1274+ .byt %000000
1275+ .byt %000000
1276+ .byt %000000
1277+ .byt %000000
1278+ .byt %000000
1279+ .byt %000000
1280+ .byt %000000
1281+ .byt %000000
1282+ .byt %000000
1283+ .byt %000000
1284+ .byt %000000
1285+ .byt %000000
1286+ .byt %000000
1287+
1288+
1289+
1290+_KongSprite_Mario_Fall
1291+ ; 3x20
1292+ .byt %000000
1293+ .byt %000000
1294+ .byt %000000
1295+ .byt %110100
1296+ .byt %111101
1297+ .byt %011111
1298+ .byt %000011
1299+ .byt %000011
1300+ .byt %000001
1301+ .byt %000001
1302+ .byt %000000
1303+ .byt %010111
1304+ .byt %111110
1305+ .byt %111100
1306+ .byt %010000
1307+ .byt %000000
1308+ .byt %000000
1309+ .byt %000000
1310+ .byt %000000
1311+ .byt %000000
1312+
1313+ .byt %000000
1314+ .byt %000011
1315+ .byt %000001
1316+ .byt %000011
1317+ .byt %111111
1318+ .byt %111110
1319+ .byt %101100
1320+ .byt %111100
1321+ .byt %101000
1322+ .byt %101011
1323+ .byt %101111
1324+ .byt %111111
1325+ .byt %011111
1326+ .byt %011111
1327+ .byt %110011
1328+ .byt %110001
1329+ .byt %010001
1330+ .byt %000001
1331+ .byt %000000
1332+ .byt %000000
1333+
1334+ .byt %111000
1335+ .byt %111000
1336+ .byt %100000
1337+ .byt %100000
1338+ .byt %000000
1339+ .byt %000000
1340+ .byt %000101
1341+ .byt %001111
1342+ .byt %111110
1343+ .byt %111010
1344+ .byt %110000
1345+ .byt %111100
1346+ .byt %111110
1347+ .byt %101110
1348+ .byt %000111
1349+ .byt %100100
1350+ .byt %110110
1351+ .byt %111110
1352+ .byt %111000
1353+ .byt %011000
1354+
1355+_KongSprite_Mario_Crash
1356+ ; 3x21
1357+ .byt %000000
1358+ .byt %000000
1359+ .byt %000000
1360+ .byt %110000
1361+ .byt %111110
1362+ .byt %011100
1363+ .byt %001111
1364+ .byt %000111
1365+ .byt %000001
1366+ .byt %000001
1367+ .byt %000000
1368+ .byt %000001
1369+ .byt %000011
1370+ .byt %010110
1371+ .byt %111000
1372+ .byt %010001
1373+ .byt %000011
1374+ .byt %000011
1375+ .byt %000001
1376+ .byt %000000
1377+ .byt %000000
1378+
1379+ .byt %000000
1380+ .byt %000000
1381+ .byt %000011
1382+ .byt %000011
1383+ .byt %000001
1384+ .byt %000001
1385+ .byt %111111
1386+ .byt %011110
1387+ .byt %111111
1388+ .byt %101101
1389+ .byt %110011
1390+ .byt %110011
1391+ .byt %101101
1392+ .byt %111111
1393+ .byt %111111
1394+ .byt %100100
1395+ .byt %100000
1396+ .byt %001010
1397+ .byt %100100
1398+ .byt %111111
1399+ .byt %001110
1400+
1401+ .byt %001100
1402+ .byt %011100
1403+ .byt %111000
1404+ .byt %110000
1405+ .byt %100000
1406+ .byt %110000
1407+ .byt %110000
1408+ .byt %110000
1409+ .byt %100000
1410+ .byt %000010
1411+ .byt %100110
1412+ .byt %111111
1413+ .byt %100100
1414+ .byt %110000
1415+ .byt %100000
1416+ .byt %100000
1417+ .byt %111000
1418+ .byt %011000
1419+ .byt %110000
1420+ .byt %100000
1421+ .byt %000000
1422+
1423+_KongSprite_Mario_GrippedToHook
1424+ ; 3x20
1425+ .byt %000000
1426+ .byt %001110
1427+ .byt %001111
1428+ .byt %111111
1429+ .byt %001111
1430+ .byt %001001
1431+ .byt %011101
1432+ .byt %111111
1433+ .byt %011111
1434+ .byt %001110
1435+ .byt %000000
1436+ .byt %000000
1437+ .byt %000000
1438+ .byt %000001
1439+ .byt %000011
1440+ .byt %000001
1441+ .byt %000000
1442+ .byt %000000
1443+ .byt %000000
1444+ .byt %000000
1445+
1446+ .byt %000000
1447+ .byt %000000
1448+ .byt %110000
1449+ .byt %111001
1450+ .byt %111000
1451+ .byt %111100
1452+ .byt %111101
1453+ .byt %111101
1454+ .byt %011101
1455+ .byt %011111
1456+ .byt %010011
1457+ .byt %000111
1458+ .byt %001111
1459+ .byt %011100
1460+ .byt %110001
1461+ .byt %100011
1462+ .byt %000010
1463+ .byt %000000
1464+ .byt %000000
1465+ .byt %000000
1466+
1467+ .byt %010000
1468+ .byt %010000
1469+ .byt %110000
1470+ .byt %110000
1471+ .byt %100000
1472+ .byt %100000
1473+ .byt %100000
1474+ .byt %100000
1475+ .byt %100000
1476+ .byt %110000
1477+ .byt %011100
1478+ .byt %110100
1479+ .byt %111110
1480+ .byt %111111
1481+ .byt %111111
1482+ .byt %100111
1483+ .byt %001110
1484+ .byt %111000
1485+ .byt %011000
1486+ .byt %001100
1487+
1488+
1489+_KongSprite_Mario_Jump_Right
1490+ ; 3x17
1491+ .byt %000001
1492+ .byt %000001
1493+ .byt %000001
1494+ .byt %000011
1495+ .byt %000011
1496+ .byt %000111
1497+ .byt %000111
1498+ .byt %000111
1499+ .byt %000011
1500+ .byt %001000
1501+ .byt %111111
1502+ .byt %011001
1503+ .byt %000000
1504+ .byt %001101
1505+ .byt %011111
1506+ .byt %111011
1507+ .byt %110000
1508+
1509+ .byt %111111
1510+ .byt %111111
1511+ .byt %111111
1512+ .byt %111100
1513+ .byt %111101
1514+ .byt %111111
1515+ .byt %111000
1516+ .byt %110000
1517+ .byt %111111
1518+ .byt %011000
1519+ .byt %111100
1520+ .byt %101111
1521+ .byt %110110
1522+ .byt %111111
1523+ .byt %110111
1524+ .byt %111100
1525+ .byt %000000
1526+
1527+ .byt %100000
1528+ .byt %100000
1529+ .byt %110000
1530+ .byt %100000
1531+ .byt %111000
1532+ .byt %111000
1533+ .byt %110000
1534+ .byt %000000
1535+ .byt %010000
1536+ .byt %011100
1537+ .byt %111110
1538+ .byt %000000
1539+ .byt %001100
1540+ .byt %101100
1541+ .byt %111100
1542+ .byt %011100
1543+ .byt %001000
1544+
1545+_KongSprite_Mario_Jump_Left
1546+ ; 3x18
1547+ .byt %000001
1548+ .byt %000001
1549+ .byt %000111
1550+ .byt %000010
1551+ .byt %000010
1552+ .byt %000110
1553+ .byt %000111
1554+ .byt %000011
1555+ .byt %000000
1556+ .byt %000100
1557+ .byt %011110
1558+ .byt %010111
1559+ .byt %000000
1560+ .byt %001100
1561+ .byt %001101
1562+ .byt %001111
1563+ .byt %001110
1564+ .byt %000100
1565+
1566+ .byt %111111
1567+ .byt %111111
1568+ .byt %111111
1569+ .byt %011111
1570+ .byt %011111
1571+ .byt %111111
1572+ .byt %101111
1573+ .byt %000111
1574+ .byt %000111
1575+ .byt %111110
1576+ .byt %000110
1577+ .byt %111111
1578+ .byt %001011
1579+ .byt %011011
1580+ .byt %111111
1581+ .byt %111011
1582+ .byt %001110
1583+ .byt %000000
1584+
1585+ .byt %000000
1586+ .byt %000000
1587+ .byt %000000
1588+ .byt %100000
1589+ .byt %100000
1590+ .byt %110000
1591+ .byt %110000
1592+ .byt %110000
1593+ .byt %000000
1594+ .byt %000100
1595+ .byt %111111
1596+ .byt %110110
1597+ .byt %000000
1598+ .byt %001000
1599+ .byt %101100
1600+ .byt %111110
1601+ .byt %110110
1602+ .byt %000010
1603+
1604+
1605+_KongSprite_Mario_Manette
1606+ ; 4x19
1607+ .byt %000000
1608+ .byt %000001
1609+ .byt %000011
1610+ .byt %000111
1611+ .byt %001111
1612+ .byt %001111
1613+ .byt %001111
1614+ .byt %000111
1615+ .byt %000111
1616+ .byt %000011
1617+ .byt %000011
1618+ .byt %000001
1619+ .byt %000000
1620+ .byt %000000
1621+ .byt %000000
1622+ .byt %000000
1623+ .byt %000000
1624+ .byt %000000
1625+ .byt %000000
1626+
1627+ .byt %000010
1628+ .byt %110110
1629+ .byt %111100
1630+ .byt %110111
1631+ .byt %110011
1632+ .byt %111011
1633+ .byt %111111
1634+ .byt %111100
1635+ .byt %111001
1636+ .byt %111011
1637+ .byt %111111
1638+ .byt %111011
1639+ .byt %110001
1640+ .byt %000000
1641+ .byt %000000
1642+ .byt %000000
1643+ .byt %000000
1644+ .byt %000001
1645+ .byt %000001
1646+
1647+ .byt %000000
1648+ .byt %000000
1649+ .byt %000000
1650+ .byt %100000
1651+ .byt %100000
1652+ .byt %100000
1653+ .byt %000001
1654+ .byt %000011
1655+ .byt %100011
1656+ .byt %000111
1657+ .byt %111110
1658+ .byt %110011
1659+ .byt %111111
1660+ .byt %011100
1661+ .byt %001111
1662+ .byt %011110
1663+ .byt %011100
1664+ .byt %111110
1665+ .byt %111110
1666+
1667+ .byt %000000
1668+ .byt %000000
1669+ .byt %000000
1670+ .byt %000000
1671+ .byt %000000
1672+ .byt %000000
1673+ .byt %000000
1674+ .byt %011000
1675+ .byt %110000
1676+ .byt %100001
1677+ .byt %000011
1678+ .byt %111111
1679+ .byt %111111
1680+ .byt %110011
1681+ .byt %100000
1682+ .byt %000000
1683+ .byt %000000
1684+ .byt %000000
1685+ .byt %000000
1686+
1687+
1688+_KongSprite_Mario_Climb
1689+ ; 3x22
1690+ .byt %000000
1691+ .byt %000000
1692+ .byt %000000
1693+ .byt %000000
1694+ .byt %000000
1695+ .byt %011010
1696+ .byt %001110
1697+ .byt %001110
1698+ .byt %000111
1699+ .byt %000011
1700+ .byt %110000
1701+ .byt %110111
1702+ .byt %111110
1703+ .byt %111111
1704+ .byt %011101
1705+ .byt %001001
1706+ .byt %000000
1707+ .byt %000000
1708+ .byt %000000
1709+ .byt %000000
1710+ .byt %000000
1711+ .byt %000000
1712+
1713+ .byt %000011
1714+ .byt %000111
1715+ .byt %001111
1716+ .byt %011111
1717+ .byt %111110
1718+ .byt %011110
1719+ .byt %011110
1720+ .byt %011111
1721+ .byt %001100
1722+ .byt %111110
1723+ .byt %010101
1724+ .byt %110011
1725+ .byt %101011
1726+ .byt %111111
1727+ .byt %111010
1728+ .byt %111110
1729+ .byt %011111
1730+ .byt %000011
1731+ .byt %000110
1732+ .byt %001111
1733+ .byt %000111
1734+ .byt %000001
1735+
1736+ .byt %101100
1737+ .byt %111000
1738+ .byt %111000
1739+ .byt %011110
1740+ .byt %001111
1741+ .byt %111111
1742+ .byt %011110
1743+ .byt %111110
1744+ .byt %111000
1745+ .byt %000000
1746+ .byt %110000
1747+ .byt %000000
1748+ .byt %000000
1749+ .byt %110000
1750+ .byt %111100
1751+ .byt %011110
1752+ .byt %001010
1753+ .byt %000000
1754+ .byt %000000
1755+ .byt %100000
1756+ .byt %110000
1757+ .byt %110000
1758+
1759+_KongSprite_Mario_LoopUp
1760+ ; 4x18
1761+ .byt %000000
1762+ .byt %000000
1763+ .byt %000000
1764+ .byt %000000
1765+ .byt %000000
1766+ .byt %000000
1767+ .byt %000000
1768+ .byt %000000
1769+ .byt %000000
1770+ .byt %000000
1771+ .byt %000110
1772+ .byt %001111
1773+ .byt %001011
1774+ .byt %000001
1775+ .byt %000000
1776+ .byt %000000
1777+ .byt %000000
1778+ .byt %000000
1779+
1780+ .byt %000000
1781+ .byt %000000
1782+ .byt %000000
1783+ .byt %110000
1784+ .byt %011111
1785+ .byt %001110
1786+ .byt %000110
1787+ .byt %000110
1788+ .byt %000011
1789+ .byt %110111
1790+ .byt %111110
1791+ .byt %110100
1792+ .byt %100111
1793+ .byt %100011
1794+ .byt %000000
1795+ .byt %000000
1796+ .byt %000001
1797+ .byt %000001
1798+
1799+ .byt %000000
1800+ .byt %000000
1801+ .byt %001101
1802+ .byt %001110
1803+ .byt %000110
1804+ .byt %000110
1805+ .byt %010011
1806+ .byt %011001
1807+ .byt %111101
1808+ .byt %100111
1809+ .byt %111111
1810+ .byt %111011
1811+ .byt %110001
1812+ .byt %110001
1813+ .byt %111000
1814+ .byt %111000
1815+ .byt %111110
1816+ .byt %111110
1817+
1818+ .byt %100000
1819+ .byt %101000
1820+ .byt %111100
1821+ .byt %111110
1822+ .byt %011111
1823+ .byt %001111
1824+ .byt %011111
1825+ .byt %111111
1826+ .byt %111111
1827+ .byt %111110
1828+ .byt %111100
1829+ .byt %000000
1830+ .byt %100000
1831+ .byt %111000
1832+ .byt %110000
1833+ .byt %010000
1834+ .byt %000000
1835+ .byt %000000
1836+
1837+
1838+_KongSprite_Mario_HandDown
1839+ ; 2x8
1840+ .byt %000000
1841+ .byt %000000
1842+ .byt %000000
1843+ .byt %000000
1844+ .byt %000011
1845+ .byt %000001
1846+ .byt %000011
1847+ .byt %000010
1848+
1849+ .byt %000100
1850+ .byt %001110
1851+ .byt %011000
1852+ .byt %110000
1853+ .byt %100000
1854+ .byt %100000
1855+ .byt %000000
1856+ .byt %000000
1857+
1858+_KongSprite_Mario_HandUp
1859+ ; 2x5
1860+ .byt %000011
1861+ .byt %000001
1862+ .byt %000001
1863+ .byt %000000
1864+ .byt %000000
1865+
1866+ .byt %000000
1867+ .byt %010000
1868+ .byt %110000
1869+ .byt %111110
1870+ .byt %000110
1871+
1872+
1873+; =======================================
1874+; Crane and hook sprites
1875+; =======================================
1876+_KongSprite_Crane_Stick
1877+ ; 7x8
1878+ .byt %000001
1879+ .byt %000110
1880+ .byt %001100
1881+ .byt %011110
1882+ .byt %110011
1883+ .byt %110011
1884+ .byt %011110
1885+ .byt %001100
1886+
1887+ .byt %111111
1888+ .byt %001010
1889+ .byt %010001
1890+ .byt %100000
1891+ .byt %111111
1892+ .byt %111111
1893+ .byt %000000
1894+ .byt %000000
1895+
1896+ .byt %111111
1897+ .byt %001010
1898+ .byt %010001
1899+ .byt %100000
1900+ .byt %111111
1901+ .byt %111111
1902+ .byt %000000
1903+ .byt %000000
1904+
1905+ .byt %111111
1906+ .byt %001010
1907+ .byt %010001
1908+ .byt %100000
1909+ .byt %111111
1910+ .byt %111111
1911+ .byt %000000
1912+ .byt %000000
1913+
1914+ .byt %111111
1915+ .byt %001010
1916+ .byt %010001
1917+ .byt %100000
1918+ .byt %111111
1919+ .byt %111111
1920+ .byt %000000
1921+ .byt %000000
1922+
1923+ .byt %111111
1924+ .byt %001010
1925+ .byt %010001
1926+ .byt %100000
1927+ .byt %111111
1928+ .byt %111111
1929+ .byt %000000
1930+ .byt %000000
1931+
1932+ .byt %111111
1933+ .byt %001010
1934+ .byt %010001
1935+ .byt %100000
1936+ .byt %111111
1937+ .byt %111111
1938+ .byt %000000
1939+ .byt %000000
1940+
1941+ .byt %111111
1942+ .byt %001010
1943+ .byt %010001
1944+ .byt %100000
1945+ .byt %111111
1946+ .byt %111111
1947+ .byt %000000
1948+ .byt %000000
1949+
1950+
1951+_KongSprite_Crane_Hook_1
1952+ ; 2x4
1953+ .byt %111000
1954+ .byt %000111
1955+ .byt %000000
1956+ .byt %000000
1957+
1958+ .byt %000010
1959+ .byt %100001
1960+ .byt %011001
1961+ .byt %000110
1962+
1963+_KongSprite_Crane_Hook_2
1964+ ; 2x8
1965+ .byt %000010
1966+ .byt %000001
1967+ .byt %000000
1968+ .byt %000000
1969+ .byt %000000
1970+ .byt %000000
1971+ .byt %000000
1972+ .byt %000000
1973+
1974+ .byt %000000
1975+ .byt %000000
1976+ .byt %100000
1977+ .byt %010000
1978+ .byt %010000
1979+ .byt %010001
1980+ .byt %001001
1981+ .byt %000110
1982+
1983+_KongSprite_Crane_Hook_3
1984+ ; 1x12
1985+ .byt %000100
1986+ .byt %000100
1987+ .byt %000100
1988+ .byt %000100
1989+ .byt %000100
1990+ .byt %000100
1991+ .byt %000100
1992+ .byt %000100
1993+ .byt %001000
1994+ .byt %001000
1995+ .byt %001001
1996+ .byt %000110
1997+
1998+_KongSprite_Crane_Hook_4
1999+ ; 2x11
2000+ .byt %000000
2001+ .byt %000000
2002+ .byt %000001
2003+ .byt %000001
2004+ .byt %000010
2005+ .byt %000100
2006+ .byt %001000
2007+ .byt %010000
2008+ .byt %010000
2009+ .byt %010010
2010+ .byt %001100
2011+
2012+ .byt %100000
2013+ .byt %100000
2014+ .byt %000000
2015+ .byt %000000
2016+ .byt %000000
2017+ .byt %000000
2018+ .byt %000000
2019+ .byt %000000
2020+ .byt %000000
2021+ .byt %000000
2022+ .byt %000000
2023+
2024+_KongSprite_Crane_Hook_5
2025+ ; 2x8
2026+ .byt %000000
2027+ .byt %000000
2028+ .byt %000000
2029+ .byt %000111
2030+ .byt %001000
2031+ .byt %001000
2032+ .byt %001000
2033+ .byt %000111
2034+
2035+ .byt %000001
2036+ .byt %000110
2037+ .byt %011000
2038+ .byt %100000
2039+ .byt %000000
2040+ .byt %000000
2041+ .byt %000000
2042+ .byt %000000
2043+
2044+
2045+_KongSprite_Crane_ControlDown
2046+ ; 2x4
2047+ .byt %000000
2048+ .byt %111111
2049+ .byt %000000
2050+ .byt %000000
2051+
2052+ .byt %110000
2053+ .byt %111000
2054+ .byt %101000
2055+ .byt %010000
2056+
2057+
2058+_KongSprite_Crane_ControlUp
2059+ ; 2x8
2060+ .byt %000000
2061+ .byt %000001
2062+ .byt %000001
2063+ .byt %000001
2064+ .byt %000001
2065+ .byt %000011
2066+ .byt %000110
2067+ .byt %001100
2068+ .byt %000100
2069+
2070+ .byt %110000
2071+ .byt %111000
2072+ .byt %101000
2073+ .byt %110000
2074+ .byt %000000
2075+ .byt %000000
2076+ .byt %000000
2077+ .byt %000000
2078+ .byt %000000
2079+
2080+
2081+
2082+; =======================================
2083+; Small hearts
2084+; =======================================
2085+_KongSprite_SmallHeart
2086+ ; 1x7
2087+ .byt %000100
2088+ .byt %011010
2089+ .byt %101010
2090+ .byt %100010
2091+ .byt %010010
2092+ .byt %001100
2093+ .byt %001000
2094+
2095+_KongSprite_BigHeart
2096+ ; 2x8
2097+ .byt %000001
2098+ .byt %000010
2099+ .byt %000010
2100+ .byt %000001
2101+ .byt %000001
2102+ .byt %000000
2103+ .byt %000000
2104+ .byt %000000
2105+
2106+ .byt %100110
2107+ .byt %011001
2108+ .byt %001001
2109+ .byt %000001
2110+ .byt %000001
2111+ .byt %100010
2112+ .byt %101100
2113+ .byt %010000
2114+
2115+
2116+
2117+; #######################################
2118+; #######################################
2119+; All data access tables !!!
2120+; #######################################
2121+; #######################################
2122+
2123+; Table of all sprites (Low part)
2124+__FirstSprite
2125+_KongSpriteAdd_Low
2126+ ; All 26 barels
2127+ ; First floor (5)
2128+__FirstBarel
2129+ .byt <_KongSprite_Barel_Right
2130+ .byt <_KongSprite_Barel_BottomRight
2131+ .byt <_KongSprite_Barel_Bottom
2132+ .byt <_KongSprite_Barel_BottomLeft
2133+ .byt <_KongSprite_Barel_Left
2134+ ; Second floor (6)
2135+ .byt <_KongSprite_Barel_BottomLeft
2136+__SecondFloorBarel
2137+ .byt <_KongSprite_Barel_Bottom
2138+ .byt <_KongSprite_Barel_BottomRight
2139+ .byt <_KongSprite_Barel_Right
2140+ .byt <_KongSprite_Barel_TopRight
2141+ .byt <_KongSprite_Barel_Top
2142+ ; Third floor (6)
2143+ .byt <_KongSprite_Barel_Right
2144+__BarelInsertionLeft
2145+ .byt <_KongSprite_Barel_Right
2146+ .byt <_KongSprite_Barel_Right
2147+__BarelInsertionMiddle
2148+ .byt <_KongSprite_Barel_Right
2149+ .byt <_KongSprite_Barel_Right
2150+__BarelInsertionRight
2151+ .byt <_KongSprite_Barel_Right
2152+__LastBarel
2153+ ; Left fall (3)
2154+ .byt <_KongSprite_Barel_FallDiagonal_2
2155+__BarelCollideFallLeft
2156+ .byt <_KongSprite_Barel_FallDiagonal_1
2157+__BarelStartLeft
2158+ .byt <_KongSprite_Barel_FallStraight
2159+ ; Middle fall (3)
2160+ .byt <_KongSprite_Barel_FallDiagonal_1
2161+__BarelCollideFallMiddle
2162+ .byt <_KongSprite_Barel_FallDiagonal_2
2163+__BarelStartMiddle
2164+ .byt <_KongSprite_Barel_FallStraight
2165+ ; Right fall (3)
2166+ .byt <_KongSprite_Barel_FallDiagonal_2
2167+__BarelCollideFallRight
2168+ .byt <_KongSprite_Barel_FallDiagonal_1
2169+__BarelStartRight
2170+ .byt <_KongSprite_Barel_FallStraight
2171+
2172+__FirstGirder
2173+ ; Moving girders (5)
2174+ .byt <_KongSprite_Girder_1
2175+ .byt <_KongSprite_Girder_2
2176+ .byt <_KongSprite_Girder_1
2177+ .byt <_KongSprite_Girder_2
2178+ .byt <_KongSprite_Girder_1
2179+
2180+__FirstKong
2181+ ; Kong 1 (4)
2182+ .byt <_KongSprite_Kong_Barel
2183+ .byt <_KongSprite_Kong_Body
2184+ .byt <_KongSprite_Kong_LeftHand
2185+ .byt <_KongSprite_Kong_Righthand
2186+ ; Kong 2 (4)
2187+ .byt <_KongSprite_Kong_Barel
2188+ .byt <_KongSprite_Kong_Body
2189+ .byt <_KongSprite_Kong_LeftHand
2190+ .byt <_KongSprite_Kong_Righthand
2191+ ; Kong 3 (4)
2192+ .byt <_KongSprite_Kong_Barel
2193+ .byt <_KongSprite_Kong_Body
2194+ .byt <_KongSprite_Kong_LeftHand
2195+ .byt <_KongSprite_Kong_Righthand
2196+ ; Kong falling (1)
2197+__FirstKongFalling
2198+ .byt <_KongSprite_Kong_Falling
2199+__LastKong
2200+
2201+ ; Long platforms (3)
2202+__FirstPlatform
2203+ .byt <_KongSprite_Plaform
2204+ .byt <_KongSprite_Plaform
2205+ .byt <_KongSprite_Plaform
2206+ ; Long platforms falling down (3)
2207+__FirstPlatformFalling
2208+ .byt <_KongSprite_Plaform_Falling1
2209+ .byt <_KongSprite_Plaform_Falling2
2210+ .byt <_KongSprite_Plaform_Falling3
2211+ ; Hooks that attach platforms (4)
2212+__FirstHook
2213+ .byt <_KongSprite_Hook
2214+ .byt <_KongSprite_Hook
2215+ .byt <_KongSprite_Hook
2216+ .byt <_KongSprite_Hook
2217+__LastHook
2218+ ; All 22 mario sprites
2219+__FirstMario
2220+ ; First floor (5)
2221+__FirstFloorMario
2222+ .byt <_KongSprite_Mario_Right_1 ; * . . .
2223+ .byt <_KongSprite_Mario_Right_1 ; . * . .
2224+ .byt <_KongSprite_Mario_Right_1 ; . . * .
2225+ .byt <_KongSprite_Mario_Right_1 ; . . . *
2226+__MarioLader_1
2227+ .byt <_KongSprite_Mario_Climb
2228+ ; Second floor (5)
2229+__SecondFloorMario
2230+ .byt <_KongSprite_Mario_Left_1 ; . . . . *
2231+ .byt <_KongSprite_Mario_Left_1 ; . . . * .
2232+ .byt <_KongSprite_Mario_Left_1 ; . . * . .
2233+ .byt <_KongSprite_Mario_Left_1 ; . * . . .
2234+ .byt <_KongSprite_Mario_Left_1 ; * . . . .
2235+__MarioLader_2
2236+ ; Lader (2)
2237+ .byt <_KongSprite_Mario_Climb
2238+__MarioLaderCollide
2239+ .byt <_KongSprite_Mario_Climb
2240+ ; Third floor (3)
2241+__ThirdFloorMario
2242+ .byt <_KongSprite_Mario_Manette
2243+ .byt <_KongSprite_Mario_LoopUp
2244+ .byt <_KongSprite_Mario_Manette
2245+__MarioJump
2246+ ; Mario jumping and falling (3)
2247+ .byt <_KongSprite_Mario_JumpForHook
2248+ .byt <_KongSprite_Mario_Fall
2249+ .byt <_KongSprite_Mario_Crash
2250+ ; Mario gripped to hook
2251+ .byt <_KongSprite_Mario_GrippedToHook
2252+__FirstMarioJump
2253+ ; Mario jumping First Floor (2)
2254+ .byt <_KongSprite_Mario_Jump_Right
2255+ .byt <_KongSprite_Mario_Jump_Right
2256+ ; Mario jumping Second Floor (2)
2257+ .byt <_KongSprite_Mario_Jump_Left
2258+ .byt <_KongSprite_Mario_Jump_Left
2259+__LastMario
2260+ ; Crane stick (3 positions)
2261+__FirstCrane
2262+ .byt <_KongSprite_Crane_Stick
2263+ .byt <_KongSprite_Crane_Stick
2264+ .byt <_KongSprite_Crane_Stick
2265+ ; Hooks (5 positions)
2266+__FirstCraneHook
2267+ .byt <_KongSprite_Crane_Hook_1
2268+ .byt <_KongSprite_Crane_Hook_2
2269+ .byt <_KongSprite_Crane_Hook_3
2270+ .byt <_KongSprite_Crane_Hook_4
2271+ .byt <_KongSprite_Crane_Hook_5
2272+ ; Victory poses (2x2 positions)
2273+__FirstVictoryPose
2274+ .byt <_KongSprite_Crane_Hook_4
2275+ .byt <_KongSprite_Mario_GrippedToHook
2276+ .byt <_KongSprite_Crane_Hook_2
2277+ .byt <_KongSprite_Mario_GrippedToHook
2278+__LastCrane
2279+ ; Mario hands (2)
2280+__FirstMarioHand
2281+ .byt <_KongSprite_Mario_HandDown
2282+ .byt <_KongSprite_Mario_HandUp
2283+ ; Crane control stick (2)
2284+__FirstCraneStick
2285+ .byt <_KongSprite_Crane_ControlDown
2286+ .byt <_KongSprite_Crane_ControlUp
2287+ ; Hearts of victory (2)
2288+__FirstHeart
2289+ .byt <_KongSprite_SmallHeart
2290+ .byt <_KongSprite_BigHeart
2291+
2292+
2293+; Table of all sprites (High part)
2294+_KongSpriteAdd_High
2295+ ; All 26 barels
2296+ ; First floor (5)
2297+ .byt >_KongSprite_Barel_Right
2298+ .byt >_KongSprite_Barel_BottomRight
2299+ .byt >_KongSprite_Barel_Bottom
2300+ .byt >_KongSprite_Barel_BottomLeft
2301+ .byt >_KongSprite_Barel_Left
2302+ ; Second floor (6)
2303+ .byt >_KongSprite_Barel_BottomLeft
2304+ .byt >_KongSprite_Barel_Bottom
2305+ .byt >_KongSprite_Barel_BottomRight
2306+ .byt >_KongSprite_Barel_Right
2307+ .byt >_KongSprite_Barel_TopRight
2308+ .byt >_KongSprite_Barel_Top
2309+ ; Third floor (6)
2310+ .byt >_KongSprite_Barel_Right
2311+ .byt >_KongSprite_Barel_Right
2312+ .byt >_KongSprite_Barel_Right
2313+ .byt >_KongSprite_Barel_Right
2314+ .byt >_KongSprite_Barel_Right
2315+ .byt >_KongSprite_Barel_Right
2316+ ; Left fall (3)
2317+ .byt >_KongSprite_Barel_FallDiagonal_2
2318+ .byt >_KongSprite_Barel_FallDiagonal_1
2319+ .byt >_KongSprite_Barel_FallStraight
2320+ ; Middle fall (3)
2321+ .byt >_KongSprite_Barel_FallDiagonal_1
2322+ .byt >_KongSprite_Barel_FallDiagonal_2
2323+ .byt >_KongSprite_Barel_FallStraight
2324+ ; Right fall (3)
2325+ .byt >_KongSprite_Barel_FallDiagonal_2
2326+ .byt >_KongSprite_Barel_FallDiagonal_1
2327+ .byt >_KongSprite_Barel_FallStraight
2328+ ; Moving girders (5)
2329+ .byt >_KongSprite_Girder_1
2330+ .byt >_KongSprite_Girder_2
2331+ .byt >_KongSprite_Girder_1
2332+ .byt >_KongSprite_Girder_2
2333+ .byt >_KongSprite_Girder_1
2334+ ; Kong 1 (4)
2335+ .byt >_KongSprite_Kong_Barel
2336+ .byt >_KongSprite_Kong_Body
2337+ .byt >_KongSprite_Kong_LeftHand
2338+ .byt >_KongSprite_Kong_Righthand
2339+ ; Kong 2 (4)
2340+ .byt >_KongSprite_Kong_Barel
2341+ .byt >_KongSprite_Kong_Body
2342+ .byt >_KongSprite_Kong_LeftHand
2343+ .byt >_KongSprite_Kong_Righthand
2344+ ; Kong 3 (4)
2345+ .byt >_KongSprite_Kong_Barel
2346+ .byt >_KongSprite_Kong_Body
2347+ .byt >_KongSprite_Kong_LeftHand
2348+ .byt >_KongSprite_Kong_Righthand
2349+ ; Kong falling (1)
2350+ .byt >_KongSprite_Kong_Falling
2351+ ; Long platforms (3)
2352+ .byt >_KongSprite_Plaform
2353+ .byt >_KongSprite_Plaform
2354+ .byt >_KongSprite_Plaform
2355+ ; Long platforms falling down(3)
2356+ .byt >_KongSprite_Plaform_Falling1
2357+ .byt >_KongSprite_Plaform_Falling2
2358+ .byt >_KongSprite_Plaform_Falling3
2359+ ; Hooks that attach platforms (4)
2360+ .byt >_KongSprite_Hook
2361+ .byt >_KongSprite_Hook
2362+ .byt >_KongSprite_Hook
2363+ .byt >_KongSprite_Hook
2364+ ; All 22 mario sprites
2365+ ; First floor (5)
2366+ .byt >_KongSprite_Mario_Right_1
2367+ .byt >_KongSprite_Mario_Right_1
2368+ .byt >_KongSprite_Mario_Right_1
2369+ .byt >_KongSprite_Mario_Right_1
2370+ .byt >_KongSprite_Mario_Climb
2371+ ; Second floor (5)
2372+ .byt >_KongSprite_Mario_Left_1
2373+ .byt >_KongSprite_Mario_Left_1
2374+ .byt >_KongSprite_Mario_Left_1
2375+ .byt >_KongSprite_Mario_Left_1
2376+ .byt >_KongSprite_Mario_Left_1
2377+ ; Lader (2)
2378+ .byt >_KongSprite_Mario_Climb
2379+ .byt >_KongSprite_Mario_Climb
2380+ ; Third floor (3)
2381+ .byt >_KongSprite_Mario_Manette
2382+ .byt >_KongSprite_Mario_LoopUp
2383+ .byt >_KongSprite_Mario_Manette
2384+ ; Mario jumping and falling (3)
2385+ .byt >_KongSprite_Mario_JumpForHook
2386+ .byt >_KongSprite_Mario_Fall
2387+ .byt >_KongSprite_Mario_Crash
2388+ ; Mario gripped to hook
2389+ .byt >_KongSprite_Mario_GrippedToHook
2390+ ; Mario jumping First Floor (2)
2391+ .byt >_KongSprite_Mario_Jump_Right
2392+ .byt >_KongSprite_Mario_Jump_Right
2393+ ; Mario jumping Second Floor (2)
2394+ .byt >_KongSprite_Mario_Jump_Left
2395+ .byt >_KongSprite_Mario_Jump_Left
2396+ ; Crane stick (3 positions)
2397+ .byt >_KongSprite_Crane_Stick
2398+ .byt >_KongSprite_Crane_Stick
2399+ .byt >_KongSprite_Crane_Stick
2400+ ; Hooks (5 positions)
2401+ .byt >_KongSprite_Crane_Hook_1
2402+ .byt >_KongSprite_Crane_Hook_2
2403+ .byt >_KongSprite_Crane_Hook_3
2404+ .byt >_KongSprite_Crane_Hook_4
2405+ .byt >_KongSprite_Crane_Hook_5
2406+ ; Victory poses (2x2 positions)
2407+ .byt >_KongSprite_Crane_Hook_4
2408+ .byt >_KongSprite_Mario_GrippedToHook
2409+ .byt >_KongSprite_Crane_Hook_2
2410+ .byt >_KongSprite_Mario_GrippedToHook
2411+ ; Mario hands (2)
2412+ .byt >_KongSprite_Mario_HandDown
2413+ .byt >_KongSprite_Mario_HandUp
2414+ ; Crane control stick (2)
2415+ .byt >_KongSprite_Crane_ControlDown
2416+ .byt >_KongSprite_Crane_ControlUp
2417+ ; Hearts of victory (2)
2418+ .byt >_KongSprite_SmallHeart
2419+ .byt >_KongSprite_BigHeart
2420+
2421+
2422+; Table of screen position (Low part)
2423+_KongSpriteScreenAddr_Low
2424+ ; All 26 barels
2425+ ; First floor (5)
2426+ .byt <$a000+(40*190)+9
2427+ .byt <$a000+(40*190)+14
2428+ .byt <$a000+(40*190)+19
2429+ .byt <$a000+(40*190)+24
2430+ .byt <$a000+(40*190)+30
2431+ ; Second floor (6)
2432+ .byt <$a000+(40*155)+30
2433+ .byt <$a000+(40*155)+24
2434+ .byt <$a000+(40*155)+19
2435+ .byt <$a000+(40*155)+14
2436+ .byt <$a000+(40*155)+9
2437+ .byt <$a000+(40*150)+4
2438+ ; Third floor (6)
2439+ .byt <$a000+(40*109)+4
2440+ .byt <$a000+(40*102)+9
2441+ .byt <$a000+(40*102)+13
2442+ .byt <$a000+(40*102)+16
2443+ .byt <$a000+(40*102)+19
2444+ .byt <$a000+(40*102)+22
2445+ ; Left fall (3)
2446+ .byt <$a000+(40*87)+9
2447+ .byt <$a000+(40*59)+9
2448+ .byt <$a000+(40*42)+9
2449+ ; Middle fall (3)
2450+ .byt <$a000+(40*87)+16
2451+ .byt <$a000+(40*59)+16
2452+ .byt <$a000+(40*42)+16
2453+ ; Right fall (3)
2454+ .byt <$a000+(40*87)+22
2455+ .byt <$a000+(40*59)+22
2456+ .byt <$a000+(40*42)+22
2457+ ; Moving girders (5)
2458+ .byt <$a000+(40*115)+5
2459+ .byt <$a000+(40*115)+10
2460+ .byt <$a000+(40*115)+15
2461+ .byt <$a000+(40*115)+21
2462+ .byt <$a000+(40*115)+26
2463+ ; Kong 1 (4)
2464+ .byt <$a000+(40*2)+9
2465+ .byt <$a000+(40*12)+9
2466+ .byt <$a000+(40*19)+8
2467+ .byt <$a000+(40*19)+11
2468+ ; Kong 2 (4)
2469+ .byt <$a000+(40*2)+7+8
2470+ .byt <$a000+(40*12)+7+8
2471+ .byt <$a000+(40*19)+7+7
2472+ .byt <$a000+(40*19)+7+10
2473+ ; Kong 3 (4)
2474+ .byt <$a000+(40*2)+13+8
2475+ .byt <$a000+(40*12)+13+8
2476+ .byt <$a000+(40*19)+13+7
2477+ .byt <$a000+(40*19)+13+10
2478+ ; Kong falling (1)
2479+ .byt <$a000+(40*84)+24
2480+ ; Long platforms (3)
2481+ .byt <$a000+(40*38)+7
2482+ .byt <$a000+(40*38)+13
2483+ .byt <$a000+(40*38)+19
2484+ ; Long platforms falling down(3)
2485+ .byt <$a000+(40*44)+5
2486+ .byt <$a000+(40*44)+12
2487+ .byt <$a000+(40*44)+16
2488+ ; Hooks that attach platforms (4)
2489+ .byt <$a000+(40*17)+25
2490+ .byt <$a000+(40*17)+26
2491+ .byt <$a000+(40*17)+27
2492+ .byt <$a000+(40*17)+28
2493+ ; All 22 mario sprites
2494+ ; First floor (5)
2495+ .byt <$a000+(40*181)+6
2496+ .byt <$a000+(40*181)+11
2497+ .byt <$a000+(40*181)+16
2498+ .byt <$a000+(40*181)+21
2499+ .byt <$a000+(40*178)+26
2500+ ; Second floor (5)
2501+ .byt <$a000+(40*144)+26
2502+ .byt <$a000+(40*144)+21
2503+ .byt <$a000+(40*144)+16
2504+ .byt <$a000+(40*144)+11
2505+ .byt <$a000+(40*144)+6
2506+ ; Lader (2)
2507+ .byt <$a000+(40*127)+6
2508+ .byt <$a000+(40*90)+6
2509+ ; Third floor (3)
2510+ .byt <$a000+(40*65)+7
2511+ .byt <$a000+(40*66)+15
2512+ .byt <$a000+(40*65)+20
2513+ ; Mario jumping and falling (3)
2514+ .byt <$a000+(40*45)+25
2515+ .byt <$a000+(40*68)+26
2516+ .byt <$a000+(40*91)+29
2517+ ; Mario gripped to hook
2518+ .byt <$a000+(40*56)+28
2519+ ; Mario jumping First Floor (2)
2520+ .byt <$a000+(40*169)+7
2521+ .byt <$a000+(40*169)+21
2522+ ; Mario jumping Second Floor (2)
2523+ .byt <$a000+(40*126)+21
2524+ .byt <$a000+(40*126)+16
2525+ ; Crane stick (3 positions)
2526+ .byt <$a000+(40*74)+32
2527+ .byt <$a000+(40*38)+29
2528+ .byt <$a000+(40*2)+33
2529+ ; Hooks (5 positions)
2530+ .byt <$a000+(40*45)+30
2531+ .byt <$a000+(40*46)+29
2532+ .byt <$a000+(40*46)+29
2533+ .byt <$a000+(40*45)+28
2534+ .byt <$a000+(40*44)+27
2535+ ; Victory poses (2x2 positions)
2536+ .byt <$a000+(40*10)+32
2537+ .byt <$a000+(40*20)+31
2538+ .byt <$a000+(40*83)+32
2539+ .byt <$a000+(40*90)+32
2540+ ; Mario hands (2)
2541+ .byt <$a000+(40*78)+7
2542+ .byt <$a000+(40*75)+6
2543+ ; Crane control stick (2)
2544+ .byt <$a000+(40*82)+6
2545+ .byt <$a000+(40*72)+5
2546+ ; Hearts of victory (2)
2547+ .byt <$a000+(40*8)+6
2548+ .byt <$a000+(40*2)+6
2549+
2550+
2551+; Table of screen position (High part)
2552+_KongSpriteScreenAddr_High
2553+ ; All 26 barels
2554+ ; First floor (5)
2555+ .byt >$a000+(40*190)+9
2556+ .byt >$a000+(40*190)+14
2557+ .byt >$a000+(40*190)+19
2558+ .byt >$a000+(40*190)+24
2559+ .byt >$a000+(40*190)+30
2560+ ; Second floor (6)
2561+ .byt >$a000+(40*155)+30
2562+ .byt >$a000+(40*155)+24
2563+ .byt >$a000+(40*155)+19
2564+ .byt >$a000+(40*155)+14
2565+ .byt >$a000+(40*155)+9
2566+ .byt >$a000+(40*150)+4
2567+ ; Third floor (6)
2568+ .byt >$a000+(40*109)+4
2569+ .byt >$a000+(40*102)+9
2570+ .byt >$a000+(40*102)+13
2571+ .byt >$a000+(40*102)+16
2572+ .byt >$a000+(40*102)+19
2573+ .byt >$a000+(40*102)+22
2574+ ; Left fall (3)
2575+ .byt >$a000+(40*87)+9
2576+ .byt >$a000+(40*59)+9
2577+ .byt >$a000+(40*42)+9
2578+ ; Middle fall (3)
2579+ .byt >$a000+(40*87)+16
2580+ .byt >$a000+(40*59)+16
2581+ .byt >$a000+(40*42)+16
2582+ ; Right fall (3)
2583+ .byt >$a000+(40*87)+22
2584+ .byt >$a000+(40*59)+22
2585+ .byt >$a000+(40*42)+22
2586+ ; Moving girders (5)
2587+ .byt >$a000+(40*115)+5
2588+ .byt >$a000+(40*115)+10
2589+ .byt >$a000+(40*115)+15
2590+ .byt >$a000+(40*115)+21
2591+ .byt >$a000+(40*115)+26
2592+ ; Kong 1 (4)
2593+ .byt >$a000+(40*2)+9
2594+ .byt >$a000+(40*12)+9
2595+ .byt >$a000+(40*19)+8
2596+ .byt >$a000+(40*19)+11
2597+ ; Kong 2 (4)
2598+ .byt >$a000+(40*2)+7+8
2599+ .byt >$a000+(40*12)+7+8
2600+ .byt >$a000+(40*19)+7+7
2601+ .byt >$a000+(40*19)+7+10
2602+ ; Kong 3 (4)
2603+ .byt >$a000+(40*2)+13+8
2604+ .byt >$a000+(40*12)+13+8
2605+ .byt >$a000+(40*19)+13+7
2606+ .byt >$a000+(40*19)+13+10
2607+ ; Kong falling (1)
2608+ .byt >$a000+(40*84)+24
2609+ ; Long platforms (3)
2610+ .byt >$a000+(40*38)+7
2611+ .byt >$a000+(40*38)+13
2612+ .byt >$a000+(40*38)+19
2613+ ; Long platforms falling down(3)
2614+ .byt >$a000+(40*44)+5
2615+ .byt >$a000+(40*44)+12
2616+ .byt >$a000+(40*44)+16
2617+ ; Hooks that attach platforms (4)
2618+ .byt >$a000+(40*17)+25
2619+ .byt >$a000+(40*17)+26
2620+ .byt >$a000+(40*17)+27
2621+ .byt >$a000+(40*17)+28
2622+ ; All 22 mario sprites
2623+ ; First floor (5)
2624+ .byt >$a000+(40*181)+6
2625+ .byt >$a000+(40*181)+11
2626+ .byt >$a000+(40*181)+16
2627+ .byt >$a000+(40*181)+21
2628+ .byt >$a000+(40*178)+26
2629+ ; Second floor (5)
2630+ .byt >$a000+(40*144)+26
2631+ .byt >$a000+(40*144)+21
2632+ .byt >$a000+(40*144)+16
2633+ .byt >$a000+(40*144)+11
2634+ .byt >$a000+(40*144)+6
2635+ ; Lader (2)
2636+ .byt >$a000+(40*127)+6
2637+ .byt >$a000+(40*90)+6
2638+ ; Third floor (3)
2639+ .byt >$a000+(40*65)+7
2640+ .byt >$a000+(40*66)+15
2641+ .byt >$a000+(40*65)+20
2642+ ; Mario jumping and falling (3)
2643+ .byt >$a000+(40*45)+25
2644+ .byt >$a000+(40*68)+26
2645+ .byt >$a000+(40*91)+29
2646+ ; Mario gripped to hook
2647+ .byt >$a000+(40*56)+28
2648+ ; Mario jumping First Floor (2)
2649+ .byt >$a000+(40*169)+7
2650+ .byt >$a000+(40*169)+21
2651+ ; Mario jumping Second Floor (2)
2652+ .byt >$a000+(40*126)+21
2653+ .byt >$a000+(40*126)+16
2654+ ; Crane stick (3 positions)
2655+ .byt >$a000+(40*74)+32
2656+ .byt >$a000+(40*38)+29
2657+ .byt >$a000+(40*2)+33
2658+ ; Hooks (5 positions)
2659+ .byt >$a000+(40*45)+30
2660+ .byt >$a000+(40*46)+29
2661+ .byt >$a000+(40*46)+29
2662+ .byt >$a000+(40*45)+28
2663+ .byt >$a000+(40*44)+27
2664+ ; Victory poses (2x2 positions)
2665+ .byt >$a000+(40*10)+32
2666+ .byt >$a000+(40*20)+31
2667+ .byt >$a000+(40*83)+32
2668+ .byt >$a000+(40*90)+32
2669+ ; Mario hands (2)
2670+ .byt >$a000+(40*78)+7
2671+ .byt >$a000+(40*75)+6
2672+ ; Crane control stick (2)
2673+ .byt >$a000+(40*82)+6
2674+ .byt >$a000+(40*72)+5
2675+ ; Hearts of victory (2)
2676+ .byt >$a000+(40*8)+6
2677+ .byt >$a000+(40*2)+6
2678+
2679+
2680+
2681+
2682+; Table of width
2683+_KongSpriteWidth
2684+ ; All 26 barels
2685+ ; First floor (5)
2686+ .byt 2
2687+ .byt 2
2688+ .byt 2
2689+ .byt 2
2690+ .byt 2
2691+ ; Second floor (6)
2692+ .byt 2
2693+ .byt 2
2694+ .byt 2
2695+ .byt 2
2696+ .byt 2
2697+ .byt 2
2698+ ; Third floor (6)
2699+ .byt 2
2700+ .byt 2
2701+ .byt 2
2702+ .byt 2
2703+ .byt 2
2704+ .byt 2
2705+ ; Left fall (3)
2706+ .byt 2
2707+ .byt 2
2708+ .byt 2
2709+ ; Middle fall (3)
2710+ .byt 2
2711+ .byt 2
2712+ .byt 2
2713+ ; Right fall (3)
2714+ .byt 2
2715+ .byt 2
2716+ .byt 2
2717+ ; Moving girders (5)
2718+ .byt 4
2719+ .byt 4
2720+ .byt 4
2721+ .byt 4
2722+ .byt 4
2723+ ; Kong 1 (4)
2724+ .byt 3
2725+ .byt 3
2726+ .byt 2
2727+ .byt 2
2728+ ; Kong 2 (4)
2729+ .byt 3
2730+ .byt 3
2731+ .byt 2
2732+ .byt 2
2733+ ; Kong 3 (4)
2734+ .byt 3
2735+ .byt 3
2736+ .byt 2
2737+ .byt 2
2738+ ; Kong falling (1)
2739+ .byt 4
2740+ ; Long platforms (3)
2741+ .byt 6
2742+ .byt 6
2743+ .byt 6
2744+ ; Long platforms falling down(3)
2745+ .byt 4
2746+ .byt 3
2747+ .byt 6
2748+ ; Hooks that attach platforms (4)
2749+ .byt 1
2750+ .byt 1
2751+ .byt 1
2752+ .byt 1
2753+ ; All 22 mario sprites
2754+ ; First floor (5)
2755+ .byt 3
2756+ .byt 3
2757+ .byt 3
2758+ .byt 3
2759+ .byt 3
2760+ ; Second floor (5)
2761+ .byt 3
2762+ .byt 3
2763+ .byt 3
2764+ .byt 3
2765+ .byt 3
2766+ ; Lader (2)
2767+ .byt 3
2768+ .byt 3
2769+ ; Third floor (3)
2770+ .byt 4
2771+ .byt 4
2772+ .byt 4
2773+ ; Mario jumping and falling (3)
2774+ .byt 3
2775+ .byt 3
2776+ .byt 3
2777+ ; Mario gripped to hook
2778+ .byt 3
2779+ ; Mario jumping First Floor (2)
2780+ .byt 3
2781+ .byt 3
2782+ ; Mario jumping Second Floor (2)
2783+ .byt 3
2784+ .byt 3
2785+ ; Crane stick (3 positions)
2786+ .byt 5
2787+ .byt 8
2788+ .byt 4
2789+ ; Hooks (5 positions)
2790+ .byt 2
2791+ .byt 2
2792+ .byt 1
2793+ .byt 2
2794+ .byt 2
2795+ ; Victory poses (2x2 positions)
2796+ .byt 2
2797+ .byt 3
2798+ .byt 2
2799+ .byt 3
2800+ ; Mario hands (2)
2801+ .byt 2
2802+ .byt 2
2803+ ; Crane control stick (2)
2804+ .byt 2
2805+ .byt 2
2806+ ; Hearts of victory (2)
2807+ .byt 1
2808+ .byt 2
2809+
2810+
2811+; Table of height
2812+_KongSpriteHeight
2813+ ; All 26 barels
2814+ ; First floor (5)
2815+ .byt 10
2816+ .byt 10
2817+ .byt 10
2818+ .byt 10
2819+ .byt 10
2820+ ; Second floor (6)
2821+ .byt 10
2822+ .byt 10
2823+ .byt 10
2824+ .byt 10
2825+ .byt 10
2826+ .byt 10
2827+ ; Third floor (6)
2828+ .byt 10
2829+ .byt 10
2830+ .byt 10
2831+ .byt 10
2832+ .byt 10
2833+ .byt 10
2834+ ; Left fall (3)
2835+ .byt 10
2836+ .byt 11
2837+ .byt 9
2838+ ; Middle fall (3)
2839+ .byt 11
2840+ .byt 10
2841+ .byt 9
2842+ ; Right fall (3)
2843+ .byt 10
2844+ .byt 11
2845+ .byt 9
2846+ ; Moving girders (5)
2847+ .byt 11
2848+ .byt 11
2849+ .byt 11
2850+ .byt 11
2851+ .byt 11
2852+ ; Kong 1 (4)
2853+ .byt 13
2854+ .byt 25
2855+ .byt 11
2856+ .byt 11
2857+ ; Kong 2 (4)
2858+ .byt 13
2859+ .byt 25
2860+ .byt 11
2861+ .byt 11
2862+ ; Kong 3 (4)
2863+ .byt 13
2864+ .byt 25
2865+ .byt 11
2866+ .byt 11
2867+ ; Kong falling (1)
2868+ .byt 28
2869+ ; Long platforms (3)
2870+ .byt 5
2871+ .byt 5
2872+ .byt 5
2873+ ; Long platforms falling down(3)
2874+ .byt 30
2875+ .byt 34
2876+ .byt 12
2877+ ; Hooks that attach platforms (4)
2878+ .byt 26
2879+ .byt 26
2880+ .byt 26
2881+ .byt 26
2882+ ; All 22 mario sprites
2883+ ; First floor (5)
2884+ .byt 19
2885+ .byt 19
2886+ .byt 19
2887+ .byt 19
2888+ .byt 22
2889+ ; Second floor (5)
2890+ .byt 20
2891+ .byt 20
2892+ .byt 20
2893+ .byt 20
2894+ .byt 20
2895+ ; Lader (2)
2896+ .byt 22
2897+ .byt 22
2898+ ; Third floor (3)
2899+ .byt 19
2900+ .byt 18
2901+ .byt 19
2902+ ; Mario jumping and falling (3)
2903+ .byt 24
2904+ .byt 20
2905+ .byt 21
2906+ ; Mario gripped to hook
2907+ .byt 20
2908+ ; Mario jumping First Floor (2)
2909+ .byt 17
2910+ .byt 17
2911+ ; Mario jumping Second Floor (2)
2912+ .byt 18
2913+ .byt 18
2914+ ; Crane stick (3 positions)
2915+ .byt 8
2916+ .byt 8
2917+ .byt 8
2918+ ; Hooks (5 positions)
2919+ .byt 4
2920+ .byt 8
2921+ .byt 12
2922+ .byt 11
2923+ .byt 8
2924+ ; Victory poses (2x2 positions)
2925+ .byt 11
2926+ .byt 20
2927+ .byt 8
2928+ .byt 20
2929+ ; Mario hands (2)
2930+ .byt 8
2931+ .byt 5
2932+ ; Crane control stick (2)
2933+ .byt 4
2934+ .byt 9
2935+ ; Hearts of victory (2)
2936+ .byt 7
2937+ .byt 8
2938+
--- users/dbug/games/4kkong/vars.s (nonexistent)
+++ users/dbug/games/4kkong/vars.s (revision 47)
@@ -0,0 +1,633 @@
1+
2+
3+; .data
4+
5+_SpriteMario_Life
6+ ; 2x16
7+ .byt %000111
8+ .byt %000111
9+ .byt %011111
10+ .byt %000101
11+ .byt %011101
12+ .byt %001111
13+ .byt %000111
14+ .byt %000011
15+
16+ .byt %011001
17+ .byt %111111
18+ .byt %000011
19+ .byt %000011
20+ .byt %011011
21+ .byt %011110
22+ .byt %001100
23+ .byt %000000
24+
25+ .byt %110000
26+ .byt %110000
27+ .byt %111000
28+ .byt %111000
29+ .byt %111100
30+ .byt %111100
31+ .byt %111000
32+ .byt %110011
33+
34+ .byt %111110
35+ .byt %110100
36+ .byt %110000
37+ .byt %111000
38+ .byt %011110
39+ .byt %000110
40+ .byt %000100
41+ .byt %000000
42+
43+
44+_VerticalColorPattern
45+ .byt 0 ; Black INK
46+ .byt 16+6 ; Cyan paper
47+
48+
49+
50+_ScoreBoardValues_Up
51+ .byt 16 ; Black paper
52+ .byt 16+1 ; Red paper
53+
54+
55+IntroText1 .byt 1,10,"4KKong ",255
56+IntroText2 .byt 3,12,"SPACE to play"
57+
58+_ScoreBoardValues_Down
59+ .byt 10 ; Double height standard
60+ .byt 16+4 ; Blue paper
61+ .byt "LIVES:"
62+ .byt 8 ; Normal height standard
63+ .byt " " ; Life one
64+ .byt " " ; Life two
65+ .byt " " ; Life three
66+ .byt " "
67+ .byt 10 ; Double height standard
68+ .byt 3 ; Yellow ink
69+ .byt "SCORE:"
70+ .byt " "
71+ .byt " "
72+ .byt 5 ; Purple ink
73+ .byt "BEST:"
74+ .byt " "
75+_ScoreBoardValues_DownEnd
76+
77+
78+_FloorRastersDraw
79+ .byt 16+3
80+ .byt 16+1
81+ .byt 16+4
82+
83+_FloorRastersErase
84+ .byt 16+6
85+
86+
87+_LaderPattern_Left
88+ .byt 64+%010000
89+ .byt 64+%010000
90+ .byt 64+%011111
91+ .byt 64+%010000
92+
93+_LaderPattern_Right
94+ .byt 64+%000010
95+ .byt 64+%000010
96+ .byt 64+%111110
97+ .byt 64+%000010
98+
99+
100+
101+_VerticalGirderPattern
102+_VerticalGirderPattern_Left
103+ .byt 64+%111000
104+ .byt 64+%111000
105+ .byt 64+%111001
106+ .byt 64+%111010
107+ .byt 64+%111101
108+ .byt 64+%101110
109+ .byt 64+%111101
110+ .byt 64+%111010
111+ .byt 64+%111001
112+ .byt 64+%111000
113+
114+_VerticalGirderPattern_Right
115+ .byt 64+%111101
116+ .byt 64+%101111
117+ .byt 64+%010111
118+ .byt 64+%100111
119+ .byt 64+%000111
120+ .byt 64+%000111
121+ .byt 64+%000111
122+ .byt 64+%100111
123+ .byt 64+%010111
124+ .byt 64+%101111
125+
126+
127+_HorizontalGirderPattern
128+_HorizontalGirderPattern_Left
129+ .byt 64+%111111
130+ .byt 64+%111011
131+ .byt 64+%001110
132+ .byt 64+%010101
133+ .byt 64+%101010
134+ .byt 64+%010001
135+ .byt 64+%100000
136+ .byt 64+%000000
137+ .byt 64+%000000
138+ .byt 64+%111111
139+ .byt 64+%111111
140+
141+_HorizontalGirderPattern_Right
142+ .byt 64+%111111
143+ .byt 64+%111111
144+ .byt 64+%000000
145+ .byt 64+%000000
146+ .byt 64+%100000
147+ .byt 64+%010001
148+ .byt 64+%101010
149+ .byt 64+%010101
150+ .byt 64+%001110
151+ .byt 64+%111011
152+ .byt 64+%111111
153+
154+
155+_CraneControlPattern
156+_CraneControlPattern_Left
157+ .byt 64+%111100
158+ .byt 64+%000011
159+ .byt 64+%111100
160+ .byt 64+%111111
161+ .byt 64+%111111
162+ .byt 64+%111111+128
163+ .byt 64+%100001+128
164+ .byt 64+%100001+128
165+ .byt 64+%100001+128
166+ .byt 64+%111111+128
167+ .byt 64+%111111
168+ .byt 64+%010101
169+ .byt 64+%111111
170+
171+
172+_CraneControlPattern_Right
173+ .byt 64+%000000
174+ .byt 64+%000000
175+ .byt 64+%110000
176+ .byt 64+%001000
177+ .byt 64+%110100
178+ .byt 64+%111010
179+ .byt 64+%111101
180+ .byt 64+%111101
181+ .byt 64+%111101
182+ .byt 64+%111101
183+ .byt 64+%111111
184+ .byt 64+%010101
185+ .byt 64+%111111
186+
187+_HookPattern
188+_HookPattern_Left
189+ .byt 64+%000000
190+ .byt 64+%000000
191+ .byt 64+%000000
192+ .byt 64+%000000
193+ .byt 64+%000001
194+ .byt 64+%000001
195+ .byt 64+%000011
196+ .byt 64+%000111
197+ .byt 64+%000111
198+ .byt 64+%001110
199+ .byt 64+%001110
200+ .byt 64+%001110
201+ .byt 64+%001110
202+ .byt 64+%000111
203+ .byt 64+%000011
204+ .byt 64+%000001
205+
206+_HookPattern_Right
207+ .byt 64+%111000
208+ .byt 64+%111000
209+ .byt 64+%111000
210+ .byt 64+%111000
211+ .byt 64+%111000
212+ .byt 64+%111000
213+ .byt 64+%110000
214+ .byt 64+%000000
215+ .byt 64+%000000
216+ .byt 64+%000000
217+ .byt 64+%000000
218+ .byt 64+%000001
219+ .byt 64+%000001
220+ .byt 64+%000111
221+ .byt 64+%111110
222+ .byt 64+%111100
223+
224+
225+
226+_PrincessPattern_Left
227+ .byt 64+%000011
228+ .byt 64+%000111
229+ .byt 64+%001111
230+ .byt 64+%001100
231+ .byt 64+%011000
232+ .byt 64+%011010
233+ .byt 64+%011000
234+ .byt 64+%001101
235+ .byt 64+%001100
236+ .byt 64+%001010
237+ .byt 64+%000111
238+ .byt 64+%001111
239+ .byt 64+%011111
240+ .byt 64+%011111
241+ .byt 64+%011111
242+ .byt 64+%011111
243+ .byt 64+%010111
244+ .byt 64+%010111
245+ .byt 64+%010111
246+ .byt 64+%001011
247+ .byt 64+%001100
248+ .byt 64+%001111
249+ .byt 64+%011111
250+ .byt 64+%011111
251+ .byt 64+%011111
252+ .byt 64+%011111
253+ .byt 64+%001111
254+ .byt 64+%000110
255+ .byt 64+%000110
256+ .byt 64+%001110
257+ .byt 64+%011110
258+
259+_PrincessPattern_Right
260+ .byt 64+%110000
261+ .byt 64+%111000
262+ .byt 64+%111100
263+ .byt 64+%101100
264+ .byt 64+%000110
265+ .byt 64+%010110
266+ .byt 64+%000110
267+ .byt 64+%101100
268+ .byt 64+%001100
269+ .byt 64+%010100
270+ .byt 64+%111000
271+ .byt 64+%111100
272+ .byt 64+%111110
273+ .byt 64+%111110
274+ .byt 64+%111110
275+ .byt 64+%111110
276+ .byt 64+%111010
277+ .byt 64+%111010
278+ .byt 64+%111010
279+ .byt 64+%110100
280+ .byt 64+%001100
281+ .byt 64+%111100
282+ .byt 64+%111110
283+ .byt 64+%111110
284+ .byt 64+%111110
285+ .byt 64+%111110
286+ .byt 64+%111100
287+ .byt 64+%011000
288+ .byt 64+%011000
289+ .byt 64+%011100
290+ .byt 64+%011110
291+
292+
293+
294+; Number of blocs to draw ;) [0=end]
295+_ScreenLayoutData_Counters
296+ .byt 10
297+ .byt 1
298+ .byt 1
299+ .byt 2
300+ .byt 1
301+ .byt 1
302+ .byt 1
303+ .byt 3
304+ .byt 3
305+ .byt 3
306+ .byt 1
307+ .byt 0 ; End marker
308+
309+_ScreenLayoutData_PatternsAddrLow
310+ .byt <_HorizontalGirderPattern ; Horizontal girders
311+ .byt <_HookPattern ; Hook on the top of screen
312+ .byt <_CraneControlPattern ; Crane control box
313+ .byt <_VerticalGirderPattern ; Vertical left girder
314+ .byt <_VerticalColorPattern ; Vertical color change
315+ .byt <_ScoreBoardValues_Up
316+ .byt <_ScoreBoardValues_Down
317+ .byt <_FloorRastersDraw
318+ .byt <_FloorRastersErase
319+ .byt <_LaderPattern_Left
320+ .byt <_PrincessPattern_Left
321+
322+_ScreenLayoutData_PatternsAddrHigh
323+ .byt >_HorizontalGirderPattern ; Horizontal girders
324+ .byt >_HookPattern ; Hook on the top of screen
325+ .byt >_CraneControlPattern ; Crane control box
326+ .byt >_VerticalGirderPattern ; Vertical left girder
327+ .byt >_VerticalColorPattern ; Vertical color change
328+ .byt >_ScoreBoardValues_Up
329+ .byt >_ScoreBoardValues_Down
330+ .byt >_FloorRastersDraw
331+ .byt >_FloorRastersErase
332+ .byt >_LaderPattern_Left
333+ .byt >_PrincessPattern_Left
334+
335+_ScreenLayoutData_BlocWidth
336+ .byt 2
337+ .byt 2
338+ .byt 2
339+ .byt 2
340+ .byt 2
341+ .byt 2
342+ .byt _ScoreBoardValues_DownEnd-_ScoreBoardValues_Down
343+ .byt 1
344+ .byt 1
345+ .byt 2
346+ .byt 2
347+
348+_ScreenLayoutData_BlocHeight
349+ .byt 11
350+ .byt 16
351+ .byt 13
352+ .byt 10
353+ .byt 1
354+ .byt 1
355+ .byt 1
356+ .byt 3
357+ .byt 1
358+ .byt 4
359+ .byt 31
360+
361+
362+
363+
364+
365+
366+_ScreenLayoutData_ScreenAddrLow
367+ ; First roof
368+ .byt <$a000+(40*168)+4
369+ .byt <$a000+(40*168)+10
370+ .byt <$a000+(40*168)+24
371+ .byt <$a000+(40*168)+29
372+ ; Second roof
373+ .byt <$a000+(40*130)+9
374+ .byt <$a000+(40*130)+25
375+ .byt <$a000+(40*120)+31
376+ ; Third kong roof
377+ .byt <$a000+(40*87)+12
378+ .byt <$a000+(40*87)+18
379+ ; Donkey kong roof
380+ .byt <$a000+(40*38)+4
381+ ; Hook on the top of screen
382+ .byt <$a000+26
383+ ; Crane control box
384+ .byt <$a000+(40*78)+4
385+ ; Left girder
386+ .byt <$a000+(40*0)+2
387+ ; Right girder
388+ .byt <$a000+(40*0)+37
389+ ; Rasters
390+ .byt <$a000+(40*0)+0
391+ ; Score board up
392+ .byt <$bb80+(40*25)+0
393+ ; Score board down
394+ .byt <$bb80+(40*26)+0
395+ ; Rasters draw
396+ .byt <$a000+(40*84)+6
397+ .byt <$a000+(40*112)+6
398+ .byt <$a000+(40*165)+4
399+ ; Rasters erase
400+ .byt <$a000+(40*84)+23
401+ .byt <$a000+(40*112)+31
402+ .byt <$a000+(40*165)+31
403+ ; Left ladder
404+ .byt <$a000+(40*87)+6
405+ .byt <$a000+(40*129)+6
406+ .byt <$a000+(40*168)+26
407+ ; Princess
408+ .byt <$a000+(40*6)+4
409+
410+_ScreenLayoutData_ScreenAddrHigh
411+ ; First roof
412+ .byt >$a000+(40*168)+4
413+ .byt >$a000+(40*168)+10
414+ .byt >$a000+(40*168)+24
415+ .byt >$a000+(40*168)+29
416+ ; Second roof
417+ .byt >$a000+(40*130)+9
418+ .byt >$a000+(40*130)+25
419+ .byt >$a000+(40*120)+31
420+ ; Third kong roof
421+ .byt >$a000+(40*87)+12
422+ .byt >$a000+(40*87)+18
423+ ; Donkey kong roof
424+ .byt >$a000+(40*38)+4
425+ ; Hook on the top of screen
426+ .byt >$a000+26
427+ ; Crane control box
428+ .byt >$a000+40*78+4
429+ ; Left girder
430+ .byt >$a000+40*0+2
431+ ; Right girder
432+ .byt >$a000+40*0+37
433+ ; Rasters
434+ .byt >$a000+40*0+0
435+ ; Score board up
436+ .byt >$bb80+40*25+0
437+ ; Score board down
438+ .byt >$bb80+40*26+0
439+ ; Rasters draw
440+ .byt >$a000+(40*84)+6
441+ .byt >$a000+(40*112)+6
442+ .byt >$a000+(40*165)+4
443+ ; Rasters erase
444+ .byt >$a000+(40*84)+23
445+ .byt >$a000+(40*112)+31
446+ .byt >$a000+(40*165)+31
447+ ; Left ladder
448+ .byt >$a000+(40*87)+6
449+ .byt >$a000+(40*129)+6
450+ .byt >$a000+(40*168)+26
451+ ; Princess
452+ .byt >$a000+(40*6)+4
453+
454+_ScreenLayoutData_PaintWidth
455+ ; First roof
456+ .byt 1
457+ .byt 5
458+ .byt 1
459+ .byt 1
460+ ; Second roof
461+ .byt 3
462+ .byt 6
463+ .byt 3
464+ ; Third kong roof
465+ .byt 2
466+ .byt 2
467+ ; Donkey kong roof
468+ .byt 1
469+ ; Hook on the top of screen
470+ .byt 1
471+ ; Crane control box
472+ .byt 1
473+ ; Left girder
474+ .byt 1
475+ ; Right girder
476+ .byt 1
477+ ; Rasters
478+ .byt 1
479+ ; Score board up
480+ .byt 1
481+ ; Score board down
482+ .byt 1
483+ ; Rasters draw
484+ .byt 1
485+ .byt 1
486+ .byt 1
487+ ; Rasters erase
488+ .byt 1
489+ .byt 1
490+ .byt 1
491+ ; Left ladder
492+ .byt 1
493+ .byt 1
494+ .byt 1
495+ ; Princess
496+ .byt 1
497+
498+_ScreenLayoutData_PaintHeight
499+ ; First roof
500+ .byt 1
501+ .byt 1
502+ .byt 1
503+ .byt 1
504+ ; Second roof
505+ .byt 1
506+ .byt 1
507+ .byt 1
508+ ; Third kong roof
509+ .byt 1
510+ .byt 1
511+ ; Donkey kong roof
512+ .byt 1
513+ ; Hook on the top of screen
514+ .byt 1
515+ ; Crane control box
516+ .byt 1
517+ ; Left girder
518+ .byt 20
519+ ; Right girder
520+ .byt 20
521+ ; Rasters
522+ .byt 200
523+ ; Score board up
524+ .byt 1
525+ ; Score board down
526+ .byt 2
527+ ; Rasters draw
528+ .byt 1
529+ .byt 1
530+ .byt 1
531+ ; Rasters erase
532+ .byt 3
533+ .byt 3
534+ .byt 3
535+ ; Left ladder
536+ .byt 4
537+ .byt 4
538+ .byt 4
539+ ; Princess
540+ .byt 1
541+
542+
543+
544+
545+TableCollisionCount
546+ .byt 5 ; first floor
547+ .byt 5 ; second floor
548+ .byt 1 ; barel comming from the right on third floor
549+ .byt 1 ; barel from the top left
550+ .byt 1 ; barel from the top mid
551+ .byt 1 ; barel from the top right
552+TableCollisionSrc
553+ .byt __FirstBarel-__FirstSprite
554+ .byt __SecondFloorBarel-__FirstSprite
555+ .byt __BarelInsertionLeft-__FirstSprite
556+ .byt __BarelCollideFallLeft-__FirstSprite
557+ .byt __BarelCollideFallMiddle-__FirstSprite
558+ .byt __BarelCollideFallRight-__FirstSprite
559+TableCollisionDst
560+ .byt __FirstFloorMario-__FirstSprite
561+ .byt __SecondFloorMario-__FirstSprite
562+ .byt __MarioLaderCollide-__FirstSprite
563+ .byt __ThirdFloorMario-__FirstSprite
564+ .byt __ThirdFloorMario+1-__FirstSprite
565+ .byt __ThirdFloorMario+2-__FirstSprite
566+
567+
568+
569+
570+;FixationCount .byt 1 ;4 ; Number of fix that keep the platform attached
571+_GameCraneCurrentTick .byt 1
572+best_score .dsb 2
573+HexDigits .byt "0123456789"
574+_GameCraneDelayTick .byt 64
575+_GameGirderDelayTick .byt 200 ; Speed of movement
576+_GameDelayTick .byt 255
577+
578+
579+;// Scan codes:
580+;// 172 = Left
581+;// 188 = Right
582+;// 180 = Down
583+;// 156 = Up
584+;// 132 = Space
585+KeyboardRouter_ScanCode
586+ .byt 172
587+ .byt 188
588+ .byt 180
589+ .byt 156
590+ .byt 132
591+ .byt 0
592+
593+KeyboardRouter_AddrLow
594+ .byt <HeroMoveLeft
595+ .byt <HeroMoveRight
596+ .byt <HeroMoveDown
597+ .byt <HeroMoveUp
598+ .byt <HeroMoveSpace
599+
600+KeyboardRouter_AddrHigh
601+ .byt >HeroMoveLeft
602+ .byt >HeroMoveRight
603+ .byt >HeroMoveDown
604+ .byt >HeroMoveUp
605+ .byt >HeroMoveSpace
606+
607+
608+LifeDisplayTable
609+ .byt 32,32,32,32
610+ .byt 32,32,32,32
611+ .byt 32,32,32,32
612+ .byt 91,92,93,94
613+ .byt 91,92,93,94
614+ .byt 91,92,93,94
615+
616+ .bss
617+
618+;
619+; Allign the content of BSS section to a byte boudary
620+;
621+ .dsb 256-(*&255)
622+
623+_BssStart_
624+
625+_SpriteDisplayState .dsb 256 ; 0=not displayed 1=displayed
626+
627+_GameGirderTick .byt 0 ; Current movement counter
628+_GameGirderSpawnTick .byt 0 ; Current spawning counter
629+
630+_KongFlagThrow .byt 0 ; Indicate if a throw movement is started
631+_GameCurrentTick .byt 0
632+
633+_BssEnd_
Show on old repository browser