Венец творенья
Moderator: Shaos
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Doomed
- Posts: 408
- Joined: 18 Feb 2007 11:40
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Fanat
- Posts: 63
- Joined: 24 Sep 2007 12:15
- Location: Украина
Собрал ту часть моей видеокарты, которая отвечает за синхронизацию. Но чтобы ее проверить нужно инициализировать данные в двух ОЗУ-ПЛМах. Там 800 и 525 ячеек, вручную -- никак. Так что повторил свой опыт и собрал на более качественном уровне сие устройство (процессор-память-порт_вывода), чтобы оно выполнило за меня эту работу.
Не удержался и написал программу мигания диодами поочереди))
Собственно это первый опыт програмирования Z80.
Перевел в машинный код на листике, ввел "тумблерным" программатором в ОЗУ, вставил проц, включил питание, радости моей нет предела!
Пишу эти строки, а справа все еще мигают диоды на плате...
Можно было использовать относительные переходы, но я боялся просчитаться, а хотелось чтоб работало наверняка.
Не удержался и написал программу мигания диодами поочереди))
Собственно это первый опыт програмирования Z80.
Code: Select all
00 00111110; LD A, 1
01 00000001
02 11010011; START: OUT (0), A
03 00000000
04 00000110; LD B, 255
05 11111111
06 00001101; LOOP2: LD C, 255
07 11111111
08 00001101; LOOP1: DEC C
09 11000010; JP NZ, LOOP1
0A 00001001; LOOP1 = 9
0B 00000000
0C 00000101; DEC B
0D 11000010; JP NZ, LOOP2
0E 00000110; LOOP2 = 6
0F 00000000
10 00000111; RLCA
11 11000011; JP START
12 00000010
13 00000000
Пишу эти строки, а справа все еще мигают диоды на плате...
Можно было использовать относительные переходы, но я боялся просчитаться, а хотелось чтоб работало наверняка.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Senior
- Posts: 124
- Joined: 09 Jan 2009 20:30
- Location: Мурманск
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Присоединяюсь к поздравлениям!
Однако, поставь уже NOR флешку в качестве ПЗУ (возьми со старой мамы, например, в DIP32, пусть ты ее не будешь все 128Кб-512Кб использовать и закоротишь все старшие адреса, но все же будет удобнее запускать и отлаживать программки). Просто, инициализатор твоего видеоконтроллера будет намного сложнее и набирать его тумблерами... Жуть.
Однако, поставь уже NOR флешку в качестве ПЗУ (возьми со старой мамы, например, в DIP32, пусть ты ее не будешь все 128Кб-512Кб использовать и закоротишь все старшие адреса, но все же будет удобнее запускать и отлаживать программки). Просто, инициализатор твоего видеоконтроллера будет намного сложнее и набирать его тумблерами... Жуть.
-
- Fanat
- Posts: 63
- Joined: 24 Sep 2007 12:15
- Location: Украина
Спасибо!
Отвечаю в 3 раз, каким-то образом 2 раза закрыл страницу ничего не отправив.
Проблема в том что мне негде покупать память. Разве только на радиорынке скупать хлам и ковыряться в нем. Есть магазин торгующий логикой и средствами для разработки железа, но у них нет микропроцессоров/контроллеров или памяти.
Но видеоплату я добью! Уезжаю на 7 дней, как приеду буду ее прграммировать и тестить. Надеюсь получить устойчивое синее, красное и зеленое изображения.
Что потом -- пока не решил. Загорелся этим проектом http://www.mycpu.eu сам сижу на листике проектирую процессор
АЛУ большое получается (( В MyCPU 3 Мб. У меня -- 1, но это с большими изврашениями с флагами.
Только философский вопрос: "Нужно ли это делать...". Я студент-программист, перешел на 3 курс и думаю, не стоит ли мне сначала освоить прогрессивные технологии, т.к. может в жизни пригодиться в ближайшее время, а затем, как-то устоявшись, возврашаться к "истокам", собирая проц на рассыпухе, что мне тоже очень интересно...
Отвечаю в 3 раз, каким-то образом 2 раза закрыл страницу ничего не отправив.

Проблема в том что мне негде покупать память. Разве только на радиорынке скупать хлам и ковыряться в нем. Есть магазин торгующий логикой и средствами для разработки железа, но у них нет микропроцессоров/контроллеров или памяти.
Но видеоплату я добью! Уезжаю на 7 дней, как приеду буду ее прграммировать и тестить. Надеюсь получить устойчивое синее, красное и зеленое изображения.
Что потом -- пока не решил. Загорелся этим проектом http://www.mycpu.eu сам сижу на листике проектирую процессор

АЛУ большое получается (( В MyCPU 3 Мб. У меня -- 1, но это с большими изврашениями с флагами.
Только философский вопрос: "Нужно ли это делать...". Я студент-программист, перешел на 3 курс и думаю, не стоит ли мне сначала освоить прогрессивные технологии, т.к. может в жизни пригодиться в ближайшее время, а затем, как-то устоявшись, возврашаться к "истокам", собирая проц на рассыпухе, что мне тоже очень интересно...

-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
За оставшиеся годы обучения в ВУЗе текущие прогрессивные технологии дико устареют. Не трать сейчас на это время. Лучше все-таки освоить основы электронно-вычислительных машин, тем более сейчас, я так понимаю, и времени свободного вполне достаточно, а самое главное - есть интерес.danchandoo wrote: Только философский вопрос: "Нужно ли это делать...". Я студент-программист, перешел на 3 курс и думаю, не стоит ли мне сначала освоить прогрессивные технологии, т.к. может в жизни пригодиться в ближайшее время, а затем, как-то устоявшись, возврашаться к "истокам", собирая проц на рассыпухе, что мне тоже очень интересно...
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Выпускники вузов, освоившие "прогрессивные технологии" (то есть рассуждающие о ООП, Визуал, Символических Вычислениях и Отложенных Вычислениях), но не понимающие как работает процессор и не понимающие что такое ассемблер - смотрятся смешно и, главное, часто попадают в просак на элементарных вещах.danchandoo wrote: Только философский вопрос: "Нужно ли это делать...". Я студент-программист, перешел на 3 курс и думаю, не стоит ли мне сначала освоить прогрессивные технологии, т.к. может в жизни пригодиться в ближайшее время, а затем, как-то устоявшись, возврашаться к "истокам", собирая проц на рассыпухе, что мне тоже очень интересно...
Буквально вчера один такой целый день пытался считать из памяти 32битное целое и не мог. А когда ему объяснили, что есть такое понятие, как "выравнивание" - так удивился.
Это к тому, что основы вычислительной техники практически не меняются уже годов с 70х... Освоишь их - остальное как по маслу пойдёт.
Высосанные из пальца свистоперделки, типа c#, NET и прочие - это уже вторично. Они каждые пару лет меняются, оставаясь неизменными по сути.
------------------------------------------------
Хотя, судя по этой теме - ТЫ КРУТ !

------------------------------------------------
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Угу, полностью согласен. Новоиспеченные программеры все более и более абстрагируются от железа, считая что они должны заниматься конкретно задачей а не изучать архитектуры и все такое. Соответственно, они полагаются на компилятор, который писали такие же балбесы, но которые чуть-чуть подтянули знания о железе, ибо без этого никак не написать компилятор. А потом, уже написанный компилятор используется для написания новой версии компилятора. В итоге: некоторые ошибки и глюки тянутся с первых версий, пока на них не наткнется кто-нибудь.SfS wrote:Буквально вчера один такой целый день пытался считать из памяти 32битное целое и не мог. А когда ему объяснили, что есть такое понятие, как "выравнивание" - так удивился.
PS Я не говорю, что ЯВУ плохо. Просто нужно уметь различать ситуации, где ЯВУ полезен, а где вреден. И порой, ассемблерный код на 10000 строк будет уместнее, чем 2 страницы кода на ЯВУ.
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Не согласен. Балбесу компилятор не написать...HardWareMan wrote:Соответственно, они полагаются на компилятор, который писали такие же балбесы, но которые чуть-чуть подтянули знания о железе, ибо без этого никак не написать компилятор.
Взять тот же GCC, которым я пользуюсь - сотни поддержанных архитектур, постоянное развитие. Да и сама структура - оптимизация на абстрактном уровне + кодогенератор.. Это не по зубам "балбесу".
А вот то, что "балбесы" полагаются на компилятор, не зная особенностей архитектуры - это да.
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Есть исключения из правил, да. И они только подтверждают правила.SfS wrote:Не согласен. Балбесу компилятор не написать...HardWareMan wrote:Соответственно, они полагаются на компилятор, который писали такие же балбесы, но которые чуть-чуть подтянули знания о железе, ибо без этого никак не написать компилятор.
Взять тот же GCC, которым я пользуюсь - сотни поддержанных архитектур, постоянное развитие. Да и сама структура - оптимизация на абстрактном уровне + кодогенератор.. Это не по зубам "балбесу".
А вот то, что "балбесы" полагаются на компилятор, не зная особенностей архитектуры - это да.