Модульный Z80 компьютер RC2014
Moderator: Shaos
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
на дружественном ресурсе тоже обсуждают с фоточками:
https://zx-pk.ru/threads/26884-rc2014-%E2%80%94-modulnyj-bejsik-kompyuter-na-z80.html?highlight=rc2014
https://zx-pk.ru/threads/26884-rc2014-%E2%80%94-modulnyj-bejsik-kompyuter-na-z80.html?highlight=rc2014
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
ВВ55 инициировать надо программно, а тут вставил и погналrw6hrm wrote:ВВ55 был бы более уместен, в случае, если не считать машинку игрушкой. имхо.Digital I/O:
https://www.youtube.com/watch?v=yW4p9V4OBo0
Code: Select all
4 LET F=100
5 LET K=1
10 FOR A=0 TO 1000
20 OUT 0,K
21 IF INP(0)=0 THEN GOTO 25
22 LET F=INP(0)+1
25 LET K=K*2
26 IF K<256 THEN GOTO 28
27 LET K=1
28 FOR I=0 TO F
29 NEXT I
30 NEXT A
придётся делать звуковую карточку, играющую сэмплы из памяти
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
Может мне им сделать видеокарточку с SX-28 на базе этого, а то они там с розбери-паем мучаются
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16639
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Модульный Z80 компьютер RC2014
Чисто из интересу: если конструкция модульная, есть материнская плата и можно втыкатьShaos wrote:Этот вариант RC2014 по сути есть копия 32кб версии одноплатного компьютера Grant Searle:
http://searle.hostei.com/grant/z80/SimpleZ80_32K.html
дополнительные устройства, шины процессора пробуферированы?
P.S. И, кстати, вот здесь излагают про RC2014 — модульный бейсик-компьютер на Z80,
и ругают "видеокару" на "Малине.Pi" - "Raspberry здесь - больное место.
Это всё равно что поставлять в комплекте с конструктором ноутбук."
iLavr
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
Нет. От автора объяснение такое - используйте только 74HCT-серию в периферийных платах и будет вам щастье ибо она жрёт немного по входам и на выходах выдаёт "rail-to-rail" и поэтому мы де всё тычем напрямую в процых без буферизации...Lavr wrote:Чисто из интересу: если конструкция модульная, есть материнская плата и можно втыкатьShaos wrote:Этот вариант RC2014 по сути есть копия 32кб версии одноплатного компьютера Grant Searle:
http://searle.hostei.com/grant/z80/SimpleZ80_32K.html
дополнительные устройства, шины процессора пробуферированы?
Ну я свой линух PC использую как терминалLavr wrote:P.S. И, кстати, вот здесь излагают про RC2014 — модульный бейсик-компьютер на Z80,
и ругают "видеокару" на "Малине.Pi" - "Raspberry здесь - больное место.
Это всё равно что поставлять в комплекте с конструктором ноутбук."
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Модульный Z80 компьютер RC2014
У авторов RC2014 концепция "полный минимализм". На поиграться 1 час после работы самое то за 3руб. Буферизация займет большую часть платы. А все остальное типа используйте 74HCT - отмазка для назойливых юзеров в коментах.Shaos wrote:Нет. От автора объяснение такое - используйте только 74HCT-серию в периферийных платах и будет вам щастье ибо она жрёт немного по входам и на выходах выдаёт "rail-to-rail" и поэтому мы де всё тычем напрямую в процых без буферизации...
И действительно кому интересно проектировать схемы есть проект на шине ECB. Или даже S100 - для "прожженных" схемотехников.
Да и удовольствие это уже не дешевое схемы на рассыпухе делать. Сколько там эта малина стояла, сразу после выхода?
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
вот есть список задействованных портов:
https://feldtmann.ddns.net/rc2014/doc/i_o-ports.html
я вижу несколько дырок, которые я бы мог заюзать - например:
для сетевой карточки мне нужно будет 8 портов - сюда логичнее взять последнюю область
а для текстовой видеокарточки мне нужен будет только один порт, но легко декодируемый - взять из области #D8...#DB, скажем #DA?
с другой стороны если тормозить процессор вейтом, то чтение ненужно (или туда PS/2-клаву присобачить?)
при записи байта в регистр надо будет взвести триггер, выдающий IFLAG на схему и этот триггер будет сброшен, когда SX-28 выдаст OFLAG, по которому в свою очередь обнулится !WAIT - вобщем как-то так...
https://feldtmann.ddns.net/rc2014/doc/i_o-ports.html
я вижу несколько дырок, которые я бы мог заюзать - например:
Code: Select all
#D4...#D7 (110101xx)
#D8...#DB (110110xx)
#E8...#EF (11101xxx)
а для текстовой видеокарточки мне нужен будет только один порт, но легко декодируемый - взять из области #D8...#DB, скажем #DA?
Code: Select all
Port #DA
__
A7 --|& |
| o--
A6 --|__| | __
--|1 |
A5 -----------| |--
__ --|__| |
A4 --|& | | |
| o-- |
A3 --|__| |
|
A2 -------- |
__ | __ | __
A1 --|& | --|1 | --|1 |
| o-----| |-----| |--
M1 --|__| --|__| --|__| |
| | |
A0 -------- | |
| | __
/IORQ -------------- *--|1 |
| | |-- /DARD
/RD -------------------------|--|__|
| __
/WR -------------------------|--|1 |
| | |-- /DAWR
--|__|
при записи байта в регистр надо будет взвести триггер, выдающий IFLAG на схему и этот триггер будет сброшен, когда SX-28 выдаст OFLAG, по которому в свою очередь обнулится !WAIT - вобщем как-то так...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
И будет оно выглядеть вот такShaos wrote:Может мне им сделать видеокарточку с SX-28 на базе этого, а то они там с розбери-паем мучаются
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Модульный Z80 компьютер RC2014
Сдается без разницы что куда вешать. Народ развлекается по полной. Как пример. Почти ColecoVision один товарищ собрал на базе RC2014.Shaos wrote:вот есть список задействованных портов:
https://feldtmann.ddns.net/rc2014/doc/i_o-ports.html
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
Ну с другими платками пересекаться нежелательно иначе народ небудет использовать по причине несовместимостиAlekcandr wrote:Сдается без разницы что куда вешать. Народ развлекается по полной. Как пример. Почти ColecoVision один товарищ собрал на базе RC2014.Shaos wrote:вот есть список задействованных портов:
https://feldtmann.ddns.net/rc2014/doc/i_o-ports.html
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
Попробовал монитор:
в недотексте он будет выглядеть так:
Code: Select all
Small Computer Monitor by Stephen C Cousins (www.scc.me.uk)
Version 1.0.0 configuration R1 for Z80 based RC2014 systems
Monitor commands:
A [<address>] = Assemble | D [<address>] = Disassemble
M [<address>] = Memory display | E [<address>] = Edit memory
R [<name>] = Registers/edit | F [<name>] = Flags/edit
B [<address>] = Breakpoint | S [<address>] = Single step
I <port> = Input from port | O <port> <data> = Output to port
G [<address>] = Go to program
BAUD <device> <rate> | CONSOLE <device>
FILL <start> <end> <byte> | API <function> [<A>] [<DE>]
DEVICES, DIR, HELP, RESET
*d
121D: 30 10 0. JR NC,$10 (to $122F)
121F: 22 73 FE "s. LD ($FE73),HL
1222: 21 C0 FC !.. LD HL,$FCC0
1225: 11 03 00 ... LD DE,$0003
1228: 2B + DEC HL
1229: 72 r LD (HL),D
122A: 2B + DEC HL
122B: 73 s LD (HL),E
122C: 22 81 FE ".. LD ($FE81),HL
122F: C3 D2 0E ... JP $0ED2
1232: 3E 03 >. LD A,$03
1234: CD 23 02 .#. CALL $0223
1237: CD 20 04 . . CALL $0420
123A: 3E 26 >& LD A,$26
123C: CD 23 02 .#. CALL $0223
123F: CD 45 1B .E. CALL $1B45
1242: CD 4D 1B .M. CALL $1B4D
1245: C0 . RET NZ
1246: CD 16 1C ... CALL $1C16
1249: FE 03 .. CP $03
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Модульный Z80 компьютер RC2014
У меня тоже такой есть и даже с барсиком (z280)
Code: Select all
>go to address: 0x0000 press Return to execute command
Small Computer Monitor - RCZ280
*help
Small Computer Monitor by Stephen C Cousins (www.scc.me.uk)
Version 1.0.0 configuration Z1 for Bill Shen's Z280 based RCZ280 system
Monitor commands:
A [<address>] = Assemble | D [<address>] = Disassemble
M [<address>] = Memory display | E [<address>] = Edit memory
R [<name>] = Registers/edit | F [<name>] = Flags/edit
B [<address>] = Breakpoint | S [<address>] = Single step
I <port> = Input from port | O <port> <data> = Output to port
G [<address>] = Go to program
BAUD <device> <rate> | CONSOLE <device>
FILL <start> <end> <byte> | API <function> [<A>] [<DE>]
DEVICES, DIR, HELP, RESET
BASIC Grant Searle's adaptation of Microsoft BASIC
WBASIC Warm start BASIC (retains BASIC program)
CPM Load CP/M from Compact Flash (requires prepared CF card)
*
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
вообще если иметь свой отдельный порт, то придётся переделывать прошивки - все эти бейсики и мониторы, а я смотрю там достаточно простой интерфейс к этому чипу MC68B50 Asynchronous Communications Interface Adapter (ACIA) - порт контроля $80 и порт данных $81 - его можно относительно легко сымитировать (правда придётся ещё и контроллер PS/2-клавы на эту же плату за уши притягивать, чтобы полноценный терминал был)Shaos wrote:а для текстовой видеокарточки мне нужен будет только один порт, но легко декодируемый - взять из области #D8...#DB, скажем #DA?
...
с другой стороны если тормозить процессор вейтом, то чтение ненужно (или туда PS/2-клаву присобачить?)
при записи байта в регистр надо будет взвести триггер, выдающий IFLAG на схему и этот триггер будет сброшен, когда SX-28 выдаст OFLAG, по которому в свою очередь обнулится !WAIT - вобщем как-то так...
вот исходник интерфейса к ACIA из MS-бейсика от Grant Searle:
отсюда видятся только вот такие точки взаимодействия:
Code: Select all
RTS_HIGH .EQU 0D6H ; 11010110
RTS_LOW .EQU 096H ; 10010110
Interrupt:
...
IN A,($80)
AND $01 ; Check if interupt due to read buffer full
...
IN A,($81) ; Read data
...
LD A,RTS_HIGH
OUT ($80),A
RXA: ; loop if buffer is empty
...
LD A,RTS_LOW
OUT ($80),A
TXA: PUSH AF ; Store character
conout1: IN A,($80) ; Status byte
BIT 1,A ; Set Zero flag if still transmitting character
JR Z,conout1 ; Loop until flag signals ready
POP AF ; Retrieve character
OUT ($81),A ; Output the character
RET
INIT:
...
LD A,RTS_LOW
OUT ($80),A ; Initialise ACIA
IM 1
при записи проверяется бит готовности 1 в порту $80 (признак пустоты буфера передачи)
ну и при получении символа программа сигнализирует, что символ получен путём взведения бита 6 в порту $80
а порт $81 просто используется для чтения байта с ввода и для передачи байта на вывод
P.S. а вот со Small Computer Monitor несколько сложнее т.к. он проверяет наличие одного из устройств - ACIA или SIO/2 и вот что он делает для ACIA:
Code: Select all
; Control register values
k6850Reset: .EQU 0b00000011 ;Master reset
k6850Init: .EQU 0b00010110 ;No int, RTS low, 8+1, /64
; Status (control) register bit numbers
k6850RxRdy: .EQU 0 ;Receive data available bit number
k6850TxRdy: .EQU 1 ;Transmit data empty bit number
; Device detection, test 1
; This test just reads from the devices' status (control) register
; and looks for register bits in known states:
; /CTS input bit = low
; /DCD input bit = low
; WARNING
; Sometimes at power up the Tx data reg empty bit is zero, but
; recovers after device initialised. So test 1 excludes this bit.
k6850Mask1: .EQU 0b00001100 ;Mask for known bits in control reg
k6850Test1: .EQU 0b00000000 ;Test value following masking
; Device detection, test 2
; This test just reads from the devices' status (control) register
; and looks for register bits in known states:
; /CTS input bit = low
; /DCD input bit = low
; Transmit data register empty bit = high
k6850Mask2: .EQU 0b00001110 ;Mask for known bits in control reg
k6850Test2: .EQU 0b00000010 ;Test value following masking
; RC2014 serial 6850 initialise
; On entry: No parameters required
; On exit: Z flagged if device is found and initialised
; AF BC DE HL not specified
; IX IY I AF' BC' DE' HL' preserved
; If the device is found it is initialised
RC2014_SerialACIA1_Initialise:
; First look to see if the device is present
; Test 1, just read from chip, do not write anything
IN A,(kACIA1Cont) ;Read status (control) register
AND k6850Mask1 ;Mask for known bits in control reg
CP k6850Test1 ;and check for known values
RET NZ ;If not found return with NZ flag
; Attempt to initialise the chip
LD A,k6850Reset ;Master reset
OUT (kACIA1Cont),A ;Write to ACIA control register
LD A,k6850Init ;No int, RTS low, 8+1, /64
OUT (kACIA1Cont),A ;Write to ACIA control register
; Test 2, perform tests on chip following initialisation
IN A,(kACIA1Cont) ;Read status (control) register
AND k6850Mask2 ;Mask for known bits in control reg
CP k6850Test2 ;Test value following masking
; RET NZ ;Return not found NZ flagged
RET ;Return Z if found, NZ if not
и прерывания этот монитор не использует (No int, RTS low, 8+1, /64)
значит надо поддержать вариант работы и с прерываниями, и без...
P.P.S. Значит Бейсик ожидает контроллер ACIA по адресам $80,$81. Монитор SCM смотрит в 2 места - $80,$81 и $40,$41.
Поглядел ещё в исходники RomWBW - этот поддерживает только $A0,$A1 и $60,$61 (т.е. бит 5 ещё задействан - там 1 будет).
Хотя https://github.com/wwarthen/RomWBW/blob/master/Source/HBIOS/acia.asm
Судя по комментариям он всё также использует $80,$81 или $40,$41 ACIA, но чтобы их детектирование не путало другие устройства по тем же адресам, он торкает $60 и $A0 (т.к. в ACIA всё равно только старшие 2 бита адреса проверяются):
Code: Select all
; POSSIBLE BASE I/O ADDRESSES
; NOTE THAT THE ACIA ONLY QUALIFIES ADDRESS BITS 7 & 6, SO
; THE ACIA'S TWO PORTS APPEAR REPEATEDLY OVER AN ADDRESS RANGE
; OF $40 STARTING FROM THE REAL BASE PORT.
; WE TAKE ADVANTAGE OF THIS TO AVOID CONFLICTING WITH SIO
; AND COMPACT FLASH MODULES DURING DETECTION PROBES.
;
ACIAA_BASE .EQU $80 + $20 ; MODULE A
ACIAB_BASE .EQU $40 + $20 ; MODULE B
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
Существует аналогичная плата для RC2014 - VGA-выход и USB-клава на пропеллере "VGA Serial Terminal Kit for RC2014":
https://www.tindie.com/products/maccasoft/vga-serial-terminal-kit-for-rc2014/
Набор стоит $46.50 и работает совместно с платой последовательного интерфейса
В моём случае это будет NTSC/PAL+PS/2 Serial Terminal Kit for RC2014 который работает ВМЕСТО платы последовательного интерфейса и надо как-то уложиться хотя бы в $50...
https://www.tindie.com/products/maccasoft/vga-serial-terminal-kit-for-rc2014/
Набор стоит $46.50 и работает совместно с платой последовательного интерфейса
В моём случае это будет NTSC/PAL+PS/2 Serial Terminal Kit for RC2014 который работает ВМЕСТО платы последовательного интерфейса и надо как-то уложиться хотя бы в $50...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23717
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Модульный Z80 компьютер RC2014
Вот на скорую руку нарисовал в Eagle v5.12.0 шаблон для платок RC2014 более-менее похожий на рекомендации автора:
http://rc2014.co.uk/1377/module-template/
P.S. Перезалил 25 февраля 2019 года после устранения несовместимости с дефолтными правилами игла
http://rc2014.co.uk/1377/module-template/
P.S. Перезалил 25 февраля 2019 года после устранения несовместимости с дефолтными правилами игла
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net