Отговори на тема  [ 40 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
смартфон както си трябва :) 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: смартфон както си трябва :)
Добре де, подбери някой монохромен LED модул който да го докара същата визия, изтумбването лесно ще го докараме :)


Пон Май 11, 2020 8:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4577
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: смартфон както си трябва :)
ToHu написа:
Добре де, подбери някой монохромен LED модул който да го докара същата визия, изтумбването лесно ще го докараме :)


Е аз нали така го бях замислил (виж в един от по-предните постове по темата)... Ама с кинескоп си има друга тръпка. Сигурно са два различни проекта...

Абе да направя призив към местните баш-майстори по софтуер. Някой няма ли желание да удари едно рамо и да напише/портне едно правчово емулаторче в някой пик32 или арм? Заедно с тоя кинескоп... чуден правец 8-нещо-си може да стане :D

_________________
'просто' е технически синоним на 'красиво'


Пон Май 11, 2020 9:15 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Съб Фев 06, 2016 7:29 pm
Мнения: 167
Мнение Re: смартфон както си трябва :)
Н'бабане Гт'муан'га написа:
... да напише/портне едно правчово емулаторче в някой пик32 или арм?...

Има доста налични емулатори, но повечето се ограничават само до емулация на 6502.
Има и за цяла 82-ка де :) :
https://damian.pecke.tt/2015/04/06/turn ... le-ii.html
https://www.hackster.io/news/aiie-a-por ... 6e94d0c427
https://maxstrauch.github.io/projects/b ... index.html


Пон Май 11, 2020 11:14 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 03, 2005 10:31 am
Мнения: 746
Местоположение: Пловдив
Мнение Re: смартфон както си трябва :)
Н'бабане Гт'муан'га написа:
ToHu написа:
Добре де, подбери някой монохромен LED модул който да го докара същата визия, изтумбването лесно ще го докараме :)


Е аз нали така го бях замислил (виж в един от по-предните постове по темата)... Ама с кинескоп си има друга тръпка. Сигурно са два различни проекта...

Абе да направя призив към местните баш-майстори по софтуер. Някой няма ли желание да удари едно рамо и да напише/портне едно правчово емулаторче в някой пик32 или арм? Заедно с тоя кинескоп... чуден правец 8-нещо-си може да стане :D


FPGA не може ли ?

_________________
"I really do like SOLDERING as my programming language." Bob Pease


Пон Май 11, 2020 11:30 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: смартфон както си трябва :)
подкрепям идеята за FPGA, целият архаичен хардуер може да се натика в една евтина матрица включително управлението на кинескопа. Аз бях започнал един софт 8086 но тоя Z80 е къде къде по-елементарен. Дори може да подкараме оригиналният LDOS с танцуващият демон, ако го докараш на външен вид ще стане голям пранк.


Вто Май 12, 2020 12:41 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4577
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: смартфон както си трябва :)
Ами не знам... фпга-тата по принцип ме правят неспокоен. Парил съм се на няколко пъти с платки дето после нямам какво да им налея вътре. Аз вхдл не говоря. Опитвах на няколко пъти ама нещо не ми допадна...
Голям риск ще е от гледна точна на след-хардуерните етапи

_________________
'просто' е технически синоним на 'красиво'


Вто Май 12, 2020 12:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: смартфон както си трябва :)
Аз се позапалих по тоя проект, сега няма да ти крада идеята нито пък се бутам за джойнт венчър, така или иначе съм непостоянен и представлявам риск :-), по скоро ще създам един проект в open cores където да натикам един TRS-80 компютър в матрица, намерил съм схеми, не е нищо сложно. Но емулатор на PIC някак не го виждам, по скоро бих те посъветвал да ползваш разбъри или ардуино ако ще търкаляш емулатори.
Сега се сетих че имаше някакъв модул с матрица за повърхностен монтаж, показваше го тука, но дали ще може да го ползваш за софт-компютъра ще разбереш накрая като се компилира завършеният VHDL проект, тогава ще се знае какъв капацитет е необходим.


Вто Май 12, 2020 12:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4577
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: смартфон както си трябва :)
Bai Ui написа:
Аз се позапалих по тоя проект, сега няма да ти крада идеята нито пък се бутам за джойнт венчър, така или иначе съм непостоянен и представлявам риск :-), по скоро ще създам един проект в open cores където да натикам един TRS-80 компютър в матрица, намерил съм схеми, не е нищо сложно....


Давай го насам! TRS-80 е популярна платформа и ще стане добре.
Аз точно това имах предвид в предния пост. За мен е удоволствие да рутя платки; когато има процесорчета даже и софт им пиша понякога, ама с фпга задължително остава да разчитам да има нещо готово да се налее вътре, иначе платката остава паметник

_________________
'просто' е технически синоним на 'красиво'


Вто Май 12, 2020 12:55 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: смартфон както си трябва :)
Ами добре, захващам се с компонентите, ще прегледам и в open cores дали няма някой готов компонент да ми спести работа, няма да стане за ден-два, но ще стане добър проект, както спомена TRS-80 е популярна машина


Вто Май 12, 2020 1:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: смартфон както си трябва :)
Има в open cores един Z80 проект но не ми хареса как е организиран, освен това е писан на Verilog а мен ме няма много там затова реших да създам мой на VHDL, вчера го регистрирах, ще бъде на отделен проект, после ще го включа като компонент в TRS-80, Почнах кода вчера, тоя процесор ще излезе по-сложен отколкото мислех, има недокументирани инструкции които трябва да включа за да няма чуденки после, общият брой на опкодовете е над 1300, така по груба преценка може да ми отнеме около 100 часа работата по тоя процесор. Иначе за TRS-80 си има всичко, сектата е огромна, пази се абсолютно всичко - операционни системи, бейсик интерпретатори, софтуер на касетки - във wav формат, ще го мислим после как ще го зареждаме. Ето го началото на кода, най-отгоре е списък с опкодовете, както споменах са над 1300, до тук съм декларирал около 40 :-)

Код:
-- Z80 soft core microprocessor
-- ver: 1.0 (initial)
-- Autor:
-- Started: 12/05/2020
-- Last modified: 12/05/2020
--
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;

entity Z80 is

Port ( CLK :      IN    STD_LOGIC;   
     RESET:       IN    STD_LOGIC
    ADDRESS_BUS: INOUT STD_LOGIC_VECTOR (15 downto 0);
    DATA_BUS:    INOUT STD_LOGIC_VECTOR (7 downto 0);
     BUSACK:      OUT   STD_LOGIC;
     MREQ:        INOUT STD_LOGIC;
     IORQ:        INOUT STD_LOGIC;
     RD:          INOUT STD_LOGIC;
     WR:          INOUT STD_LOGIC;
     HALT:        OUT   STD_LOGIC;
     M1:          OUT   STD_LOGIC;
     RFSH:        OUT   STD_LOGIC;
     BUSRQ:       OUT   STD_LOGIC;
     WAITT:       IN    STD_LOGIC;
     INT:         IN    STD_LOGIC;
     NMI:         IN    STD_LOGIC );
   
end Z80;

architecture Behavioral of Z80 is
-- biggest instruction - 4 bytes
-- longest instruction - 23 clock cycles
--------------- MAIN Instruction set opcodes
constant nop:           STD_LOGIC_VECTOR(7 downto 0):="00000000"; --0 bytes_1 clk_4
constant ld_bc:         STD_LOGIC_VECTOR(7 downto 0):="00000001"; --1 bytes_3 clk_10
constant ld_bc_a:       STD_LOGIC_VECTOR(7 downto 0):="00000010"; --2 bytes_1 clk_7
constant inc_bc:        STD_LOGIC_VECTOR(7 downto 0):="00000011"; --3 bytes_1 clk_6
constant inc_b:         STD_LOGIC_VECTOR(7 downto 0):="00000100"; --4 bytes_1 clk_4
constant dec_b:         STD_LOGIC_VECTOR(7 downto 0):="00000101"; --5 bytes_1 clk_4
constant ld_b:          STD_LOGIC_VECTOR(7 downto 0):="00000110"; --6 bytes_2 clk_7
constant rlca:          STD_LOGIC_VECTOR(7 downto 0):="00000111"; --7 bytes_1 clk_4
constant ex_af_af:      STD_LOGIC_VECTOR(7 downto 0):="00001000"; --8 bytes_1 clk_4
constant add_hl_bc:     STD_LOGIC_VECTOR(7 downto 0):="00001001"; --9 bytes_1 clk_11
constant ld_a_bc:       STD_LOGIC_VECTOR(7 downto 0):="00001010"; --10 bytes_1 clk_7
constant dec_bc:        STD_LOGIC_VECTOR(7 downto 0):="00001011"; --11 bytes_1 clk_6
constant inc_c:         STD_LOGIC_VECTOR(7 downto 0):="00001100"; --12 bytes_1 clk_4
constant dec_c:         STD_LOGIC_VECTOR(7 downto 0):="00001101"; --13 bytes_1 clk_4
constant ld_c:          STD_LOGIC_VECTOR(7 downto 0):="00001110"; --14 bytes_2 clk_7
constant rcca:          STD_LOGIC_VECTOR(7 downto 0):="00001111"; --15 bytes_1 clk_4
constant djnz:          STD_LOGIC_VECTOR(7 downto 0):="00010000"; --16 bytes_2 clk_13/8
constant ld_de:         STD_LOGIC_VECTOR(7 downto 0):="00010001"; --17 bytes_3 clk_10
constant ld_de_a:       STD_LOGIC_VECTOR(7 downto 0):="00010010"; --18 bytes_1 clk_7
constant inc_de:        STD_LOGIC_VECTOR(7 downto 0):="00010011"; --19 bytes_1 clk_6
constant inc_d:         STD_LOGIC_VECTOR(7 downto 0):="00010100"; --20 bytes_1 clk_4
constant dec_d:         STD_LOGIC_VECTOR(7 downto 0):="00010101"; --21 bytes_1 clk_4
constant ld_d:          STD_LOGIC_VECTOR(7 downto 0):="00010110"; --22 bytes_2 clk_7
constant rla:           STD_LOGIC_VECTOR(7 downto 0):="00010111"; --23 bytes_1 clk_4
constant jr:            STD_LOGIC_VECTOR(7 downto 0):="00011000"; --24 bytes_2 clk_12
constant add_h1_de:     STD_LOGIC_VECTOR(7 downto 0):="00011001"; --25 bytes_1 clk_11
constant ld_a_de:       STD_LOGIC_VECTOR(7 downto 0):="00011010"; --26 bytes_1 clk_7
constant dec_de:        STD_LOGIC_VECTOR(7 downto 0):="00011011"; --27 bytes_1 clk_6
constant inc_e:         STD_LOGIC_VECTOR(7 downto 0):="00011100"; --28 bytes_1 clk_4
constant dec_e:         STD_LOGIC_VECTOR(7 downto 0):="00011101"; --29 bytes_1 clk_4
constant ld_e:          STD_LOGIC_VECTOR(7 downto 0):="00011110"; --30 bytes_2 clk_7
constant rra:           STD_LOGIC_VECTOR(7 downto 0):="00011111"; --31 bytes_1 clk_4

constant jr_nz:         STD_LOGIC_VECTOR(7 downto 0):="00100000"; --32 bytes_2 clk_13/8
constant ld_h1:         STD_LOGIC_VECTOR(7 downto 0):="00100001"; --33 bytes_3 clk_10
constant ld_h1_1:       STD_LOGIC_VECTOR(7 downto 0):="00100010"; --34 bytes_1 clk_7
constant inc_h1:        STD_LOGIC_VECTOR(7 downto 0):="00100011"; --35 bytes_1 clk_6
constant inc_h:         STD_LOGIC_VECTOR(7 downto 0):="00100100"; --36 bytes_1 clk_4
constant dec_h:         STD_LOGIC_VECTOR(7 downto 0):="00100101"; --37 bytes_1 clk_4
constant ld_h:          STD_LOGIC_VECTOR(7 downto 0):="00100110"; --38 bytes_2 clk_7
constant daa:           STD_LOGIC_VECTOR(7 downto 0):="00100111"; --39 bytes_1 clk_4
constant jr_z:          STD_LOGIC_VECTOR(7 downto 0):="00101000"; --40 bytes_2 clk_12
constant add_h1_h1:     STD_LOGIC_VECTOR(7 downto 0):="00101001"; --41 bytes_1 clk_11
constant ld_h1_2:       STD_LOGIC_VECTOR(7 downto 0):="00101010"; --42 bytes_1 clk_7
constant dec_h1:        STD_LOGIC_VECTOR(7 downto 0):="00101011"; --43 bytes_1 clk_6
constant inc_l:         STD_LOGIC_VECTOR(7 downto 0):="00101100"; --44 bytes_1 clk_4
constant dec_l:         STD_LOGIC_VECTOR(7 downto 0):="00101101"; --45 bytes_1 clk_4
constant ld_l:          STD_LOGIC_VECTOR(7 downto 0):="00101110"; --46 bytes_2 clk_7
constant cpl:           STD_LOGIC_VECTOR(7 downto 0):="00101111"; --47 bytes_1 clk_4

signal ADDRESS:         STD_LOGIC_VECTOR(15 downto 0);
signal DATA_OUT:        STD_LOGIC_VECTOR(7 downto 0);
signal DATA_IN:         STD_LOGIC_VECTOR(7 downto 0);
signal REG_A:           STD_LOGIC_VECTOR(7 downto 0);
signal REG_B:           STD_LOGIC_VECTOR(7 downto 0);
signal REG_C:           STD_LOGIC_VECTOR(7 downto 0);
signal REG_D:           STD_LOGIC_VECTOR(7 downto 0);
signal REG_E:           STD_LOGIC_VECTOR(7 downto 0);
signal REG_H:           STD_LOGIC_VECTOR(7 downto 0);
signal REG_L:           STD_LOGIC_VECTOR(7 downto 0);
signal BYTE:            STD_LOGIC_VECTOR(2 downto 0):="000";
signal OPCODE:          STD_LOGIC_VECTOR(7 downto 0);
signal CLK_COUNTER:     STD_LOGIC_VECTOR(7 downto 0);

--================================================================

begin

----------- DATA BUS 3-state driver
DATA_BUS <= DATA_OUT when (WR='1') ELSE "ZZZZZZZZ";
DATA_IN <= DATA_BUS;

----------- ADDRESS driver
ADDRESS_BUS <= ADDRESS;

-----------

----------- Opcodes Processing
Encoding: process (CLK) begin
if (CLK'event and CLK='1') then
case BYTE is
  when "000" =>
   OPCODE <= DATA_IN;
   case DATA_IN is
    when nop => NULL;
    when others => BYTE <= (others => '0');
   end case; --DATA_IN
  when "001" =>
  when "010" =>
  when "011" =>
  when "100" =>
   if (CLK_COUNTER=0) THEN BYTE <= (others => '0'); OPCODE <= (others => '0');
   else CLK_COUNTER <= CLK_COUNTER - 1;
   end if;
  when others => BYTE <= (others => '0');
end case; --BYTE
end if;
end process Encoding;

end Behavioral;


Сря Май 13, 2020 7:08 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4577
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: смартфон както си трябва :)
Че никой друг досега ли не е правил Z80 ?? В opencores например?

_________________
'просто' е технически синоним на 'красиво'


Сря Май 13, 2020 10:48 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: смартфон както си трябва :)
да е правил какво ? Имахме един продукт преди 100 години с Z80, не съм го разработвал аз но съм го дописвал, но тогава всичко беше чист ASM без файлови системи и подобни.


Сря Май 13, 2020 10:51 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4577
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: смартфон както си трябва :)
ToHu написа:
да е правил какво ? Имахме един продукт преди 100 години с Z80, не съм го разработвал аз но съм го дописвал, но тогава всичко беше чист ASM без файлови системи и подобни.


Бе за чип ясно :D Нали за фпга ставаше въпрос последно...

_________________
'просто' е технически синоним на 'красиво'


Сря Май 13, 2020 11:37 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: смартфон както си трябва :)
Aaaaaa хмм май имаше, чакай сега да не се бъркам, ама на времето си играех с един кит и съм почти сигурен че имаше и z80, 8051 имаше със сигурност защото го пробваха, и powerPC имаше някакво ядро ако не ме лъже паметта, може да се погледне по IP на ксайлинкс, не знам обаче какви са политиките за използване за 8 битовите/


Сря Май 13, 2020 12:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1188
Мнение Re: смартфон както си трябва :)
Н'бабане Гт'муан'га написа:
Че никой друг досега ли не е правил Z80 ?? В opencores например?


Bai Ui написа:
Има в open cores един Z80 проект но не ми хареса как е организиран, освен това е писан на Verilog а мен ме няма много там


ToHu написа:
Aaaaaa хмм май имаше, чакай сега да не се бъркам, ама на времето си играех с един кит и съм почти сигурен че имаше и z80, 8051 имаше със сигурност защото го пробваха, и powerPC имаше някакво ядро ако не ме лъже паметта, може да се погледне по IP на ксайлинкс, не знам обаче какви са политиките за използване за 8 битовите/


Някои ИП-та са затворени (проприетари), не може да им видиш или пипнеш кода и ако не работи добре или не може да го интегрираш както искаш тогава целият проект отива на кино. Търсил съм, надявах се да има нещо, което даже да използвам като темплейт за моят проект но няма. Което пък ще направи моят процесор популярен :-).


Сря Май 13, 2020 1:51 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 40 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни