LoginSignup
0
0

chip8の研究 その3

Last updated at Posted at 2020-09-10

概要

pongのアセンブラのソースからコンパイルしてシミュレータを起動した。

写真

無題.jpg

成果物

アセンブラソース

  LD  VA  2
  LD  VB  12
  LD  VC  63
  LD  VD  12
  LD  I,  Paddle
  DRW  VA  VB  6
  DRW  VC  VD  6
  LD  VE  0
  CALL  Draw_Score
  LD  V6  3
  LD  V8  2
Big_Loop  LD  V0  96
  LD  DT  V0
DT_loop  LD  V0  DT
  SE  V0  0
  JP  DT_Loop
  RND  V7  23
  ADD  V7  8
  LD  V9  255
  LD  I,  Ball
  DRW  V6  V7  1
Padl_Loop  LD  I,  Paddle
  DRW  VA  VB  6
  DRW  VC  VD  6
  LD  V0  1
  SKNP  V0
  ADD  VB  254
  LD  V0  4
  SKNP  V0
  ADD  VB  2
  LD  V0  31
  AND  VB  V0
  DRW  VA  VB  6
  LD  V0  12
  SKNP  V0
  ADD  VD  254
  LD  V0  13
  SKNP  V0
  ADD  VD  2
  LD  V0  31
  AND  VD  V0
  DRW  VC  VD  6
  LD  I,  Ball
  DRW  V6  V7  1
  ADD  V6  V8
  ADD  V7  V9
  LD  V0  63
  AND  V6  V0
  LD  V1  31
  AND  V7  V1
  SNE  V6  2
  JP  Left_Side
  SNE  V6  63
  JP  Right_Side
Ball_Loop  SNE  V7  31
  LD  V9  255
  SNE  V7  0
  LD  V9  1
  DRW  V6  V7  1
  JP  Padl_loop
Left_Side  LD  V8  2
  LD  V3  1
  LD  V0  V7
  SUB  V0  VB
  JP  Pad_Coll
Right_Side  LD  V8  254
  LD  V3  10
  LD  V0  V7
  SUB  V0  VD
Pad_Coll  SE  VF  1
  JP  Ball_Lost
  LD  V1  2
  SUB  V0  V1 
  SE  VF  1
  JP  Ball_Top
  SUB  V0  V1  
  SE  VF  1  
  JP  Pad_Hit
  SUB  V0  V1
  SE  VF  1
  JP  Ball_Bot
Ball_Lost  LD  V0  32
  LD  ST  V0
  CALL  Draw_Score
  ADD  VE  V3
  CALL  Draw_Score
  LD  V6  62
  SE  V3  1
  LD  V6  3
  LD  V8  254
  SE  V3  1  
  LD  V8  2
  JP  Big_Loop
Ball_Top  ADD  V9  255
  SNE  V9  254
  LD  V9  255
  JP  Pad_Hit
Ball_Bot  ADD  V9  1
  SNE  V9  2
  LD  V9  1
Pad_Hit  LD  V0  4
  LD  ST  V0
  ADD  V6  1 
  SNE  V6  64 
  ADD  V6  254
  JP  Ball_Loop
Draw_Score  LD  I,  Score
  LD  B  VE
  LD  V2  I
  LD  F  V1
  LD  V4  20
  LD  V5  0 
  DRW  V4  V5  5
  ADD  V4  21
  LD  F  V2
  DRW  V4  V5  5
  RET
Paddle  data  128
  data  128
  data  128
  data  128
  data  128
  data  128
Ball  data  128
  data  0
Score  data  0
  data  0
  data  0
  data  0

beepについて

beepを鳴らす。

  ld  v0  4
  ld  st  v0
end  jp  end

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0