View Issue Details

IDProjectCategoryView StatusLast Update
106SBPsoft.pcpublic2024-10-19 13:03
Reporterguest Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Summary106: SS88006ほかかなり多くのドライバ + GetDevice
Description

Description:
エラーが出るドライバがかなり多い
SxROM (亜種を含め全部)
VRC3, VRC6, VRC7
Namco 163 series, Namco 175, 340
Taito X1-005, Taito X1-017
SUNSOFT-1, SUNSOFT-2
Bandai LZ93D50 + FJUMP2
JF-05, JF-11, JF-13

Error Log:

*exception*
dummy -f EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb gui_action_start --action=DriverManager::ActionCartridgeFlashIDGetSBP --drivername=DriverSS88006
---- 2024-10-16 12:04:05 +0900; action start  ----
comm.opened:auto
trace (most recent call last):
    [20] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:560
    [19] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:562:in gui_action_start
    [18] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:556:in start
    [17] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:521:in gui_action_start
    [16] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:468:in action_start
    [15] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:308:in action
    [14] EW96IjonPno9IzZ6PjQiNC8gejc8Ow==/driver_manager.rb:451:in action_start
    [13] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/programmer.rb:700:in flash_id_get
    [12] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/programmer.rb:700:in each
    [11] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/programmer.rb:708:in flash_id_get
    [10] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/programmer.rb:225:in flash_id_get
    [9] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/programmer.rb:340:in content_memorybank_update
    [8] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/programmer.rb:69:in bank_switch
    [7] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/cartridge_driver.rb:448:in bank_switch
    [6] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk2NCchJzwxMjAKMSc8IzAnJgk=/jaleco.rb:82:in prgrom_bank_switch
    [5] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/sbp_memoryaccess.rb:75:in write
    [4] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/sbp_binary_command.rb:212:in access_set
    [3] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/sbp_binary_command.rb:185:in member_set
    [2] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/sbp_binary_command.rb:185:in times
    [1] EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/sbp_binary_command.rb:187:in member_set
EW8JIjonPgk9IzYJPjQiNC8gCTc8Owk=/sbp_binary_command.rb:187:in member_set
undefined method '+' (NoMethodError)
---- 2024-10-16 12:04:05.00; end ----
TagsNo tags attached.
Attach Tags

Activities

na6ko

2024-10-16 14:39

manager   ~0000240

固定可変関係なく、 Bank が1つの場合はエラーを出して正常終了するように修正.
これで動作が変わったものは下記となる.
Can't assign PRGROM programming banks
DiskSystem, SxROM (亜種を含め全部)
JF-05, JF-11, JF-13, SUNSOFT-1, SUNSOFT-2
VRC3 (便宜上で本当はこのエラーは不適切), LZ93D50FJUMP2 (VRC3と同じ)

Can't assign CHRROM programming banks
VRC6, VRC7, NAMCO163, NAMCO340

undefined method '+' (NoMethodError)
Taito X1-005, Taito X1-017

na6ko

2024-10-16 14:44

manager   ~0000241

細部の確認が必要ではあるがいまの段階でこのエラーで止まっていいものは下記.
DiskSystem, JF-05, JF-11, JF-13, SUNSOFT-1, SUNSOFT-2

Taito のスクリプトからの例外のエラーを修正してからほかの確認をする.

na6ko

2024-10-16 16:32

manager   ~0000243

Taito のスクリプトは CPU address $e000-$ffff のバンクが可変と誤認してしまうバクがあり、このバンクを切り替えようとして不整合がでてエラーとなる. 修正箇所が cartridge_driver.rb なのでほかのコードに影響が出ないか確認が必要.

na6ko

2024-10-16 20:26

manager   ~0000244

正常: DiskSystem, JF-05, JF-11, JF-13, SUNSOFT-1, SUNSOFT-2, VRC3 (固定バンクが別の理由で未定義だがそうであってもここで止まる)

super class での programming_address_assignment では自動的な処理では正常. 個別の実装をすることで制限を回避できるため、その実装がないことは不適切.:
SxROM (亜種を含め全部), VRC6, LZ93D50FJUMP2

要調査:
VRC7, NAMCO163, NAMCO340

na6ko

2024-10-17 16:51

manager   ~0000245

Last edited: 2024-10-17 20:46

View 2 revisions

止める条件が不適切だったので変更
改善
VRC7, NAMCO163, NAMCO340

例外発生
VRC6

問題なし
JF-05, JF-11, JF-13, SUNSOFT-1, SUNSOFT-2
VRC3, LZ93D50FJUMP2
Taito X1-005, Taito X1-017
TKROM, EKROM, DiskSystem, SS88006

Can't assign PRGROM programming banks, no c_5555
VRC4 (dump のみつくっていて flash の対応は variant の都合でできてない)

na6ko

2024-10-18 13:07

manager   ~0000246

VRC6 の例外発生は variant 特定のために flash_id_get() で address_assign() -> cartridge_initialize() を実行していたが、cartridge_initialize() で variant の検出が行われ、検出によってレジスタアドレスが確定するので、先に address_assign() を行うことは不適切.
これに関連して variant の検出失敗のメッセージの出力が明示がいる場合(ドライバを明示)、いらない場合(自動検出)の設定が必要になった. そこで cartridge_driver.initialize に引数を追加した. この引数の追加は全ての派生を含む cartridge_driver に対応が必要となった.

また一連の手法では VRC4 の variant の検出が dump のみに使えることになり、対応方法の検討が必要になる.

na6ko

2024-10-19 12:43

manager   ~0000247

全部のドライバを一括で動かすスクリプトを実装したところ DriverDRROMCHRROMA16 のみ例外レベルのエラーが出る.

DriverDRROMCHRROMA16
comm.opened:auto
trace (most recent call last):
    [12] driver_manager.rb:578
    [11] driver_manager.rb:579:in flashid_test
    [10] driver_manager.rb:579:in each
    [9] driver_manager.rb:588:in flashid_test
    [8] driver_manager.rb:478:in action_start
    [7] driver_manager.rb:317:in action
    [6] driver_manager.rb:461:in action_start
    [5] D:\work\hvc\kawazu\bin\programmer.rb:704:in flash_id_get
    [4] D:\work\hvc\kawazu\bin\programmer.rb:548:in address_assign
    [3] D:\work\hvc\kawazu\bin\programmer.rb:548:in each
    [2] D:\work\hvc\kawazu\bin\programmer.rb:553:in address_assign
    [1] D:\work\hvc\kawazu\bin\cartridge_driver.rb:416:in programming_address_assignment
D:\work\hvc\kawazu\bin\cartridge_driver.rb:416:in programming_address_assignment
undefined method '[]' (NoMethodError)
comm.closed
kawazu_cui.log (7,809 bytes)   
D:\work\hvc\kawazu\bin\kawazu_cui.exe -f driver_manager.rb flashid_test
DriverManager::DriverAutoDetector
DriverCNROM
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverUNROM
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverUNROMFlash
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
comm.closed
DriverGNROM
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverAMROM
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverBNROM
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverSKROM
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverSUROM
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverSXROM
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverSZROM
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverSOROM
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverPxROM
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x01 0xA0
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0xFF 0xFF
comm.closed
DriverTKROM
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xFF 0x29
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x00 0x03
comm.closed
DriverEKROM
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x00 0x03
comm.closed
DriverEWROM
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x00 0x03
comm.closed
DriverVRC1
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x00 0x00
comm.closed
DriverVRC2
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0xFF 0xFF
comm.closed
DriverVRC4
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverVRC3
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverVRC6
comm.opened:auto
PRGROM: W49F002U
CHRROM: W29C040
comm.closed
DriverVRC7
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x01 0xA0
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverDRROM
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xFF 0x29
CHRROM: W29C040
comm.closed
DriverDRROMCHRROMA16
comm.opened:auto
trace (most recent call last):
    [12] driver_manager.rb:578
    [11] driver_manager.rb:579:in flashid_test
    [10] driver_manager.rb:579:in each
    [9] driver_manager.rb:588:in flashid_test
    [8] driver_manager.rb:478:in action_start
    [7] driver_manager.rb:317:in action
    [6] driver_manager.rb:461:in action_start
    [5] D:\work\hvc\kawazu\bin\programmer.rb:704:in flash_id_get
    [4] D:\work\hvc\kawazu\bin\programmer.rb:548:in address_assign
    [3] D:\work\hvc\kawazu\bin\programmer.rb:548:in each
    [2] D:\work\hvc\kawazu\bin\programmer.rb:553:in address_assign
    [1] D:\work\hvc\kawazu\bin\cartridge_driver.rb:416:in programming_address_assignment
D:\work\hvc\kawazu\bin\cartridge_driver.rb:416:in programming_address_assignment
undefined method '[]' (NoMethodError)
comm.closed
DriverDRROMNTCONROL
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xFF 0x29
CHRROM: W29C040
comm.closed
DriverDRROMDDS1
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xFF 0x29
CHRROM: W29C040
comm.closed
DriverNAMCO163
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverNAMCO340
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverX1_005
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
CHRROM: W29C040
comm.closed
DriverX1_017
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
CHRROM: W29C040
comm.closed
DriverTC0190
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xFF 0x29
CHRROM: W29C040
comm.closed
DriverSUNSOFT1
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverSUNSOFT2
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverSUNSOFT3
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x0A 0x18
CHRROM: W29C040
comm.closed
DriverSUNSOFT4
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x05 0xE0
CHRROM: W29C040
comm.closed
DriverSUNSOFT5
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x96 0xA2
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverFCG2
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x05 0xE0
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverLZ93D50Standard
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverLZ93D50FJUMP2
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
DriverTAMS1
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
comm.closed
DriverG101
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverH3001
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0xA9 0x00
warning: autoselect is not worked in CHRROM
CHRROM: unknown id: 0x7E 0x81
comm.closed
DriverSS88006
comm.opened:auto
warning: autoselect is not worked in PRGROM
PRGROM: unknown id: 0x00 0xAC
CHRROM: W29C040
comm.closed
Driver74161JF05
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
Driver74161JF11
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
Driver74161JF13
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
Driver74161JF16IF12
comm.opened:auto
this driver is not suported flash devices
comm.closed
Driver74161JF17
comm.opened:auto
this driver is not suported flash devices
comm.closed
Driver74161JF19
comm.opened:auto
this driver is not suported flash devices
comm.closed
Driver74161IF09
comm.opened:auto
this driver is not suported flash devices
comm.closed
Driver74161WARA
comm.opened:auto
this driver is not suported flash devices
comm.closed
Driver74161OEKAKIDS
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverUN1ROM
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverUNROM7408
comm.opened:auto
this driver is not suported flash devices
comm.closed
DriverDiskSystem
comm.opened:auto
Can't assign PRGROM programming banks, no c_5555
comm.closed
kawazu_cui.log (7,809 bytes)   

na6ko

2024-10-19 13:03

manager   ~0000248

DriverDRROMCHRROMA16 は programming_address_assignment() の個別実装が必要であり、 PPU-CHRROM のその実装でユーザーレベルのエラーを出すようにした.
一連の対応を commit した.
https://gitlab.com/na6ko/kawazu/-/commit/200176bba966c53bee84aa4cc9e3baead90e3ee9

Issue History

Date Modified Username Field Change
2024-10-16 12:04 guest New Issue
2024-10-16 12:16 na6ko Description Updated View Revisions
2024-10-16 12:16 na6ko Status new => assigned
2024-10-16 12:20 na6ko Category General => soft.pc
2024-10-16 12:20 na6ko Summary SS88006 + GetDevice => SS88006ほかかなり多くのドライバ + GetDevice
2024-10-16 14:39 na6ko Note Added: 0000240
2024-10-16 14:44 na6ko Note Added: 0000241
2024-10-16 16:32 na6ko Note Added: 0000243
2024-10-16 20:26 na6ko Note Added: 0000244
2024-10-17 16:51 na6ko Note Added: 0000245
2024-10-17 20:46 na6ko Note Edited: 0000245 View Revisions
2024-10-18 13:07 na6ko Note Added: 0000246
2024-10-19 12:43 na6ko Note Added: 0000247
2024-10-19 12:43 na6ko File Added: kawazu_cui.log
2024-10-19 13:03 na6ko Status assigned => resolved
2024-10-19 13:03 na6ko Resolution open => fixed
2024-10-19 13:03 na6ko Note Added: 0000248