Просмотр полной версии : Можно ли программно определить наличие AY
2) Определение наличия у компа муз. платы:
Muzak ld bc,65533
ld a,0
out (c),a
ld b,191
ld a,64
out (c),a
ld b,255
in a,(c)
cp 64
jr z,есть
Тут тоже все просто.
3) Если муз. плата все же нашлась предыду-
щей процедуркой, то теперь можно опреде-
лить ее тип:
Tip ld bc,65533
ld a,16
out (c),a
in a,(c)
cp 255
jr nz,AY-8910/12
jr YAMAHA 2149F
LPrint #21 from zxdn.narod.ru
...и как это делается?Принцип, как мы видим, основан на том, чтоб записать некое значение в регист АУ, а потом считать. %)
=ANDROID=
20.01.2009, 15:18
Определение наличия у компа муз. платы
Отлично! Мож сделаешь из этого tap файл и выложишь? Много времени то не займет... Кстати, как будут на это реагировать различные эмуляторы?
Отлично! Мож сделаешь из этого tap файл и выложишь? Много времени то не займет...
Сейчас нечем.
Кстати, как будут на это реагировать различные эмуляторы?
Ну запусти тот же Test4.20 (вроде бы). Он все проверяет. US эмулирует разные типы сопроцессоров, т.е. определится.
Мож сделаешь из этого tap файл и выложишь
а почему именно tap?
а почему именно tap?
Потому что не все Tr-Dos'ом юзаются, а тапки всем угодят.
Потому что не все Tr-Dos'ом юзаются, а тапки всем угодят.
Не смеши мои tap-ки. Просто у тебя +3. ;)
Slider, найди тута мою тему про тест-пзу... Там всё с исходами... процедурко определялова АУшки имееццо...
Slider, найди тута мою тему про тест-пзу... Там всё с исходами... процедурко определялова АУшки имееццо...
Чтоб не искать, вот вроде она: http://www.zx.pk.ru/showthread.php?t=7554&highlight=%F2%E5%F1%F2-%EF%E7%F3
а у меня баще :)
;-------------------------------
;Turbo Sound проверялка
;AY/YM проверялка
XOR A
LD HL,#FE00
LD DE,#FFBF
LD BC,#FFFD
OUT (C),B ;SELECT TS AY0 CHRV
OUT (C),A ;SELECT REG 0
LD B,E
OUT (C),B ;WRITE #BF IN REG 0 AY0 CHRV
INC A
OUT (#1F),A ;SELECT TS AY1 POS
OUT (C),C ;WRITE #FD IN REG 0 AY1 POS
LD B,D
OUT (C),H ;SELECT TS AY1 CHRV
OUT (C),L ;SELECT REG 0
LD B,E
OUT (C),H ;WRITE #FE IN REG 0 AY1 CHRV
LD A,L
OUT (#1F),A ;SELECT TS AY0 POS
OUT (C),L ;WRITE #00 IN REG 0 AY0 POS
INC A
OUT (#1F),A ;SELECT TS AY1 POS
LD B,D
OUT (C),D ;SELECT TS AY0 CHRV
OUT (C),L ;SELECT REG 0
IN A,(C) ;READ BYTE FROM REG 0
CP C
;TS PoS
;TS NPC
;NO AY
;AY/YM
;переходим если нашли Turbo-Sound by NedoPC
JR Z,TS_NedoPC
;переходим если нет ваще чипа
INC A
JR Z,NO_AY
;переходим если нашли Turbo-Sound by PoS
INC A
JR Z,TS_PoS
;пришли сюда если у нас всего один чип и он есть
;......
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot