tanamの日記

2017-09-04

SG-1000ゲームコレクション

08:21

SG-1000のゲームタイトル一覧より自分が持っているゲーム〇と遊んだことあるゲーム△

https://ja.wikipedia.org/wiki/SG-1000%E3%81%AE%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E4%B8%80%E8%A6%A7

MEGA MSX ADAPTERで動いたものは◎にしました(2017/9/17)

ボーダーラインセガ

◎サファリハンティング(セガ

△N-SUB(セガ

 麻雀セガ

 チャンピオンゴルフ(セガ

 芹沢八段の詰将棋セガ

コンゴボンゴセガ

△YAMATO(セガ

 チャンピオンテニス(セガ

◎スタージャッカー(セガ

チャンピオンベースボール(セガ

△シンドバッドミステリー(セガ

 ゴルゴ13セガ

オーガスセガ

モナコGPセガ

 セガフリッパー(セガ

 ポップフレーマー(セガ

△パッカー(セガ

セガギャラガセガ

 スペーススラロームセガ

ジッピーレースセガ

 パチンコ(セガ

エクセリオンセガ

 パチンコII(セガ

〇ホーム麻雀セガ

ロードランナーセガ

 サファリレース(セガ

チャンピオンボクシング(セガ)← 3DS

チャンピオンサッカーセガ

 ハッスルチューミー(セガ

フリッキーセガ

ガールズガーデン(セガ)← 3DS

〇Qバート(ツクダオリジナル

 岡本綾子のマッチプレイゴルフ(ツクダオリジナル

 ガズラー(ツクダオリジナル

 三人麻雀ツクダオリジナル

 スペースマウンテン(ツクダオリジナル

 チャレンジダービーツクダオリジナル

ザクソンセガ

 チャンピオンプロレスセガ

GPワールド(セガ

 コナミ新入社員とおるくん(セガ

 コナミのハイパースポーツ(セガ

スターフォースセガ

 オセロセガ

 スペースインベーダーセガ

〇ザ・キャッスル(セガ

 ドラゴン・ワン(セガ

◎ズーム909(セガ

 チョップリフター(セガ

ピットフォールII(セガ

△どきどきペンギンランド(セガ

 ドロール(セガ

 チャックンポップ(セガ

バンクパニック(セガ

△ロックンボルト(セガ

 エレベーターアクションセガ

 倉庫番セガ

チャンピオンシップロードランナーセガ

◎ヒーロー(セガ

 チャンピオンアイスホッケーセガ

 ハングオンII(セガ

△ボンジャック(セガ

 スペースアーマー(ツクダオリジナル

 007 JAMES BONDツクダオリジナル

△ガルケーブ(セガ

 シーソー(セガ

忍者プリンセス(セガ

 スーパータンク(セガ

 チャンピオン剣道セガ

 ワンダーボーイセガ

 チャンピオンビリヤードセガ

△ザ・ブラックオニキスセガ

〇ロレッタの肖像(セガ

2017-07-17

2Mビットフラッシュメモリカートリッジその4

19:07

64KB RAM(0000-FFFF)のMSXに、16KB ROM(8000-BFFF)として2Mビットフラッシュメモリをつないで、MEGA MSX ADAPTERで32KB(0000-7FFF)のSG-1000カートリッジを実行したい

http://d.hatena.ne.jp/tanam/20170630/1498838835

EN29F002T.EQN

;
; EN29F002T.EQN - EN29F002T MSX MULTI CARTRIDGE
;

TITLE EN29F002T MSX MULTI CARTRIDGE
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 6/30/17

CHIP EN29F002T GAL22V10D

NC A15 A14 SLTSL_n MERQ_n NC NC NC NC NC NC GND
NC CE_n A14_n NC NC NC NC NC NC NC NC VCC

EQUATIONS

CE_n = A15 * A14 + /A15 * /A14 + SLTSL_n + MERQ_n

A14_n = /A14
       27C020 MSX GAL22V10D JUMPER
PIN 1  VPP                  K4
PIN 2 A16                  K2
PIN 3 A15                  K1
PIN 4 A12    A12
PIN 5 A7     A7
PIN 6 A6     A6
PIN 7 A5     A5
PIN 8  A4     A4
PIN 9  A3     A3
PIN10  A2     A2
PIN11  A1     A1
PIN12  A0     A0
PIN13  D0     D0
PIN14  D1     D1
PIN15  D2     D2
PIN16  GND    GND    GND
PIN17  D3     D3
PIN18  D4     D4
PIN19 D5     D5
PIN20 D6     D6
PIN21 D7     D7
PIN22 /CE           CE_n
PIN23 A10    A10
PIN24  /OE    /RD
PIN25  A11    A11
PIN26  A9     A9
PIN27  A8     A8
PIN28  A13    A13
PIN29  A14           A14_n
PIN30  A17                 K3
PIN31  /WE    /WR
PIN32  VCC    VCC    VCC
              A14    A14
              A15    A15
              /SLTSL SLTSL_n
              /MERQ  MERQ_n

2017-07-11

2Mビットフラッシュメモリカートリッジその3

02:19

ぴゅう太に16KB ROM(8000-BFFF)として2Mビットフラッシュメモリ(256KB)をつないでBIOSフラッシュメモリに吸い出したい

http://d.hatena.ne.jp/tanam/20160220/1455962516

ぴゅう太(8000-BFFF)から見ると256KBフラッシュメモリ(00000-3FFFF)は16KB(00000-03FFF)なので、20KB(0000-4FFF)のBIOSをDUMPするには前半(0000-2FFF)、後半(3000-4FFF)で2回実行する必要があります。

http://www.geocities.jp/parallel_computer_inc/pyuta.zip

***************************************************************
*
* FLASH MEMORY WRITER for PYUTA
*
* 2017/07/12  written by TANAM
*
********@*****@*********************@**************************
        AORG >8000
***************************************************************
* HEADER
***************************************************************
        DATA >5555             * GAME CARTRIDGE HEADER
        b    @START            * GOTO MAIN
***************************************************************
* SUB
***************************************************************
FLASH_WRITE
        limi 0
        li   R4,>9000
        li   R9,>0000
*        li   R9,>3000
        li   R15,>3000
WR_LOOP
        li   R5,>8555
        li   R6,>AA00
        movb R6,*R5
        li   R5,>8AAA
        li   R6,>5500
        movb R6,*R5
        li   R5,>8555
        li   R6,>A000
        movb R6,*R5
        movb *R9,*R4
        inc  R9
        inc  R4
        dec  R15
        ci   R15,>0000
        jne  WR_LOOP
        limi 3
        b    *R11
ALPHA   ci   R4,>0023
        jgt  SPACE
        ci   R4,>000A
        jlt  SPACE
NUMBER  li   R7,CHAR           * VDP CHAR ADDRESS TABLE
        a    R4,R4             * R4 = R4 + R4
        a    R7,R4             * SET CHAR "0" + R4
        mov  *R4,R7            * SET CHAR ADDRESS TO R7
        b    @>0194            * PRINT NUMBER
SPACE   li   R7,>1922          * SET CHAR " " ADDR TO R7
        b    @>0194            * PRINT SPACE
***************************************************************
CHAR    DATA >19A2,>19AA,>19B2,>19BA,>19C2,>19CA,>19D2,>19DA
        DATA >19E2,>19EA
        DATA >1A2A,>1A32,>1A3A,>1A42,>1A4A,>1A52
        DATA >1A5A,>1A62,>1A6A,>1A72,>1A7A,>1A82,>1A8A,>1A92
        DATA >1A9A,>1AA2,>1AAA,>1AB2,>1ABA,>1AC2,>1ACA,>1AD2
        DATA >1ADA,>1AE2,>1AEA,>1AF2
***************************************************************
* MAIN
***************************************************************
START   li   R12,>0060         * INITIAL CELL FUNCTION
        bl   @>019c            *
        li   R7,>1800          * VRAM FILL FUNCTION
        li   R8,>f200          *
        li   R9,>2000          *
        bl   @>002c            *
        li   R7,>1800          * SCROLL AREA FUNCTION
        li   R8,>02e0          *
        li   R9,>06e0          *
        bl   @>0180            *
        li   R9,>0000
        li   R15,BOOTMSG
LOOP1   li   R4,>0000
        movb *R15+,R4
        swpb R4
        ci   R4,>0000
        jeq  CMD1
        ai   R4,-55
        bl   @ALPHA
        b    @LOOP1
CMD1    li   R9,>0200
        li   R15,PUSHMSG
LOOP2   li   R4,>0000
        movb *R15+,R4
        swpb R4
        ci   R4,>0000
        jeq  CMD2
        ai   R4,-55
        bl   @ALPHA
        b    @LOOP2
CMD2    bl   @>023c            * LINE INPUT FUNCTION
        nop                    *
        nop                    *
        li   R7,>3f9c          * INITIAL VRAM ADDRESS
        li   R8,>0000          * INITIAL BUFFER
        li   R9,>0300
        li   R15,STARTMSG
LOOP3   li   R4,>0000
        movb *R15+,R4
        swpb R4
        ci   R4,>0000
        jeq  FLASH
        ai   R4,-55
        bl   @ALPHA
        b    @LOOP3
FLASH   li   R4,>F000
        li   R9,FLASH_WRITE
        li   R15,>00a0
LDIR    movb *R9+,*R4+
        dec  R15
        ci   R15,>0000
        jne  LDIR
        bl   @>F000
        li   R9,>0400
        li   R15,COMPMSG
        b    @LOOP4
ERROR   li   R9,>0400
        li   R15,ERRORMSG
LOOP4   li   R4,>0000
        movb *R15+,R4
        swpb R4
        ci   R4,>0000
        jeq  LOOP5
        ai   R4,-55
        bl   @ALPHA
        b    @LOOP4
LOOP5   b    @LOOP5

***************************************************************
* DATA
***************************************************************
BOOTMSG TEXT "PYUTA FLASH MEMORY WRITER"
        BYTE >00

PUSHMSG TEXT "PUSH RT KEY TO START"
        BYTE >00

STARTMSG TEXT "START"
        BYTE >00

ERRORMSG TEXT "ERROR"
        BYTE >00

COMPMSG TEXT "COMPLETE"
        BYTE >00

        END
;
; EN29F002T.EQN - EN29F002T PYUTA BIOS DUMPER
;

TITLE EN29F002T PYUTA BIOS DUMPER
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 7/12/17

CHIP EN29F002T GAL22V10D

NC A15 A14 NC NC NC NC NC NC NC NC GND
NC CE_n A14_n CE NC NC NC NC NC NC NC VCC

EQUATIONS

CE_n = /A15 + A14

A14_n = A14

CE = A15 * /A14
       27C020 PYUTA GAL22V10D JUMPER
PIN 1  VPP                    VCC
PIN 2 A16                    GND
PIN 3 A15                    GND
PIN 4 A12    A3
PIN 5 A7     A8
PIN 6 A6     A9
PIN 7 A5     A10
PIN 8  A4     A11
PIN 9  A3     A12
PIN10  A2     A13
PIN11  A1     A14
PIN12  A0     A15
PIN13  D0     D7
PIN14  D1     D6
PIN15  D2     D5
PIN16  GND    GND      GND
PIN17  D3     D4
PIN18  D4     D3
PIN19 D5     D2
PIN20 D6     D1
PIN21 D7     D0
PIN22 /CE             CE_n
PIN23 A10    A5
PIN24  /OE    /DBIN
PIN25  A11    A4
PIN26  A9     A6
PIN27  A8     A7
PIN28  A13    A2
PIN29  A14             A14_n
PIN30  A17                    GND
PIN31  /WE    /WE
PIN32  VCC    VCC      VCC
              A1       A14
              A0       A15
              SELEXM   CE

2017-07-06

RAM & ROM CARTRIDGE

09:15

MSX-DOSなしでMSX(16KB RAM)+MMASG-1000カートリッジを実行するために、32KB SRAM(CXK58257P-10L) + 32KB ROM(27C256)のRAM&ROMカートリッジを作ってみました。

SG-1000 Loaderカートリッジアルゴリズムを実装しました。

http://www.geocities.jp/parallel_computer_inc/SG1000.ZIP

Address  A15    /SLTSL /MERQ | /CE  RAM  /CE2 ROM
>0000    0      0      0     |  0  >0000  1   
>2000    0      0      0     |  0  >2000  1   
>4000    0      0      0     |  0  >4000  1   
>6000    0      0      0     |  0  >6000  1   
>8000    1      0      0     |  1         0   >0000
>A000    1      0      0     |  1         0   >2000
>C000    1      0      0     |  1         0   >4000
>E000    1      0      0     |  1         0   >6000

MSXRAM.EQN

;
; MSXRAM.EQN - RAM & ROM CARTRIDGE
;

TITLE RAM & ROM CARTRIDGE
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 7/8/17

CHIP MSXRAM GAL22V10

NC NC A14 A15 SLTSL_n MERQ_n WR_n RD_n NC NC NC GND
NC CE_n CE2_n OE_n WE_n A14_1 A14_2 NC NC NC NC VCC

EQUATIONS

CE_n = A15 + SLTSL_n + MERQ_n

CE2_n = /A15 + SLTSL_n + MERQ_n

OE_n = RD_n

WE_n = WR_n

A14_1 = A14

A14_2 = A14

PC-6001の16KB ROMにも対応したい

http://p6ers.net/mm/pc-6001/dev/flashromcard/16k.html

PC-6001の16KB RAMにも対応したい

http://sbeach.up.n.seesaa.net/sbeach/image/120326_01_E68BA1E5BCB5RAME59B9EE8B7AFE59BB3.PNG?d=a59191573

Address  /CS2 /CS3 /RAS2 /EXCAS | /CE  RAM  /CE2 ROM
>0000    1    1    1      1     |  1         1   
>2000    1    1    1      1     |  1         1   
>4000    0    1    1      1     |  1         0   >0000   
>6000    1    0    1      1     |  1         0   >2000   
>8000    1    1    0      0     |  0  >0000  1
>A000    1    1    0      0     |  0  >2000  1
>C000    1    1    1      1     |  1         1
>E000    1    1    1      1     |  1         1

PC6001RAM.EQN

;
; PC6001RAM.EQN - RAM & ROM CARTRIDGE
;

TITLE RAM & ROM CARTRIDGE
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 7/8/17

CHIP PC6001RAM GAL22V10

NC CS3 A14 A15 CS2 NC NC NC RAS2 DRD2 WE GND
EXCAS CE_n CE2_n OE_n WE_n A14_1 A14_2 NC NC NC NC VCC

EQUATIONS

CE_n = EXCAS + RAS2

CE2_n = CS3 * CS2

OE_n = CS3 * CS2 * DRD2

WE_n = WE

A14_1 = GND

A14_2 = GND

       27C256 CXK58257P GAL22V10 CF-2000 PC-6001
                        RAS2             RAS2
                        DRD2             DRD2
                        WE               WE
                        EXCAS            EXCAS
                        A15      A15
PIN 1  NC       A14_n   A14      A14     A14
PIN 2 A12      A12              A12     A12
PIN 3 A7       A7               A7      A7
PIN 4 A6       A6               A6      A6
PIN 5 A5       A5               A5      A5
PIN 6  A4       A4               A4      A4
PIN 7  A3       A3               A3      A3
PIN 8  A2       A2               A2      A2
PIN 9  A1       A1               A1      A1
PIN10  A0       A0               A0      A0
PIN11  D0       D0               D0      D0
PIN12  D1       D1               D1      D1
PIN13  D2       D2               D2      D2
PIN14  GND      GND     GND      GND     GND
PIN15  D3       D3               D3      D3
PIN16  D4       D4               D4      D4
PIN17 D5       D5               D5     D5
PIN18 D6       D6               D6      D6
PIN19 D7       D7               D7      D7
PIN20 /CE2     /CE     CE_n
PIN21 A10      A10              A10     A10
PIN22  /OE      /OE     OE_n
PIN23  A11      A11              A11     A11
PIN24  A9       A9               A9      A9
PIN25  A8       A8               A8      A8
PIN26  A13      A13     A13              A13
PIN27  A14*     /WE     WE_n
PIN28  VCC      VCC     VCC      VCC     VCC
                        SLTSL_n  /SLTSL  CS2
                        CS3              CS3
                        RD_n     /RD
                        WR_n     /WR
                        MERQ_n   /MERQ
                                 SW1
                                  |
                                 SW2

2017-06-30

2Mビットフラッシュメモリカートリッジその2

01:07

16KB RAM(C000-FFFF)のMSXに、64KB ROM(0000-FFFF)として2Mビットフラッシュメモリをつないで読み書きして、MEGA MSX ADAPTERで32KB(0000-7FFF)のSG-1000カートリッジを実行したい

http://p6ers.net/mm/pc-6001/dev/flashromcard/32k_write.html

アルゴリズムを実装しました。

http://www.geocities.jp/parallel_computer_inc/SG10002.zip

EN29F002T.EQN

;
; EN29F002T.EQN - EN29F002T MSX 64K CARTRIDGE
;

TITLE EN29F002T MSX 64K CARTRIDGE
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 7/1/17

CHIP EN29F002T GAL22V10D

NC NC A14 SLTSL_n MERQ_n NC NC NC NC NC NC GND
NC CE_n A14_n NC NC NC NC NC NC NC NC VCC

EQUATIONS

CE_n = SLTSL_n + MERQ_n

A14_n = A14
       27C020 MSX GAL22V10D JUMPER
PIN 1  VPP                  K4
PIN 2 A16                  K2
PIN 3 A15    A15           K1
PIN 4 A12    A12
PIN 5 A7     A7
PIN 6 A6     A6
PIN 7 A5     A5
PIN 8  A4     A4
PIN 9  A3     A3
PIN10  A2     A2
PIN11  A1     A1
PIN12  A0     A0
PIN13  D0     D0
PIN14  D1     D1
PIN15  D2     D2
PIN16  GND    GND    GND
PIN17  D3     D3
PIN18  D4     D4
PIN19 D5     D5
PIN20 D6     D6
PIN21 D7     D7
PIN22 /CE           CE_n
PIN23 A10    A10
PIN24  /OE    /RD
PIN25  A11    A11
PIN26  A9     A9
PIN27  A8     A8
PIN28  A13    A13
PIN29  A14           A14_n
PIN30  A17                 K3
PIN31  /WE    /WR
PIN32  VCC    VCC    VCC
              A14    A14
              /SLTSL SLTSL_n
              /MERQ  MERQ_n