home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / cbm / 4656 < prev    next >
Encoding:
Internet Message Format  |  1992-11-21  |  7.5 KB

  1. Path: sparky!uunet!mcsun!news.funet.fi!hydra!klaava!cc.helsinki.fi!msmakela
  2. From: msmakela@cc.helsinki.fi
  3. Newsgroups: comp.sys.cbm
  4. Subject: Utilize your Commodore 64
  5. Message-ID: <1992Nov22.000747.1@cc.helsinki.fi>
  6. Date: 21 Nov 92 22:07:47 GMT
  7. Sender: news@klaava.Helsinki.FI (Uutis Ankka)
  8. Organization: University of Helsinki
  9. Lines: 138
  10.  
  11. GamePreProcessor - Commodore 64 utility program
  12.  
  13. A brief introduction
  14.  
  15. GamePreProcessor turns your C64 into a game computer. You may play a game in
  16. another computer and store the joystick movements simultaneously. The control
  17. sequence may be repeated afterwards.
  18.  
  19. The cable
  20.  
  21. You need a cable between the two computers. One end goes to the C-64 user port
  22. and the other to the another computer's or game console's Atari-style control
  23. port. The pins to be connected are following:
  24.  
  25. User port           Joystick connector
  26. C                   1
  27. D                   2
  28. E                   3
  29. F                   4
  30. H                   6
  31. A                   8
  32.  
  33. Operation
  34.  
  35. Storing a movement sequence is started by pressing C. The game is plaid with a
  36. joystick connected to the control port #2. The amount of free memory, the
  37. time elapsed from the latest movement and the joystick position are shown on
  38. the screen.
  39.  
  40. With a joystick in port 1 (or with the keys ConTRoL, left-arrow, 1, 2 and 
  41. space) you may control the auto-playing features. If you push fire, the 
  42. autofire switches on. While keeping the fire button down, you can change
  43. the fire button down time by turning left or right, and the up time by turning
  44. up or down. The autofire switches off when you push fire on the main joystick.
  45. There are also up-down and left-right vibrations, which come in handy in
  46. sports games. By turning left or right on the feature joystick the left-right
  47. vibration switches on and its rate may be changed. The vibration may be stopped
  48. by turning left or right on the main joystick. The same goes for the up-down
  49. vibration. The two vibrations may be combined to form a rotating vibration,
  50. north, northeast, east, southeast, south, southwest, west, northwest and so on,
  51. which is required in the Summer Games cycling.
  52.  
  53. The storing mode is ended upon memory shortage or by punching Restore.
  54. The sequence may be saved by pressing S. The filename, which has a suffix
  55. of ",;", is changed by pressing N, using DELete and writing keys and RETURN.
  56. With L you may load the sequence. These operations go to the last active
  57. device before program startup, usually the disk drive. If you insist to use
  58. cassette, poke 1 to $BA by ordering POKE 186,1 before running.
  59.  
  60. By pressing M and using DELete, number keys and RETURN you may change the 
  61. movement counter in order to start repeating a sequence from the middle or to 
  62. destroy the end or the whole of old sequence before appending new. The
  63. repetition of existing sequence starts with R and ends as the sequence ends
  64. or by pressing RESTORE.
  65.  
  66. You can also change the sampling rate by pressing F. You can change the divisor
  67. of the high clock frequency of the Commodore 64 (in PAL models 985 248 Hz, in
  68. NTSC models approximately 1,02 MHz). It may be between 13 568 and 65 529 
  69. (65 529 instead of 65 535 or 65 536 to shorten the program. The low limit could
  70. be lowered in NTSC systems.), which results in a sampling frequency of 15,0 Hz
  71. up to 72,6 Hz. The optimal frequency may be50 Hz in PAL models, which 
  72. corresponds divisor $4CC7 = 19 655, and 60 Hz in NTSC models, which corresponds
  73. approximately a divisor of 1,02 MHz / 60 Hz = 17000. An interesting but useless
  74. effect is recording with a low sampling rate and increasing the speed before 
  75. repeating. 
  76. The recording eats memory even if you don't touch the joystick. This is
  77. shown on the top of the screen (accurately for PAL systems), and it is smaller
  78. at higher sampling frequencies. If you play BASIC-games, you may want to lower
  79. the frequency to save memory.
  80. With the highest sampling rate the memory is consumed in 5 minutes 
  81. and 37 seconds in PAL model, when vibrations are running at full speed.
  82.  
  83. Patching
  84.  
  85. If you just want to use the program as a joystick booster (autofire and
  86. sports game oscillator) and do not want the game to stop as the memory gets
  87. filled, poke 173 (LDA) instead of 141 (STA) in the address, which is followed
  88. by the bytes 64 ($40) and 5. (I don't have the program available just now.)
  89. The new version may be saved on a different name.
  90.  
  91. Have fun with this program. I had enough fun when writing it with a machine
  92. language monitor and keeping correcting absolute memory references when moving
  93. the code to gain more space. (Real men don't use Assembler.)
  94.  
  95. The program follows in UUencoded form.
  96.  
  97. begin 644 GamePreProcessor
  98. M 0@>",<'GC(P.# BC9$='1T=34%22T\@34%+14Q!    >*4!*?@)!H4!H ",
  99. M&M",#]R, ]R(C +<C /=J7^-#=R-#=VI@8T-W*T-W*T-W:E^C10#J>J-%0.I
  100. MT8T8 ZD,C1D#6""!_Z( CB#0CB'0H(",D0*(C(H"K9\.G0#8G0#9G0#:G0#;
  101. MRM#QJ:F%^ZD.A?R@ K'[JHBQ^S SJ!BE^VD"A?N0 ^;\&"#P_Z(#H #F^] "
  102. MYORQ^_#8I-/FTY'1R2#PZ+V>#I'SRA#BZ/#?HBBI0,J=* 2=D 6=@ :=^ ;0
  103. M\:GIC5($C: $J=^-4P2-I02I7XW(!(T:!:EIC<T$C1L%J>&->@2-\@2I88U[
  104. M!(WS!*(#O:(.G:$$O:8.G<D$RA#QH &B Y3WE/O*$/FI (V9$*DUC9H0J9N%
  105. MK(6NJ1"%K86OJ0"1KH6=B*D?D:Z% B"2"B#$"ZD!IKJH(+K_H!#*T :I$**)
  106. MT 2I$J*'(+W_J0 @&@P@Y/_)3= BH@:@#R!%# HF%;#T:9N%K*45:1"%K:6N
  107. MQ:REK^6MD."PU\E&T!:B$J 8($4,C9D0CIH0X#60[R#$"S"]R5+P'\E#T#2D
  108. MK(2NI*V$KZD J,B1KHBM -PI'Y&N()(*J4I)6DBI 87#A<0@M IH(!H,J4]-
  109. M0 7P@-#WR4S0(JD (-7_""#$"RBPF*6NZ0&%KH6LI:_I (6OA:T@M HXL(+)
  110. M4] >J9F%%*D0A16EKFD!A:ZJI:]I (6OJ*D4(-C_&)#(R4[0UZ(-RKV)$,F@
  111. M\/CHJ52=<@:*2"#D__#[F&BJJ2"=<@:IH)V)$, 4T 3*$ 'HP WPS, @D-? 
  112. M8+#3F* 'V8P.\,N($/C@#;#$G8D0*3^=<@;HT+FB!(T!W4I(H &P <BYG@Z\
  113. M@A"94-B94=B9>-B9>=AHRA#CJ0"@ YD(W(@0^ABB!* G(/#_.*D Y:ZHJ=#E
  114. MKTJJF&J@!2"%"Z(".+6LZ9NHBDBUK>D02DB8:D@8H!/*, *@)Z(&(/#_:*AH
  115. MJIB@!2"%"VC0U:F IOV@=B!N"ZF IOZ@GB!N"ZE ION@92!N"ZD@IOR@C2!N
  116. M"QBB J 6(/#_K0O<JBE_Z1'P XHI?^@0!1CX:1+8(%P+K0K<(%P+K0G<(%P+
  117. MR*T(W! ,2$I*2DK((&@+:"D/"3"1T<A@)0+0#*("O7\0D=&(RA#W8(33BJ( 
  118. MH .$%: *()P+2)@),*33D='&TVC&%=#L8(RU"X842*(1H  8:"I()A3*\!&8
  119. M*J@(..D*L 0HD.Q(J&BPYVBF%& 8HA*@'"#P_ZV9$*Z:$(T$W(X%W*"1C [<
  120. MH 4@A0NB!* ;&"#P_ZV:$$JJK9D0:J#Q()P+H#P@G M(F* "((4+:,;3H (@
  121. MA0N@#+F)$"D_F7(&B!#U8*A*2JIXO88.C10#O8<.C14#6*+ZN6<0C4 %N6@0
  122. MC4$%N6D0G6X$R.C0]F 8(/#_I-.B (84AA6B!+'1*0_P%4@8I11]E Z%%*45
  123. M?9D.A15HZ0#0Z\C*$.&I5)'1F$@@Y/_P^ZIHJ*D@D=&*J, -T 6E%*858, 4
  124. MT!>B!*73:0.HB+'1R)'1B,K0]JDPD='0G\ PD)O .K"7I13)F:45Z1FPC9A(
  125. MI-.B!,BQT8B1T<C*T/9HD='0UTBI3XU !6A &*7$Z0"%Q) _T$.EPRG@T#V@
  126. M ;&LA<2(L:Q%PRD?JK&LA<.EK,6NI:WEKY 'J4^-0 70#:D"9:R%K) "YJV*
  127. M\ VEPR"2"M )I</I'X7#(-D*3'[JH "M -R%PPH*"@H(R<!J*&HISZHI#,D,
  128. MBI ""2 )'R4"A0(0(+&N*1#P!L;YT!#P!,;ZT JF_8;YIOZ&^DD0">\EPX7#
  129. MI0(*$!JI##&NR0R0 BGXQO?0!J;[AO=)# GS)<.%PZ4"*2#P&JD#,:[) Y "
  130. M*?[&^- &IOR&^$D#"?PEPX7#&,B8<:Z1KHBQKI $:1^1KD7#*1_0 I U"*6O
  131. MR="0!ZE/C4 %T ZI F6LA:R%KI $YJWFKZ7#*1^1KIC(D:XHL >EPR"2"M (
  132. M(+X*T ,@*@NM =RH10(I'_!XI0(IX(4"F"D?!0*% BD?21_P9:( R1"0*P8"
  133. M.&8"I/[)%- #B/ )R1C0 \CP H3^I/W)$M #B/ \R1'0 \CP-83]T#')!) 0
  134. MZ.BD^\D(T /(T .(\ *$^RD#\ [HI/Q*D /(T .(\ *$_(KP"$IJ:FH% H4"
  135. M(-D*3'[J,>K9#"T-(R1 .BHL/3\!"F3H$     ,G"PP/ 6)L>V+B?'[B   *
  136. M#QD3% D#"R %#14, 10/$B &#Q(@ S8T( @/#04@ P\-$!44!1(3  <"# $4
  137. M!1,4( T/%@4-!0X4.B @.B @)R @(B @ 0</  <$% D-!2 O( T/%@4-!0X4
  138. M.B @)P >! 82!04Z  <& P\5#A0%$CH ' 83% \2!00Z  <(! 4# 10(# \.
  139. M(!@Z !$)&3H & @!%10/!@D2!2 5$#H (0D$#CH   L,("T@# \!!" *#QD3
  140. M% D#"R -#Q8%#04.%" 3!1$5!0X#!0  #1,@+2 3 18%( H/&1,4"0,+( T/
  141. M%@4-!0X4(!,%$14%#@,%   /#B M( ,( 0X'!2 &"0P%( X!#04@!A(/#0  
  142. M$08@+2 #" $.!P4@$@4##Q($"0X'( 82!1$5!0X#&2 &$@\-  02.3@U,C0X
  143. M(!(% P\2! D.!Q,@+P >$A,% P\.!!,  !0#("T@ P\.% D.%04@$@4##Q($
  144. M"0X'   6$B M(!(%$ 4!%" *#QD3% D#"R -#Q8%#04.%" 3!1$5!0X#!0  
  145. M& T@+2 -#P0)!AD@#0\6!0T%#A0@ P\5#A0%$@ ""0D."10 _T]03'H3% \0
  146. J:DUJ3A , 1E524I+$@4#( \&!E)44*("0#I415-4(%)53J"@H*"@H*R[
  147.  
  148. end
  149.