シューマン波ジェネレータ

「シューマン波ジェネレータ」の編集履歴(バックアップ)一覧はこちら

シューマン波ジェネレータ」(2019/06/18 (火) 00:54:51) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

-AY-3-8910PSGサンプル1 シューマン波ジェネレータ SONY HB-G900の存在が旧ソビエト連邦の宇宙実験施設ミールのコアモジュール内に見つけることが出来る という話が興味深かったので、宇宙で使われたコンピュータ繋がりで 長期滞在型宇宙船に搭載された奇妙な設備装置の話を目にしたので製作事例としてMSXで再現してみた。 HB-G900はミール宇宙船の居住施設コアモジュールに設置されていたらしいが詳細や用途は不明である。 今回再現するこの装置は地球固有の電磁気振動を再現するもので旧ソビエト連邦のミールではなく、 米国のアポロ宇宙計画から出てくる話で、宇宙空間で長期滞在が必要となる月着陸のアポロ宇宙計画のため に必要とされた機能らしい。 これらは1960年代の欧米のアポロ計画とスペースラブ計画などで使用したとか、されたらしい という噂程度のものであるが、実験的に使用してみると地上でも気分が落ち着きこれが具合がよくて 噂とは思えず実際に有効ではないかと思われた。世の中に存在する類似装置は怪しげなものが多く 設計も間違っていて残念なので、科学的に正しい動作をするものとして当時の技術水準で可能な方法を 今回レトロPCで装置の再現をしてみることとした。 実際には有人宇宙船で使用する場合は船体全体、または生活居住空間の船体モジュールを覆うような 微弱な電磁気フィールドを作り出すような設計が必要だろう。 ROMカートリッジ用のソースコードも製作したのでROMに書き込めばFDD搭載していない機種でも 長時間動作可能である。 利用に際しては音声出力をそのままアンプにつなぎ音声出力部はスピーカーではなく微弱な電磁気 フィールドが発生するように装置を改良、調整して使用する。 地球上の自然界の自然振動は楽器の共鳴管のような構造を持たず、一定の振動数を保有していないため 海岸線のさざ波のようにノイズに近い振動となるため今回はこの方針で再現することにした。 なおノイズは本来は広帯域に周波数が広がる性質をもつため出力部には低周波濾波フィルタは使用しない方がよい。 (あくまでもジョークソフトだが)動作はエミュレータ環境、オープンソースのCBIOSで動作する事を確認した。 以下のソースはDOS上で動くコマンド用のアセンブラである。 アセンブルの手順は従来と同様である。(hex2binコマンドは別途ダウンロードすること) >sdasz80 -o swpg.rel swpg.asm >sdld -i swpg.ihx swpg.rel >hex2bin swpg.ihx >copy swpg.bin swpg.com ;Simple schuman wave pulse generator (audio output ; connects tocoil) ; .area _ASM(abs,con) .org 0x100 ; ld d,#7 ; ld e,#0b00110111 ; call sub_psc ld d,#8 ; ld e,#0x1f ; call sub_psc ld d,#12 ; ;ld e,#0b011 ld e,#0b01 ; call sub_psc ld d,#11 ; ;ld e,#0b10000000 ld e,#0b11000000 ; call sub_psc ld d,#13 ; ld e,#0b1110 call sub_psc ld d,#6 ; ld e,#0 call sub_psc ret ;----- sub_psc: ld c,#0xA0 ;reg number ld a,d out (c),a ld c,#0xA1 ;write ld a,e out (c),a ret 以下にROMカートリッジ用ソースを示す。ROMイメージのテストは各種エミュレータで 可能で、動作可能バージョンはMSX1~MSXtRまでとCBIOSを組み込んだ機種(Zemmixなど)。 実機で動作させる場合にはROMを書き込みする必要がある。 16KB,ROMなので開始アドレスは0x4000から始まる。hex2bin以外を使用し作成されるバイナリが 0x0-0x3FFFを含む場合はバイナリエディタで削除すること。 アセンブル手順は以下の通り。 >sdasz80 -o file.rel file.asm >sdld -i file.ihx file.rel >hex2bin file.ihx >copy file.bin file.rom ;Simple schuman wave pulse generator (audio output ; connects tocoil) ;***16KB ROM Cartridge .area _ASM (abs,con) .org 0x4000 ;-----ROM Header .dw "AB" .dw 0x4050 .dw 0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0 ;-----ROM code section .org 0x4050 start: call 0x006c ;init textmode ld hl,#text1 call sub_puts ;print message ;---enable schuman wave generator ld d,#7 ; ld e,#0b00110111 ; call sub_psc ld d,#8 ; ld e,#0x1f ; call sub_psc ld d,#12 ; ;ld e,#0b011 ld e,#0b01 ;1/2 call sub_psc ld d,#11 ; ;ld e,#0b10000000 ld e,#0b11000000 ;1/2 call sub_psc ld d,#13 ; ld e,#0b1110 call sub_psc ld d,#6 ; ld e,#0 call sub_psc endloop: halt jr endloop ;------ sub_puts: ld a,(HL) push af call 0x00a2 ;call rombios (chput) pop af inc hl ld a,(HL) cp #0 jr nz,sub_puts ret ;-------- sub_psc: ld c,#0xA0 ;reg number ld a,d out (c),a ld c,#0xA1 ;write ld a,e out (c),a ret ;--- text1: .ascii /INIT: ROM BOOT... / .db 0xd,0xa .ascii /INIT: AY38910-S1985/ .db 0xd,0xa .ascii /SchumanPulseGenerator V1.00/ .db 0xd,0xa .ascii /STATUS:Start/ .db 0,0,0
-PSGサンプル1 シューマン波ジェネレータ SONY HB-G900の存在が旧ソビエト連邦の宇宙実験施設ミールのコアモジュール内に見つけることが出来る という話が興味深かったので、宇宙で使われたコンピュータ繋がりで 長期滞在型宇宙船に搭載された奇妙な設備装置の話を目にしたので製作事例としてMSXで再現してみた。 HB-G900はミール宇宙船の居住施設コアモジュールに設置されていたらしいが詳細や用途は不明である。 今回再現するこの装置は地球固有の電磁気振動を再現するもので旧ソビエト連邦のミールではなく、 米国のアポロ宇宙計画から出てくる話で、宇宙空間で長期滞在が必要となる月着陸のアポロ宇宙計画のため に必要とされた機能らしい。 これらは1960年代の欧米のアポロ計画とスペースラブ計画などで使用したとか、されたらしい という噂程度のものであるが、実験的に使用してみると地上でも気分が落ち着きこれが具合がよくて 噂とは思えず実際に有効ではないかと思われた。世の中に存在する類似装置は怪しげなものが多く 逆位相で磁場を打ち消すなど基本的に設計も間違っていて残念なので、科学的に正しい動作をするものとして 当時の技術水準で可能な方法を今回レトロPCで装置の再現をしてみることとした。 実際には有人宇宙船で使用する場合は船体全体、または生活居住空間の船体モジュールを覆うような 微弱な電磁気フィールドを作り出すような設計が必要だろう。 ROMカートリッジ用のソースコードも製作したのでROMに書き込めばFDD搭載していない機種でも 長時間動作可能である。 利用に際しては音声出力をそのままアンプにつなぎ音声出力部はスピーカーではなく微弱な電磁気 フィールドが発生するように装置を改良、調整して使用する。 地球上の自然界の自然振動は楽器の共鳴管のような構造を持たず、一定の振動数を保有していないため 海岸線のさざ波音のようにノイズに近い振動となるため今回はこの方針で再現することにした。 なおノイズは本来は広帯域に周波数が広がる性質をもつため出力部には低周波濾波フィルタは使用しない方がよい。 (あくまでもジョークソフトだが)動作はエミュレータ環境、オープンソースのCBIOSで動作する事を確認した。 ※ちなみに筆者はこの宇宙船搭載装置のお陰で普段いらいらしてキレることもないし、夜よく眠れるようになった 以下のソースはDOS上で動くコマンド用のアセンブラである。 アセンブルの手順は従来と同様である。(hex2binコマンドは別途ダウンロードすること) >sdasz80 -o swpg.rel swpg.asm >sdld -i swpg.ihx swpg.rel >hex2bin swpg.ihx >copy swpg.bin swpg.com ;Simple schuman wave pulse generator (audio output ; connects tocoil) ; .area _ASM(abs,con) .org 0x100 ; ld d,#7 ; ld e,#0b00110111 ; call sub_psc ld d,#8 ; ld e,#0x1f ; call sub_psc ld d,#12 ; ;ld e,#0b011 ld e,#0b01 ; call sub_psc ld d,#11 ; ;ld e,#0b10000000 ld e,#0b11000000 ; call sub_psc ld d,#13 ; ld e,#0b1110 call sub_psc ld d,#6 ; ld e,#0 call sub_psc ret ;----- sub_psc: ld c,#0xA0 ;reg number ld a,d out (c),a ld c,#0xA1 ;write ld a,e out (c),a ret 以下にROMカートリッジ用ソースを示す。ROMイメージのテストは各種エミュレータで 可能で、動作可能バージョンはMSX1~MSXtRまでとCBIOSを組み込んだ機種(Zemmixなど)。 実機で動作させる場合にはROMを書き込みする必要がある。 16KB,ROMなので開始アドレスは0x4000から始まる。hex2bin以外を使用し作成されるバイナリが 0x0-0x3FFFを含む場合はバイナリエディタで削除すること。 アセンブル手順は以下の通り。 >sdasz80 -o file.rel file.asm >sdld -i file.ihx file.rel >hex2bin file.ihx >copy file.bin file.rom ;Simple schuman wave pulse generator (audio output ; connects tocoil) ;***16KB ROM Cartridge .area _ASM (abs,con) .org 0x4000 ;-----ROM Header .dw "AB" .dw 0x4050 .dw 0,0,0,0,0,0 .dw 0,0,0,0,0,0,0,0 ;-----ROM code section .org 0x4050 start: call 0x006c ;init textmode ld hl,#text1 call sub_puts ;print message ld d,#7 ; ld e,#0b00110111 ; call sub_psc ld d,#8 ; ld e,#0x1f ; call sub_psc ld d,#12 ; ;ld e,#0b011 ld e,#0b01 ;1/2 call sub_psc ld d,#11 ; ;ld e,#0b10000000 ld e,#0b11000000 ;1/2 call sub_psc ld d,#13 ; ld e,#0b1110 call sub_psc ld d,#6 ; ld e,#0 call sub_psc endloop: halt jr endloop ;------ sub_puts: ld a,(HL) push af call 0x00a2 ;call rombios (chput) pop af inc hl ld a,(HL) cp #0 jr nz,sub_puts ret ;-------- sub_psc: ld c,#0xA0 ;reg number ld a,d out (c),a ld c,#0xA1 ;write ld a,e out (c),a ret ;--- text1: .ascii /INIT: ROM BOOT... / .db 0xd,0xa .ascii /INIT: AY38910-S1985/ .db 0xd,0xa .ascii /SchumanPulseGenerator V1.00/ .db 0xd,0xa .ascii /STATUS:Start/ .db 0,0,0

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。