トップ 一覧 検索 ヘルプ RSS ログイン

Adventure Visionの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{outline}}

!!!Specifications
*CPU
**Intel 8048 @ 733KHz (11MHzの15分周)
***Internal ROM:1KB (BIOS)
***Internal RAM:64bytes
*Sound
**National Semiconductor COP411L @ 52.6KHz
***Internal ROM: 512bytes
***Internal RAM: 128bits
*RAM
**External RAM: 1KB
**8048: 64bytes
**COP411L: 128bits
*ROM
**Cartridge: 4KB
**8048: 1KB (BIOS)
**COP411L: 512bytes
*Graphics
**解像度は150x40
**垂直方向に赤色LEDが40個並んでいる。(8個×5セット)
**水平方向の映像は回転式ミラーによる残像を利用して生成している。
***450rpm (1秒間に7.5回転)
***1回転で2frame生成するので15fpsということになる。

!!!Memory Map

!!ROM
!BIOS Enable (P1.2=0)
,Address,Bank,Offset,Size,
,$000~$3FF,0,$000~$3FF,$400,BIOS
,$400~$7FF,0,$400~$7FF,$400,Cartridge ($400~$7FF)
,$800~$FFF,1,$000~$7FF,$800,Cartridge ($800~$FFF)

!BIOS Disable (P1.2=1)
,Address,Bank,Offset,Size,
,$000~$7FF,0,$000~$7FF,$800,Cartridge ($000~$7FF)
,$800~$FFF,1,$000~$7FF,$800,Cartridge ($800~$FFF)

!!RAM
!Internal RAM
,Address,Size,
,$00~$07,$08,Register Bank#0 (r0~r7)
,$08~$17,$10,Stack (2bytes*8Level) or User RAM
,$18~$1F,$08,Register Bank#1 (r0~r7) or User RAM
,$20~$3F,$10,User RAM

!External RAM
,Address,Bank,
,$000~$0FF,Bank#0,XOBJ work
,$100~$1FF,Bank#1,VRAM Bank#1 ($06~$FF)
,$200~$2FF,Bank#2,VRAM Bank#2 ($06~$FF)
,$300~$3FF,Bank#3,VRAM Bank#3 ($06~$FF)

*P1.1~0で切り替える。

!!!I/O
!!Port1
,bit,r/w,,
,P1.7~3,read,Controller Read,
,P1.2,write,BIOS Enable,"0:Enable, 1:Disable(Enable Cartridge)"
,P1.1~0,write,External RAM Bank,0~3

!Controller Read
,P1.7,P1.6,P1.5,P1.4,P1.3,
,0,1,1,1,1,Left
,1,0,1,1,1,Right
,1,1,0,1,1,Down
,1,1,1,0,1,Up
,1,1,0,1,1,Up
,1,1,1,0,1,Down
,,,,,,
,1,1,0,0,1,Button#1 (Up)
,1,0,1,0,1,Button#2 (Right)
,1,1,1,1,0,Button#3 (Down)
,0,1,1,0,1,Button#4 (Left)

!!Port2
,bit,r/w,,
,P2.7~5,write,LED Bank,"1~5:LED, 6:Sound"
,P2.4,write,LED Enable,"0:Disable, 1:Enable"
,P2.3~0,write,Address Bus,

!LED Bank
,P2.7,P2.6,P2.5,LED
,0,0,0,-
,0,0,1,Bank#1 (LED#01~08)
,0,1,0,Bank#2 (LED#09~16)
,0,1,1,Bank#3 (LED#17~24)
,1,0,0,Bank#4 (LED#25~32)
,1,0,1,Bank#5 (LED#33~40)
,1,1,0,(Sound)
,1,1,1,-

*P2.4=0のときにExternal RAMをreadすると、readしたデータが選択中のLED Bankに書き込まれる(らしい)。
*External RAMからLEDへの転送はBIOS $03で行われているので通常使用することは無い。
**BIOS $03では、ミラーの回転と同期してかなりシビアなタイミングで転送が行われている。
*各bitは0で点灯、1で消灯。
*Bank内でのLEDとbitの対応は今のところ不明。

!!!VRAM
*External RAMのBank#1~3の$06~$FFをVRAMとして使用する。
**各バンク250バイト*3 = 150*(40/8)バイト = 750バイト
*各bitは0で点灯、1で消灯。
**BIOSで描画する場合は、BIOS内部でnotしているので用意するデータは0で消灯、1で点灯でかまわない。

 Left                                                             Top                                                             Right
             ++----------------------------------++----------------------------------++----------------------------------+
             ||       External RAM Bank#1        ||       External RAM Bank#2        ||       External RAM Bank#3        |
 +-----------++---------+---------+-..-+---------++---------+---------+-..-+---------++---------+---------+-..-+---------++-----------+
 |         X ||    0    |    1    |    |   49    ||   50    |   51    |    |   99    ||   100   |   101   |    |   149   ||         X |
 +-----------++   +-----+   +-----+ ..-+   +-----++   +-----+   +-----+ ..-+   +-----++   +-----+   +-----+ ..-+   +-----++-----------+
 |    LED    ||   | bit |   | bit |    |   | bit ||   | bit |   | bit |    |   | bit ||   | bit |   | bit |    |   | bit ||    LED    |
 +---+-------++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-------+
 |   |  #40  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  #40  |
 | B |  #39  ||   |  6  |   |  6  |    |   |  6  ||   |  6  |   |  6  |    |   |  6  ||   |  6  |   |  6  |    |   |  6  || B |  #39  |
 | a |  #38  || $ |  5  | $ |  5  |    | $ |  5  || $ |  5  | $ |  5  |    | $ |  5  || $ |  5  | $ |  5  |    | $ |  5  || a |  #38  |
 | n |  #37  || 0 |  4  | 0 |  4  |    | F |  4  || 0 |  4  | 0 |  4  |    | F |  4  || 0 |  4  | 0 |  4  |    | F |  4  || n |  #37  |
 | k |  #36  || A |  3  | F |  3  |    | F |  3  || A |  3  | F |  3  |    | F |  3  || A |  3  | F |  3  |    | F |  3  || k |  #36  |
 | # |  #35  ||   |  2  |   |  2  |    |   |  2  ||   |  2  |   |  2  |    |   |  2  ||   |  2  |   |  2  |    |   |  2  || # |  #35  |
 | 5 |  #34  ||   |  1  |   |  1  |    |   |  1  ||   |  1  |   |  1  |    |   |  1  ||   |  1  |   |  1  |    |   |  1  || 5 |  #34  |
 |   |  #33  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  #33  |
 +---+-------++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-------+
 |   |  #32  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  #32  |
 :   :       ::   :     :   :     :    :   :     ::   :     :   :     :    :   :     ::   :     :   :     :    :   :     ::   :       :
 |   |  #17  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  #17  |
 +---+-------++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-------+
 |   |  #16  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  #16  |
 | B |  #15  ||   |  6  |   |  6  |    |   |  6  ||   |  6  |   |  6  |    |   |  6  ||   |  6  |   |  6  |    |   |  6  || B |  #15  |
 | a |  #14  || $ |  5  | $ |  5  |    | $ |  5  || $ |  5  | $ |  5  |    | $ |  5  || $ |  5  | $ |  5  |    | $ |  5  || a |  #14  |
 | n |  #13  || 0 |  4  | 0 |  4  |    | F |  4  || 0 |  4  | 0 |  4  |    | F |  4  || 0 |  4  | 0 |  4  |    | F |  4  || n |  #13  |
 | k |  #12  || 7 |  3  | C |  3  |    | C |  3  || 7 |  3  | C |  3  |    | C |  3  || 7 |  3  | C |  3  |    | C |  3  || k |  #12  |
 | # |  #11  ||   |  2  |   |  2  |    |   |  2  ||   |  2  |   |  2  |    |   |  2  ||   |  2  |   |  2  |    |   |  2  || # |  #11  |
 | 2 |  #10  ||   |  1  |   |  1  |    |   |  1  ||   |  1  |   |  1  |    |   |  1  ||   |  1  |   |  1  |    |   |  1  || 2 |  #10  |
 |   |  #09  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  #09  |
 +---+-------++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-------+
 |   |  #08  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  7  |   |  7  |    |   |  7  ||   |  #08  |
 | B |  #07  ||   |  6  |   |  6  |    |   |  6  ||   |  6  |   |  6  |    |   |  6  ||   |  6  |   |  6  |    |   |  6  || B |  #07  |
 | a |  #06  || $ |  5  | $ |  5  |    | $ |  5  || $ |  5  | $ |  5  |    | $ |  5  || $ |  5  | $ |  5  |    | $ |  5  || a |  #06  |
 | n |  #05  || 0 |  4  | 0 |  4  |    | F |  4  || 0 |  4  | 0 |  4  |    | F |  4  || 0 |  4  | 0 |  4  |    | F |  4  || n |  #05  |
 | k |  #04  || 6 |  3  | B |  3  |    | B |  3  || 6 |  3  | B |  3  |    | B |  3  || 6 |  3  | B |  3  |    | B |  3  || k |  #04  |
 | # |  #03  ||   |  2  |   |  2  |    |   |  2  ||   |  2  |   |  2  |    |   |  2  ||   |  2  |   |  2  |    |   |  2  || # |  #03  |
 | 1 |  #02  ||   |  1  |   |  1  |    |   |  1  ||   |  1  |   |  1  |    |   |  1  ||   |  1  |   |  1  |    |   |  1  || 1 |  #02  |
 |   |  #01  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  0  |   |  0  |    |   |  0  ||   |  #01  |
 +---+-------++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-----+---+-----+-..-+---+-----++---+-------+
 Left                                                            Bottom                                                           Right

!!!XOBJ
*BIOSでサポートされているスプライト的なもの。
*External RAM Bank#0をワークとして使用する。
**1つのXOBJで8バイト
*External RAMのOBJなのでXOBJ。(勝手に命名)

!!XOBJ work
,Offset,Name,
,+0,FLAGS,フラグ ?
,+1,DATA,*data
,+2,SHIFT,Y方向のシフト値 (0~7)
,+3,BANK,VRAMのBank# (1~3)
,+4,VRAM,VRAMのオフセットアドレス ($06~$FF)
,+5,ADDX,X方向の移動量 ?
,+6,ADDY,Y方向の移動量 ?
,+7,DIR,向き (0~19) ?

!!!Hardwares
,No.,Name
,6060,AC adapter
,6075,Adventure Vision

!!!Softwares
,No.,Title,Note
,6075,Defender,Williams arcade game
,6076,Turtles,Konami arcade game
,6077,Super Cobra,Konami arcade game
,6078,Space Force,Atari arcade game (aka Asteroids)

!!!Links
*[AdventureVision.com|http://www.adventurevision.com/]
*[Adventurevision|http://atarihq.com/danb/adventurevision.shtml] / Dan B's Videogame Tech Web Site
*[ADVENTURE VISION|http://www.m-e-g-a.org/research-education/research/adventure-vision/] / MEGA
*Wikipedia
**[Entex Adventure Vision|https://en.wikipedia.org/wiki/Entex_Adventure_Vision] (English)
**[アドベンチャービジョン|https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%89%E3%83%99%E3%83%B3%E3%83%81%E3%83%A3%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A7%E3%83%B3] (Japanese)
*Assembler
**[AS48|http://www.kingswood-consulting.co.uk/assemblers/] / Frank's home page
*Disassembler
**[DASMx|http://myweb.tiscali.co.uk/pclare/DASMx/] / Pete's Collection of Curios
*Documents
**[MCS-48|http://www.st.rim.or.jp/~nkomatsu/intel8bit/i8048.html] / try's page - 半導体コレクション