| Начален сайт Сандъците  | "Библиотека Сандъците" | МОЖЕ ДА ПОДКРЕПИТЕ ФОРУМА С ДАРЕНИЕ >ТУК<

Автор Тема: Помощ при подкарване на Правец 8М и 82  (Прочетена 5713 пъти)

0 Потреб. и 1 Гост преглежда(т) тази тема.

Неактивен dartdart26

  • Блуждаещ електрон
  • *
  • Публикации: 6
  • Населено място: София
Помощ при подкарване на Правец 8М и 82
« -: 14 Ноември, 2016, 23:16:11 »
Здравейте,

След доста години (над 15) си взех личния Правец 82 (беше при роднини за детето им) и се сдобих с още един Правец 8М . И двата не работят и физически нямат големи повреди.

Правец 82:
 - счупени крачета (по едно) на 2 от ROM-те
 - счупено краче на поне един РАМ чип

В момента нямам възможност за снимки на Правец 82, ще ги добавя. Изходът на екрана представлява 4 или 5 вертиканли линии.

Относно Правец 8М:
 - не мога да видя физически проблеми по дъното:
61596-0
 - има само един ROM чип, имаше тема по форума за да разбера дали трябва да е с един само или повече
 
При пускането му се вижда следната картина:
61594-1

Целта ми е да ползвам C/C++ компилатор за писане на софтуер, както прави този пич:
/>
Много съм се вманиачил в идеята за x86-to-6502 компилатора му и искам да го изпробвам на Правец. Мога да го правя с емулатор, но не е същото...
В тази връзка ми се иска да подкарам 6502 частта на 8M.

Програмист съм, но нямам познания в електрическата част. Бихте ли ми помогнали с насоки - как да се опитам да ги подкарам, има ли някой човек, който би ги погледнал?

Благодаря!

Неактивен FAMICOM_87

  • Квантов генератор
  • ****
  • Публикации: 964
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #1 -: 15 Ноември, 2016, 15:10:05 »
звучи яко това дето искаш да го правиш :)
от х86 към 6502. А обратното сигурно е пак толкова сложно а? :)
Винаги съм се дивик какви красиви игри имат 8 битовите конзоли и колко зле са портнати на първите IBM х86 платформи  :blum1:

Неактивен Gabo

  • Злодей
  • Администратор
  • Квантов генератор
  • *****
  • Публикации: 635
  • Населено място: Пазарджик
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #2 -: 15 Ноември, 2016, 17:38:30 »
както винаги,  ще започна с отговора на другите като теб:
1. Използвай търсачката!!!
примерни теми в нашият форум:
Паралелно възстановяване на Правец 16 и Правец 8М
Въпроси относно съживяване на Правец 8М
и т.н.т.
и ако пак нищо не стане, пиши.

Неактивен judje79

  • Блуждаещ електрон
  • *
  • Публикации: 14
  • Населено място: Варна
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #3 -: 15 Ноември, 2016, 19:11:13 »
Добър вечер,

За 8М сега погледнах, ако всичко е както ти е снимката липсват ти два ЕПрома на тях пише : F0 D8
тип m2764A на самото дъно има номерация  DF1 и DF3

Лека вечер

Неактивен nova600

  • Насочен електрон
  • **
  • Публикации: 40
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #4 -: 15 Ноември, 2016, 20:32:05 »
Както е написал колегата в горния ппост, чиповете може да са два - 2764, но може да е един - 27128. Над DF1 има джъмпер EJ с две позиции - мост между 1-2 и мост между 2-3 погледнато от ляво на дясно. При мост между 1-2 се ползват два чипа 2764, при мост между 2-3 се ползва един чип 27128, който се монтира на цокъл DF1. На мойта платка няма монтиран джъмпер физически, проосто е направен мост с проводник.

Неактивен nova600

  • Насочен електрон
  • **
  • Публикации: 40
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #5 -: 18 Ноември, 2016, 08:20:03 »
Какво направи с компютрите? Не писа нищо повече. Ако идеята е още жива мога да погледна платките. Ще ми трябват само дъната без захранване, клавиатура и т.н. Ако решиш пиши тук.

Неактивен dartdart26

  • Блуждаещ електрон
  • *
  • Публикации: 6
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #6 -: 18 Ноември, 2016, 10:41:18 »
Какво направи с компютрите? Не писа нищо повече. Ако идеята е още жива мога да погледна платките. Ще ми трябват само дъната без захранване, клавиатура и т.н. Ако решиш пиши тук.

Здравей,

Междувременно се сдобих и с един 8С, същите симптоми като 8М (няма видими поражения). Може би един от РАМ чиповете не е напълно наред (крачетата не са напълно прави).

Иначе - не ми остана време тази седмица, надявам се уикенда да мога. Не съм се отказал, даже напротив :)

Благодаря ти за предложението, ще се възползвам :) Ако искаш да се разберем на лично.

Може би и нещо, което забравих да спомена - предлагам заплащане, почерпка, забавни моменти с тази идея горе, по избор на човека :)

Неактивен dartdart26

  • Блуждаещ електрон
  • *
  • Публикации: 6
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #7 -: 19 Ноември, 2016, 16:40:35 »
Огромно благодаря на nova600! Рядко се срещат такива хора... Сега имам работещ 8C!

Оказа се проблем с клавиатурата - счупени крачета на конектора.

Сега мога да продължа напред :)

61727-0
61729-1

Неактивен dartdart26

  • Блуждаещ електрон
  • *
  • Публикации: 6
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #8 -: 25 Ноември, 2016, 02:33:34 »
Здравейте,

nova600 е подкарал и личния ми Правец 82 (много съм щастлив), както и има успех с 8M-a . Отново, големи благодарности :)

Остана ми време тази вечер и успях да подкарам C++14 програма на Apple II емулатора :) Като дойде флопито за физическия Правец - ще го пробвам там.

Набързо ще обясня как става. Първо, правя всичко под Ubuntu. Би трябвало да стане и с други компилатори, но това имам под ръка.

Нужен софтуер:
- g++ (sudo apt-get install g++ && sudo apt-get install g++-multilib)
- x86-to-6502 (https://github.com/lefticus/x86-to-6502) - компилира се просто като (cd src; g++ main.cpp -o x86-to-6502)
- 6502 асемблер (sudo apt-get install xa65)
- Apple II/Правец 8 емулатор (https://github.com/AppleWin/AppleWin)
- софтуер за създаване на дискове и файлове (http://a2ciderpress.com/)
- wine (sudo apt-get install wine-stable) - пускам Windows версията на AppleWin емулатора, проблеми с native версията под Linux

Целта ни е да запишем стойността 0x12 в адрес 0x526 . Резултатът е буквичката "R" в горния десен ъгъл на екрана.

C++ програмата, която го прави е (нарочно написана в C++ режим, това е целта на упражнението, да не се сърдят C програмистите :) ):

#include <cstdint>

using mem_addr_t = uint16_t;
using mem_loc_t = volatile uint8_t;

int main()
{
const auto set_mem = [](mem_addr_t addr) -> mem_loc_t& { return *(reinterpret_cast<mem_loc_t*>(addr)); };

set_mem(0x526) = 0x12;
}

Първата стъпка е да компилираме програмата за x86 и да генерираме 6502 асемблер:

g++ -c -O3 -o- -Wall -Wextra -m32 -march=i386 -std=c++1z -S print_r.cpp  | ./src/x86-to-6502 | sed '/^\t\./d'  > print_r.6502

Изходът е print_r.6502 файл с 6502 асемблерен код:

main
lda #18       ; movb $18, 1318
sta 1318      ; movb $18, 1318
lda #$00      ; xorl %eax, %eax
sta $03       ; xorl %eax, %eax
sta $04       ; xorl %eax, %eax
rts           ; ret

Следващата стъпка е да създадем  изпълним файл с 6502 асемблера (разширението на името на файла указва, че е binary тип файл):

xa -C print_r.6502 -o PRINTR#060300

Остава да създадем дискета с DOS 3.3 със CiderPress:
61994-0

Записваме изпълнимия файл там:
61996-1

И накрая зареждаме от дискетата в Apple II емулатора, пускаме програмата и виждаме, че се появява буквата R горе :) :
61998-2

Като остане време ще пробвам и по-сложни неща, както и потенциално може да се направи библиотека от високо ниво за работа с хардуера (примерно библиотека за графика на C++, естествено без exceptions, динамична памет с heap и т.н.)

Ако някой се интересува и му е интересно - ще съдействам както мога.

Благодаря за помощта :)

Неактивен TheHungry

  • Квантов електрон
  • ***
  • Публикации: 475
  • Населено място: Пловдив
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #9 -: 26 Ноември, 2016, 02:06:44 »
Въпреки всичко предпочитам така :

LDA #12
STA $526
RTS

Просто и ясно  .
"I really do like SOLDERING as my programming language."  Bob Pease

Неактивен iss

  • Квантов електрон
  • ***
  • Публикации: 203
  • Населено място: SF
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #10 -: 26 Ноември, 2016, 02:41:57 »
Просто и ясно.
... и 6 байта по-малко   ... и 8 микросекунди по бързо, за това време колко бира се изпива ...  :D

а пък най-добре в монитора: A9 12 8D 26 05 60 - само поглеждаш и разбираш за какво става дума.
« Последна редакция: 26 Ноември, 2016, 02:49:17 от iss »

Неактивен dartdart26

  • Блуждаещ електрон
  • *
  • Публикации: 6
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #11 -: 26 Ноември, 2016, 11:08:26 »
Е, вие пък...  :)

Това е защото е main(), в много голяма част от случаите ще са inline-нати функциите и няма да го има този дефект :)

Неактивен TheHungry

  • Квантов електрон
  • ***
  • Публикации: 475
  • Населено място: Пловдив
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #12 -: 27 Ноември, 2016, 01:00:29 »
A9 12 8D 26 05 60

Кратко и ясно ;)
"I really do like SOLDERING as my programming language."  Bob Pease

Неактивен dartdart26

  • Блуждаещ електрон
  • *
  • Публикации: 6
  • Населено място: София
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #13 -: 01 Декември, 2016, 16:12:25 »
Друго, което обмислям (поради малкия стек от 256 байта на 6502) е следното:

Генерирам C код от C++ (http://llvm.org/releases/3.1/docs/FAQ.html#translatecxx) и след това ползвам native C компилатора за 6502 . Според следната страница си прави собствен стек и лимитацията отпада:  http://wiki.cc65.org/doku.php?id=cc65:parameter_and_return_stacks

Ще пиша какво става като го пробвам.

Неактивен iss

  • Квантов електрон
  • ***
  • Публикации: 203
  • Населено място: SF
Re: Помощ при подкарване на Правец 8М и 82
« Отговор #14 -: 02 Декември, 2016, 09:52:04 »
Стана ми интересно... :).
Каква е целта на упражнението?
Споменаваш и 'native' компилатор - кой е той? ... или имаш предвид 'cross' компилатор?
Иначе, както се казва 'за статистиката', стека хич не е малък - даже има място в него за драйвер или кратка програма - факт!

 

ПОЛЕЗНИ ВРЪЗКИ

Начален сайт "САНДЪЦИТЕ" Библиотека "Сандъците"
ОТГОВОРНОСТИ: Всички мнения във ФОРУМА са лични мнения на техните автори и не отразяват официалното становище на собствениците му.
   Copyright: Освен ако не е посочено друго, съдържанието на този сайт е лицензирано под:
  Creative Commons Attribution License.
  Текстът на договора за ползване на български
Copyright © 2011 - Сандъците - сайт и форум за стара електроника - За контакти  

Партньори:  | Форум за конспирации, уфология и мистика | Кактус БГ |