На DE1 есть порт Сеги (правда без звука). Перетягивается на раз два.
Про ХДЛ порт Денди не слышал.
Вид для печати
На DE1 есть порт Сеги (правда без звука). Перетягивается на раз два.
Про ХДЛ порт Денди не слышал.
ReVerSE U9EP3C
:speccy: u9-Speccy v0.8 Rev.20130721
Скрытый текст
- CPU
Z80 @ 14.0MHz (T80 Core)- TURBO
x1 3.5MHz
x4 14.0MHz (no wait) On/Off = Key 'F9'- SOUND
Beeper
General Sound (Z80 @ 84MHz, ROM v1.05a 32K, RAM 448K) Reset = Key 'F10'
TurboSound (2 SSG YM2149)
Soundrive 1.05 ports - mode 1
Covox (port #FB) On/Off = Key 'F11'- MEMORY
4MB #DFFD : #7FFD- REAL-TIME CLOCK
Gluk Clock (MC14618A)- VIDEO
Standart (VGA 800 x 600 @ 50Hz)
Pentagon (VGA 800 x 600 @ 48Hz) On/Off = Key 'F12'- JOYSTICK
Kempston Mouse 3D
Kempston [4][5][6][8][AltGr] On/Off = Key 'NumLock'- CD/MMC
ZController- UART
[свернуть]
+ ROM теперь считывается из M25P40, раньше требовалось его наличие на SD.
+ обновлен T80CPU ver. 242
+ установленная перемычка на GPI переключает VGA 31.5кГц на 15кГц (экспериментально).
+ добавлена громкость каналов в GS.
! исправления в модуле UART.
! теперь модуль ZC корректно работает при turbo on/off.
! защелки bit7_flag, bit0_flag, int_n приводившие к нестабильной работе GS, заменены на D-триггера с динамическим синхронным входом С и с дополнительными асинхронными входами S и R.
* частота CPU GS установлена на 21МГц.
Для работы TAP, SNA, Z80 с SD карты, планирую реализовать DIVIDE или ZXMMC+. Может есть еще более подходящий вариант?
Сделал порт One-Chip-MSX, конфигурации для плат U8 и U9 можно брать здесь.
http://upload.wikimedia.org/wikipedi...ectrum128K.jpgZX-Spectrum на ReVerSE
:speccy: u9-Speccy v0.8.8 Rev.20140401
Скрытый текст
- CPU
Z80 @ 14.0MHz (T80 Core)- TURBO
x1 3.5MHz / x2 7.0MHz = Key 'F3'
x2 7.0MHz / x4 14.0MHz = Key 'F9'- SOUND
Beeper
General Sound (T80 @ 21MHz, ROM v1.05a 32K, RAM 448K) Reset = Key 'F10'
TurboSound (2 SSG AY8910)
Soundrive 1.05 ports - mode 1
Covox (port #FB) On/Off = Key 'F11'- MEMORY
4MB #DFFD : #7FFD- REAL-TIME CLOCK
Gluk Clock (MC14618A)- VIDEO
Standart (VGA 800 x 600 @ 50Hz)
Pentagon (VGA 800 x 600 @ 48Hz) On/Off = Key 'F12'
Frame On/Off = Key 'F7'- JOYSTICK
Kempston Mouse 3D
Kempston [4][5][6][8][AltGr] On/Off = Key 'NumLock'- CD/MMC
ZController
DivMMC On/Off = Key 'F6'- UART
- SETUP
N80CPU@50MHz
80x30 Text Mode On/Off = Key 'F8'[свернуть]
:speccy: u8-Speccy v0.8.8 Rev.20140401
Скрытый текст
- CPU
Z80 @ 14.0MHz (T80 Core)- TURBO
x1 3.5MHz / x2 7.0MHz = Key 'F3'
x2 7.0MHz / x4 14.0MHz = Key 'F9'- SOUND
Beeper
General Sound (T80 @ 21MHz, ROM v1.05a 32K, RAM 448K) Reset = Key 'F10'
TurboSound (2 SSG AY8910)
Soundrive 1.05 ports - mode 1
Covox (port #FB) On/Off = Key 'F11'
Audio MP3, OGG, WAV...- MEMORY
4MB #DFFD : #7FFD- REAL-TIME CLOCK
Gluk Clock (MC14618A)- VIDEO
Standart (VGA 800 x 600 @ 50Hz) On/Off = Key 'F12'
Pentagon (VGA 800 x 600 @ 48Hz)
Frame On/Off = Key 'F7'- JOYSTICK
Kempston Mouse 3D
Kempston [4][5][6][8][AltGr] On/Off = Key 'NumLock'- CD/MMC
ZController
DivMMC On/Off = Key 'F6'- UART
- SETUP
N80CPU@50MHz
80x30 Text Mode On/Off = Key 'F8'[свернуть]
История изменений:Скрытый текст
Код:-------------------------------------------------------------------[01.04.2014]
-- u8-Speccy Version 0.8.8
-- DEVBOARD ReVerSE-U8
-------------------------------------------------------------------------------
-- V0.1 05.11.2011 TOP : первая версия
-- V0.2 21.10.2011 vs1053 : добавлен модуль для работы с VS1053
-- V0.5 20.11.2011 gs : добавлен GS
-- V0.5.1 11.12.2011 TOP : cброс GS на клавише 'F10'
-- V0.5.2 14.12.2011 uart : добавлен модуль UART
-- V0.5.3 20.12.2011 gs : INT, CPU GS @ 84MHz
-- V0.6 16.12.2012 loader : ROM теперь считывается из M25P40
-- V0.7 29.05.2013 t80s : обновлен T80CPU
-- gs : исправлена работа защелок bit7_flag, bit0_flag (синхронный процесс), частота 21МГц, добавленна громкость каналов
-- V0.8 21.07.2013 zcontroller : работа модуля ZC при key_f(9) on/off
-- gs : исправлена работа int_n (синхронный процесс)
-- V0.8.1 23.07.2013 vs1053 : убран опрос DREQ в режиме STREAM (были слышны потрескивания)
-- TOP : устранена ошибка переключения видео страниц в vid_wr (shurik-ua)
-- V0.8.2 24.07.2013 zcontroller : Clock 28МГц
-- V0.8.3 10.08.2013 io_ps2_mouse : ticksPerUsec * 3500000 в модулях io_ps2_mouse и io_ps2_keyboard
-- V0.8.4 01.09.2013 spi : независимая работа интерфейса от системной частоты
-- V0.8.5 07.09.2013 ay8910 : YM2149 временно заменил на AY8910, был слышен шум после остановки проигрывания
-- V0.8.6 09.03.2014 sdram : изменения в контроллере SDRAM
-- video : добавлена рамка кнопка 'F7' = On/Off
-- V0.8.7 27.03.2014 video : изменения видео режимов pentagon, spectrum
-- divmmc : добавлен divMMC (8K ROM + 512K RAM)
-- TOP : изменен селектор данных CPU на MUX
-- V0.8.8 01.04.2014 divmmc : исправление в переключении после чтения опкода (shurik-ua)
-- sdram : добавлены защелки RD, WR, RFSH для предотвращения повторного захвата запросов
-- TOP : добавлено чтение из портов 7FFD и DFFD. Кнопка 'F3' = 3.5MHz/7.0MHz, 'F9' = 7.0MHz/14.0MHz
[свернуть]
http://zx.pk.ru/attachment.php?attac...1&d=1395935787
Где можно подробно посмотреть про реализацию UART'а ? какие порты, какие пины?
(касаемо U9EP3C если есть разница)
На плате реализован USB-UART мост на FT232R:
- Устанавливаем на PC утилиту FT_Prog
- и соответствующие ОС драйвера.
- Подключаем ReVerSE к PC USB кабелем, на плате разъем (Х7) miniUSB.
- Запускаем утилиту FT_Prog.
- Жмем на Scan and Parse.
- Делаем изменения в вкладках IO Controls и USB String Descriptions в Device Tree как на screen-shot.
- Жмем Program Devices.
В конфигурации Speccy реализована поддержка UART (115200 Baud, 8bit, 1 stop bit, no parity).
Порт #xxAC чтение:
- bit7= tx_busy;
- bit6= CBUS4;
- bit5..2= не используются;
- bit1= rx_error;
- bit0= rx_avail.
Порт #xxBC чтение/запись:
- bit7..0= данные.
Код:; -----------------------------------------------------------------------------
; UART
; -----------------------------------------------------------------------------
; Ports:
; #BC DATA W/R
; #AC STATUS R: bit7=1:tx_busy, bit6=0:CBUS4(FT232R POWER ON), bit1= rx_error,
bit0= rx_avail
; HL=STRING, #00 = END STRING
P_TXREG EQU #BC
P_TXSTA EQU #AC
TX_IF RLCA
RET C ; FT232R NO CONNECT TO HOST!
TX_STR IN A,(P_TXSTA)
RLCA
JR C,TX_IF ; CY=1 :BUFFER FULL, WAIT...
LD A,(HL)
OR A
RET Z ; Z=0 :END STRING
INC HL
OUT (P_TXREG),A
JR TX_STR
Код:LD HL,STR_TEST1
CALL TX_STR
RET
STR_TEST1 DB #0D,#0A
DB #0D,#0A,"PCB U9EP3C Rev.A (C) MVV"
DB #0D,#00
Написал на скорую руку тест, для проигрывания mp3 на u8.
Код:; Тест проигрывания MP3 v0.0.1
; Port #xx04 Data Buffer (write/read)
; Port #xx05 Command/Status Register (write/read)
; Data Buffer (write/read):
; bit 7-0 = Stores read/write data
; Command/Status Register (write):
; bit 7 = XSC 0: активен
; bit 6 = XDCS 0: активен
; bit 5 = mode 0: режим SCI/SDI; 1: STREAM 32bit(левый канал + правый канал)
; bit 4-0 = Reserved
; Command/Status Register (read):
; bit 7 = BUSY 1: Занято, идет передача; 0: Свободно
; bit 6 = DREQ 1: Запрос новых данных; 0: Занято
; bit 5-0 = Reserved
ORG #8000
DI
; Отключение SYSTEM_AUDIO потока звука от AY, GS....
LD A,%11000000
OUT (#05),A
CALL WAIT
LD A,%01000000 ; SCI
OUT (#05),A
LD D,#02 ; Write
CALL VS_RW
LD D,#00 ; SCL_MODE
CALL VS_RW
LD D,#48 ; SM_LINE1 & SM_SDNEW & SM_RESET
CALL VS_RW
LD D,#04
CALL VS_RW
CALL WAIT
CALL WAIT
CALL WAIT
LD A,%11000000
OUT (#05),A
CALL WAIT
LD A,%00000000 ; SDI
OUT (#05),A
LD HL,#8100 ; Адрес MP3 файла "ROCKET"
LD BC,18252 ; Длина MP3 файла "ROCKET"
CALL VS_STREAM ; Проиграть
LD BC,2048
CLS LD D,0
CALL VS_RW
DEC BC
LD A,C
OR B
JR NZ,CLS
LD A,%11000000
OUT (#05),A
CALL WAIT
LD A,%00000000
OUT (#05),A
LD HL,TABLE
LD BC,44
CALL VS_STREAM
; Подключить SYSTEM_AUDIO поток для вывода звука от AY, GS...
LD A,%00100000 ; XCS=0 XDCS=0
OUT (#05),A
RET
VS_STREAM
LD D,(HL)
CALL VS_RW ; Передача в VS1053
INC HL
DEC BC
LD A,B
OR C
JR NZ,VS_STREAM
RET
VS_RW IN A,(#05)
OUT (#FE),A
RLCA
JR C,VS_RW
RLCA
JR NC,VS_RW
LD A,D
OUT (#04),A
VS_RW1 IN A,(#05)
OUT (#FE),A
RLCA
JR C,VS_RW1
RLCA
JR NC,VS_RW1
IN A,(#04)
RET
WAIT LD BC,0
LL0 DEC BC
LD A,C
OR B
JR NZ,LL0
RET
; Обычный заголовок PCM с безконечной длиной для SYSTEM_AUDIO
; См. мануал VS1053b стр.51 9.6 Feeding PCM data
TABLE DB #52,#49,#46,#46,#FF,#FF,#FF,#FF ; REFF....
DB #57,#41,#56,#45,#66,#6D,#74,#20 ; WAVEfmt
DB #10
DB #00,#00,#00,#01,#00,#02,#00
DB #80,#BB,#00,#00 ; 48kHz
DB #00,#EE,#02,#00
DB #04,#00
DB #10,#00
DB #64,#61,#74,#61 ; data
DB #FF,#FF,#FF,#FF
На чем реализован мр3 декодер?
А, там стоит VS1053, ок.
"Реализован на С, откомпилирован в VSIDE" - эээ прямо финнами или автором? ;)
Может кто уже MIDI проигрывал? На разъем Х5 выведены сигналы RX, TX для отладки по UART. Или использует чип как сопроцессор? Или разобрался как пропатчить (ссылка)?