Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

8bit 時代のプログラミング事情を訪ねて

4,059 views

Published on

Published in: Technology
  • Dating direct: ♥♥♥ http://bit.ly/2ZDZFYj ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2ZDZFYj ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

8bit 時代のプログラミング事情を訪ねて

  1. 1. 2010.5.22(Sat) 於 長野市・もんぜんぷら座 8bit 時代のプログラミング 事情を訪ねて suno (すの)
  2. 2. ● 春原 宏保 (すのはら ひろやす) ● プログラマー (Win32/Web) ● 議事録係 http://d.hatena.ne.jp/suno88/ NHK 山口放送局長 春原秀一郎 (元ワシントン支局長)
  3. 3. 今回の NSEG 勉強会は JK がいない!
  4. 4. ↓ 平均年齢が高い!
  5. 5. そこで、ちょっとばかり 昔話でも……。
  6. 6. ~私のパソコン遍歴~ ● 1980 年 5 月 (今から 30 年前!) 松下電器 JR-100 ● RAM 16KB ● モノクロ画面 ● 英字は大文字のみ ● サウンドなし
  7. 7. ~私のパソコン遍歴~ ● 1981 年 日本電気 PC-6001 ● RAM 16KB ● 8 オクターブ 3 重和音 ● 128×192 ドット 4 色表示の グラフィック
  8. 8. すがやみつる氏(@msugaya)の著書 『こんにちはマイコン』でこの 世界に入った人、多数。
  9. 9. ~私のパソコン遍歴~ ● 1983 年 5 月 日電 PC-8001mk2 ● RAM 64KB ● 320×200 ドット 4 色表示の グラフィック ● 晴れてナイコン族 卒業!
  10. 10. PC-8001mk2 とは── ● 名機 PC-8001 の後継機種 ● Z80 4MHz ● PC-8001 の「N-BASIC」と PC-8001mk2 の「N80-BASIC」の 2 モード
  11. 11. PC-8001 は NHK テレビ「マイコン 入門」に「機種 X」として登場
  12. 12. 我が愛機 PC-8001mk2 の プログラミング環境は…… ● 電源を入れると BASIC 環境 (OS という概念はなし) ● 機械語(マシン語)も 16 進ダンプ 入力可能 (アセンブラはなし)
  13. 13. 1. メモリの制約がキツい
  14. 14. 電源投入直後の画面
  15. 15. ROM-BASIC ではフロッピー ディスクを使えない →フロッピー  ディスクを使うには  N80-Disk BASIC を  起動
  16. 16. N80-Disk BASIC 起動直後の画面
  17. 17. BEEP 音しか鳴らない P8mk2 に サウンドボードを挿す高校生の私 →サウンド拡張BASIC を  読み込まないと音が出ない
  18. 18. N80-Disk BASIC + サウンド拡張 BASIC で起動直後の状態
  19. 19. マルチステートメントを多用して メモリ節約 10 WIDTH 40,25 20 CONSOLE 0,25,0,1 30 S=100 40 P1=3 10 WIDTH 40,25:CONSOLE 0,25,0,1:S=100:P1=3
  20. 20. 無駄なコメントは書かない 100 REM ザヒョウケイノ ヘンスウヲ ショキカ 110 X1=0:X2=0:Y1=0:Y2=0:M=5 100 ' 110 X1=0:X2=0:Y1=0:Y2=0:M=5
  21. 21. 書かなくていいことは書かない 1050 LET MX=100 1060 IF A1=0 THEN GOTO 350 1050 MX=100 1060 IF A1=0 THEN 350
  22. 22. 余談ながら、マシン語でも…… LD A, 00H ; A <- 00H アセンブルすると「3E 00」の 2 バイト XOR A ; A <- A XOR A アセンブルすると「AF」の 1 バイト
  23. 23. 2. 言語の制約がキツい
  24. 24. N(80)-BASIC の制約 ● 変数名は 2 文字まで ● 構造化 BASIC が使えない ● while 文がなく、goto のみ
  25. 25. GOTO 文による制御構造 250 WHILE F3>0 260 IF X3>0 THEN Y3=-Y3 270 F3=F3-1 280 WEND 290 T1=0:T2=0 250 IF F3=0 THEN 290 260 IF X3>0 THEN Y3=-Y3 270 F3=F3-1 280 GOTO 250 290 T1=0:T2=0
  26. 26. 3. 実行速度がキツい
  27. 27. なんてったって BASIC ● 画面表示も遅い ● 8bit だしね!
  28. 28. DMA(Direct Memory Access) を止めて 実行速度アップ 10 OUT 104,0 ' DMA off 20 TIME$="00:00:00" 30 FOR I=1 To 5000 40 S=S+I 50 NEXT 60 WIDTH, ' DMA on 70 PRINT S 80 PRINT TIME$ 実行結果……DMA off 17 秒、DMA on 22 秒
  29. 29. 変数を整数型宣言して高速化 10 DEFINT A-G 以降、A~G で始まる変数は 整数型とみなされ、若干速くなる 10 DEFINT A-Z すべての変数を整数型とする (ゲームプログラミングでは定石)
  30. 30. IF 文を避けて高速化 500 P1=5 510 IF X1>0 THEN P1=P1+5 520 IF Y1>0 THEN P1=P1-3 500 P1=5+(X1>0)*-1+(Y1>0)*3 論理式が真の値は -1、偽の値は 0
  31. 31. 結論 年は取りたくないねぇ……。 ……そうじゃなくて :-)
  32. 32. 当時のプログラミング環境 速度最優先・メモリ効率最優先 プログラマーの都合なんてお構いなし 機械に余裕がなかった 現在のプログラミング環境 読みやすさ優先・ライブラリー充実 富豪的プログラミング 真の問題解決に集中できる環境
  33. 33. プログラマーにとって いい時代になりました 青年よ、もっとプログラムを書こう!
  34. 34.  ところで、 30 年前(1980 年)の 5/22 は……
  35. 35. が生まれた日でもありますが……
  36. 36. 妻の生まれた日につき、 本日の懇親会は欠席させてください m(_ _)m ※今回の NSEG 勉強会は  JK がいないので、  無意味に JK 時代の  写真を貼ってみた。
  37. 37. お目汚し、失礼しました。 すの (春原 宏保) http://d.hatena.ne.jp/suno88/ http://twitter.com/suno88  これはごまよごし。

×