Важная информация

User Tag List

Страница 65 из 73 ПерваяПервая ... 616263646566676869 ... ПоследняяПоследняя
Показано с 641 по 650 из 727

Тема: Аюша-Z80 - СР/М-совместимый компьютер

  1. #641

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    Не буду спрашивать зачем, ибо делать третью версию оси смысла нет из-за пары дополнительных программ. Уже сейчас ставьте чип 128К на готовое место, отсоединяйте одну ножку и получайте 128К. Разве что на пустышке управление банками сделать. И кстате, если об этом пошёл разговор - какой объём банков нужен? Ну, к примеру, какой в Роботроне сделан? заложу перемычки, чтобы удобнее было модифицировать.
    Если расчитывать на 128к, то возможно да - CPM3 и страницы по 16к.
    Но лично мне CP/M 3 не интересен. Чуть более интересен был бы MP/M (тоже страницы 16к), но ему 128к мало.
    Я бы делал страницы по 64к, общий объем ОЗУ 512К одним чипом (8 страниц) и пилил бы туда UZIX.

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    А вот об этом подробнее плз. Правда я не думаю, что он будет быстрее (в оригинале DtZ использовались ТМ2 в качестве регистров и скорость выше не была), но мож чего и не знаю...
    Тема с SDOS от PVV (в исходниках можно посмотреть низовые подпрограммы):
    https://zx-pk.ru/threads/29892-sd-ka...itnykh-pk.html
    и собственно схема:
    https://zx-pk.ru/threads/29892-sd-ka...=1#post1020948

    Это максимально возможный по скорости вариант без DMA, и всего на 5 корпусах рассыпухи 1533. Запись/чтение целого байта в/из порт SPI делается единственным OUT/IN процессора (ИР24 имеет параллельную загрузку и сама сдвигает 8 битов в SD-карту).
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #642

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не будем забывать про MP/M II, которой 48К хватает, и она может работать хостом. Определяющим только является наличие прерываний по таймеру. Ну и сом-портов напихать, если хост.
    Касательно схемы PVV, я про неё слегка подзабыл, но определяющим было использование уже готового схемного решения, чтоб не добавлять ничего нового. Убрать - это запросто. Поэтому и сделано в лоб, по простому и задёшево. А скорость работы - это не главное, она вполне удобоварима.

  3. #643

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,480
    Спасибо Благодарностей отдано 
    310
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    217 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    Выставляйте на продажу, сделаем двухдисковый биос
    Давно уже выставлены.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  4. #644

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Замерил у себя тактовую клока: при 5 МГц процессора такт на карту 40 кГц. При 2,5 МГц - 20 кГц соответственно, т.е. примерно 5/2.5 кБайт/сек. Цена дешевизны, чоуш... Но без лишних чипов и работает

    Если кто-то прицепит схему PVV с переделкой ПЗУ и биоса - всегда поддержу. Но сам делать не буду уже.., разве что как переходник вместо CF-карты...
    Последний раз редактировалось rw6hrm; 17.04.2021 в 15:34.

  5. #645

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    Цена дешевизны
    А также неоптимального программирования. Сейчас п/п чтения байта выполняется 1025 тактов, после первой же попытки ускорить 747 тактов (почти на 30% быстрее):
    Код:
    ;********************************************* READING BYTE *****************************************
    sd_read_byte:
    	push	bc
    	ld	b,8	; will read 8 bits
    
    sd_read_byte_read_bit:
    	ld	a,3	; CS= 0, data=1, clock=1
    	out 	(SD_PORT),a ;Should be read at Falling edge, but this is a rising one?
    
    	in	a,(SD_PORT)
    	and   $10
    	sub   b             ; If a=0 set cy=1, inverted input (b is always >0)
    	rl    c             ; shift cy in register c
    
    	ld	a,2	; CS=0, data=1,clock=0
    	out     (SD_PORT),a
    	djnz	sd_read_byte_read_bit
    
    	ld	a,c	; helding result in a
    
    	ifdef	DTZDEBUGREADTOO
    
    	push	af
    	call	outstringinline
    	db	"RB: ",0
    	pop	af
    	push	af
    	call	outbytehex
    
    	pop	af
    	endif	; DTZDEBUGREADTOO
    	
    	pop	bc
    	ret
    Что можно ещё сделать:
    - развернуть цикл (выигрыш незначительный)
    - воспользоваться командой out (c),d (потребуются регистры d,e для чисел 2,3, лишние push/pop/ld de, но в целом я думаю выигрыш будет)

    Этот пользователь поблагодарил b2m за это полезное сообщение:

    rw6hrm(18.04.2021)

  6. #646

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если завести DATA_OUT на BC6 вместо BC4, то можно заменить and $10\ sub b на rla\ rla (или rlca или add a,a или adc a,a), минус 3 такта/бит. Если не задействовать d и e (хотя лучше задействовать, будет быстрее), то можно добавить ld a,2 перед sd_read_byte_read_bit: и заменить ld a,3 на inc a (выигрыш +7-8*3=17 тактов/байт).

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если завести DATA_OUT на BC6 вместо BC4, то можно заменить and $10\ sub b на rla\ rla (или rlca или add a,a или adc a,a), минус 3 такта/бит.
    Хотя можно оставить BC4 и еще чуть ускорить и сократить. Если при работе с sd не трогать вход аудио и там будет всегда 0 (или всегда 1, это надо уточнить), то вместо and $10\ sub b можно сделать add a,$F0 (если на входе аудио 0) или add a,$70 (если на входе аудио 1).

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    rw6hrm(18.04.2021)

  7. #646
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #647

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    вход аудио и там будет всегда 0 (или всегда 1, это надо уточнить)
    Там всегда 1, если не используется.
    Как раз доадаптирую ченджер (СН.СОМ) из комплекта ЮТ-88 для пользования в качестве внешнего архиватора через недельку...

  9. #648

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    воспользоваться командой out (c),d
    Вот результат (685 тактов, если развернуть цикл, то ещё -91 такт)
    Код:
    ;********************************************* READING BYTE *****************************************
    sd_read_byte:
    	push	bc
    	push	de
    	ld	bс, $100+SD_PORT	; b=1 c=SD_PORT
    	ld	de, $203 ; d=2 e=3
    
    sd_read_byte_read_bit:
    	out 	(c), e    ; CS= 0, data=1, clock=1
    	in	a,(c)
    	and   $10
    	out 	(c), d    ; CS= 0, data=1, clock=0
    	sub   d             ; If a=0 set cy=1, inverted input (d=2)
    	rl    b             ; shift cy in register b
    
    	jr	nc, sd_read_byte_read_bit
    
    	ld	a,b	; helding result in a
    
    	ifdef	DTZDEBUGREADTOO
    	push	af
    	call	outstringinline
    	db	"RB: ",0
    	pop	af
    	push	af
    	call	outbytehex
    	pop	af
    	endif	; DTZDEBUGREADTOO
    	
    	pop	de
    	pop	bc
    	ret

  10. #649

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не нужно ли перед

    ld a,b ; helding result in a

    поставить ещё что-то вроде

    ld a,6
    out (SD_PORT),a

    Чтобы после отработки подпрограммы CS стал единицей, чтобы по-канону?

    Немного напомню, что мы сейчас обсуждаем процедуру чтения, находящейся в ПЗУ. В аналогичной процедуре, расположенной в биосе, указанные мною пару строчек всё же пришлось поставить.

  11. #650

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я думаю, лучше это сделать не в этой процедуре, а в конце подпрограммы загрузки сектора.

    - - - Добавлено - - -

    А разве после CS=1 не нужно снова активировать карту 80 клоками? По-канону.

Страница 65 из 73 ПерваяПервая ... 616263646566676869 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Самодельный компьютер на Z80 и не только
    от KeKc в разделе Разработка электроники
    Ответов: 1332
    Последнее: 19.01.2025, 20:45
  2. М.Бун "Spectrum" совместимый компьютер. Архив из журналов "Радио".
    от PATHNK в разделе Несортированное железо
    Ответов: 1
    Последнее: 18.08.2016, 04:00
  3. Аюша-80 - компьютер на процессоре 580ВМ80
    от rw6hrm в разделе Разработка электроники
    Ответов: 0
    Последнее: 29.04.2016, 16:15
  4. Куплю ZX совместимый компьютер.
    от billgilbert81 в разделе Барахолка (архив)
    Ответов: 19
    Последнее: 05.12.2008, 20:33
  5. Ответов: 17
    Последнее: 05.11.2008, 05:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •