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

User Tag List

Страница 5 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 107

Тема: ПК8000 - Ремонт

  1. #41
    Member Аватар для vwarlock
    Регистрация
    22.01.2014
    Адрес
    г. Великий Новгород
    Сообщений
    169
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня плата к БП разъемом подключена! Думаю, внешний вид не пострадает :-)

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

    Все победил!!!!

    Дело было так:
    Судя по осциллограммам процессор прыгал по адресному пространств как ему вздумается, а не так, как записано в ПЗУ :-)
    Было принято решение купить в Китаях логический анализатор, все равно пригодится!
    Но ту "лиса близехонько бежала" (с), спасибо ALSP (мы вместе работаем и хобби у нас ОЧЕНЬ похожи)!
    Собрали на "коленках" "шинный анализатор" из Arduino Mega,скормили ему шину данных, засинхронизировались сигналом "Чт.ЗУ" и вот что увидели:
    после ресета процессор читает из памяти F3 C3 20 29 и это верно! А вот дальше 00 00 04 00 08 00 00 00 00 00 94, а ведь должно быть 3E 84 D3 87 3E 00 D3 84 3E 82 D3 - вот незадача! Поиск по ROM дает одно единственное совпадение начиная с адреса 2900h. Похоже процессор не адресует А5? Подключаемся к шине адреса ... и да, там 0001h, 0002h, 0003h и 2900h 2901h 2902h... берем осциллограф и смотрим что у нас на 7 ноге D38, а там нули! А что на ноге 13? А там тоже нули!
    Но я точно раз пять, как минимум, проверял что на всех выходах ША процессора есть активность и на выходах буферов АП5 (D38, D39) тоже!
    Меняем процессор... и вуаля! все работает!

    Еще один ветеран в строю!
    Теперь и за контроллер дисковода не грех взяться, благо DK_SPB платку нашел! Будем паять-запускать!
    Всем ОГРОМНОЕ спасибо! Особенно Scaraby! :-)
    С уважением,
    Александр.

  2. #42
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    365
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vwarlock Посмотреть сообщение
    Собрали на "коленках" "шинный анализатор" из Arduino Mega,скормили ему шину данных, засинхронизировались сигналом "Чт.ЗУ" и вот что увидели:
    А я все собираюсь его собрать, и давно уже. Пока я собираюсь, люди уже с победными флажками.
    Не поделитесь детальными подробностями своего проекта на ардуине?
    wtf

  3. #43
    Member Аватар для scaraby
    Регистрация
    06.06.2015
    Адрес
    г. Раменское, Московская обл.
    Сообщений
    93
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поздравляю с победой! Было интересно. Ещё в копилку решений и опыта запись сделали! А вас не затруднит сделать фотку, как реализовано подключение БП в плате? Впервые о таком услышал, любопытно стало.

    У меня на счёт шинного анализатора вызревает такая идейка: так как ПК8000 уже не в единственном экземляре имеется, есть мысль брать шину данных, либо шину адреса, с разъёма x1 "пациента" и подключать её прямо без затей к входам для подключения джойстиков другого живого ПК8000. Далее простейшая, но максимально быстрая программа опрашивает порты джойстиков в цикле и тут же это в виде 16-ричных значений (+30h или +36h) бросает коды символов непосредственно в видео-ОЗУ в буфер экрана в режиме 0. Если ещё и пробросить паяльником 4 провода от разъёмов джойстиков к D3, то можно 16 бит читать.

    Правда, возникнет проблема, связанная с тем, что будет выпадать некоторое количество значений, потому что оба работают на одной частоте. Но статические состояния будут регистрироваться без проблем. Теоретически, можно пациенту кварц вдвое меньший по частоте скормить либо сделать всё-таки "щёлкалку" для пошаговой отладки в разрыв КТ1-КТ2. Согласен, что решение выглядит очень "коленно-костылеобразным", но для его реализации достаточно спаять 16-пиновый шлейф с тремя разъёмами. Ну и софтину написать, которая будет данные регистрировать. Кстати, можно было бы эти данные потом ещё и в ОЗУ просматривать.

  4. #44
    Member Аватар для vwarlock
    Регистрация
    22.01.2014
    Адрес
    г. Великий Новгород
    Сообщений
    169
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собственно, примерно так и было сделано, только вместо ПК8000 использована Arduino Mega2560.
    У нее и частота поболе (16MHz) и входов побольше - можно сразу ША и ШД читать.
    Да и удобней на ноутбуке прошивку править и заливать.

    Вот, собственно исходник прошивки:
    Код:
    /*
      Logic Analyser
      Version 0.1
    
      VWarlock, ALSP  2016
      
      Connection:
      PK8000        MEGA    Description
      X1.3      ->  A0      D0
      X1.4      ->  A1      D1
      X1.5      ->  A2      D2
      X1.6      ->  A3      D3
      X1.7      ->  A4      D4
      X1.8      ->  A5      D5
      X1.9      ->  A6      D5
      X1.10     ->  A7      D6
    
      X1.12     ->  D20     ReadRAM
      Pin 8 D5  ->  D21     RESET
    */
    
    //#define DEBUG 1
    #undef DEBUG
    
    //#define INTERRUPT 1
    #undef INTERRUPT
    
    const unsigned char   traceLen        = 255;
    static char           data[traceLen];
    unsigned char         traceIndex      = 0;
    bool                  enabled         = false;
    
    
    void Clock()
    {
    #ifdef DEBUG
      Serial.println("Reset");
    #endif
      if (enabled)
      {
        //for (int i = 0; i < 3; i++); // Delay if needed
        data[traceIndex++] = PINF;
        if (traceIndex == traceLen)
        {
          enabled = false;
          OutData();  
        }
      }
    }
    
    
    void Reset()
    {
    #ifdef DEBUG
      Serial.println("Reset");
    #endif
    
      traceIndex = 0;
      enabled = true;
    }
    
    
    void ReadBUS()
    {
     while ( !(PIND & 0b00000010 )); // Waiting for RESET
      while ( PIND & 0b00000010 );
      for ( int i = 0; i < traceLen; i++ )
      {
        while (!(PIND & 0b00000001));  // Waiting for Clock (ReadRAM)
        //for (int k = 0; k < 1; k++); // Delay if needed
        data[i] = PINF;                // Read BUS 
        while (PIND & 0b00000001);
      }
    
     OutData();
    }
    
    
    
    void OutData()
    {
      char buf[10];
      
      Serial.println("\n\nStart");
      
      for ( int i = 0; i < traceLen / 16; i++ )
       {
          sprintf( buf, "\n%04X: ", (int)( i * 16 ));
          Serial.print(buf);
          for ( int j = 0; j < 16; j++ )
          {
            sprintf( buf,"%02X ", (unsigned char) data[i * 16 + j]);
            Serial.print(buf);
          }
       }
       Serial.println();
    }
    
    
    // the setup routine runs once when you press reset:
    void setup()
    {
      // initialize serial communication at 115200 bits per second:
      Serial.begin(115200);
      
      Serial.println( "----------------------------------------------------" );
      // initialize MEGA ports:
      DDRF = B00000000; // port F as input
      DDRK = B00000000; // port K as input
    
    #ifdef INTERRUPT
      pinMode(21, INPUT_PULLUP); // PD0 Clock
      pinMode(20, INPUT_PULLUP); // PD1 Reset
      attachInterrupt( digitalPinToInterrupt( 21 ), Clock, FALLING);
      attachInterrupt( digitalPinToInterrupt( 20 ), Reset, RISING);
    #else
      DDRD = B00000000; // port D as input
    #endif
    }
    
    
    // the loop routine runs over and over again forever:
    void loop() 
    {
    #ifdef INTERRUPT
      delayMicroseconds(1000);
    #else
      ReadBUS;
    #endif
    }
    - - - Добавлено - - -

    А вот и фото:

    Нажмите на изображение для увеличения. 

Название:	PK8k00.jpg 
Просмотров:	346 
Размер:	94.1 Кб 
ID:	57448Нажмите на изображение для увеличения. 

Название:	PK8000_01.jpg 
Просмотров:	299 
Размер:	58.7 Кб 
ID:	57449Нажмите на изображение для увеличения. 

Название:	PK8000_02.jpg 
Просмотров:	341 
Размер:	52.3 Кб 
ID:	57450Нажмите на изображение для увеличения. 

Название:	PK8000_03.jpg 
Просмотров:	346 
Размер:	61.1 Кб 
ID:	57451
    С уважением,
    Александр.

  5. #45
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    365
    Спасибо Благодарностей отдано 
    251
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vwarlock Посмотреть сообщение
    Вот, собственно исходник прошивки:
    Спасибо. А сура при этом работала на родной частоте (не пошагово), я верно поняла?
    wtf

  6. #46
    Member Аватар для vwarlock
    Регистрация
    22.01.2014
    Адрес
    г. Великий Новгород
    Сообщений
    169
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, все верно, Сура работала на родной частоте.


    Отправлено с моего iPad используя Tapatalk
    С уважением,
    Александр.

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

  8. #47
    Member Аватар для vwarlock
    Регистрация
    22.01.2014
    Адрес
    г. Великий Новгород
    Сообщений
    169
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хочу ещё разъемы джойстиков заменить на "папы" чтобы Atati'вские джойстики без переделки вставлялись. И ещё надо попробовать спековский RGBI<->VGA конвертер приспособить, Но это чуть позже. Завтра попробую родной адаптер на SCART забубенить :-) и с мафона гамес какой-нибудь запустить, чтобы удостовериться в полной работоспособности Суры.


    Отправлено с моего iPad используя Tapatalk
    С уважением,
    Александр.

  9. #48
    Member Аватар для vwarlock
    Регистрация
    22.01.2014
    Адрес
    г. Великий Новгород
    Сообщений
    169
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разъемы джойстиков перепаял, изменив распайку под SEGA'вские и добавил резистор 1 КОм с +5 вольт на 7 ногу разъема (SELECT = HIGH).
    Теперь можно подключать SEGA'вские джойстики, правда, работают кнопки B и C, а не А и В, но это мелочи и проклятый перфекционизм! :-)

    А вот загрузить игрушку у меня не вышло: доходит до конца файла и пишет Device I/O Error.
    Пробовал разные игры - результат один и тот же. Громкость тоже разную пробовал. Игры конвертировал CAS2WAV из MSXTools (взял на форуме)
    Ой! мне сейчас мысль в голову пришла: а какие файлы надо было конвертору подсовывать? Я конвертил *.CAS, а может надо было *.csave.CAS или разницы нет?
    Приду завтра - попробую CSAVE подсунуть.
    С уважением,
    Александр.

  10. #49
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я точно не помню, но по-моему там ещё и имя нужно точно указывать (вроде даже с учётом регистра), а не просто bload "",r

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

    Для бинарных bload, а для прог на бейсике - cload

  11. #50
    Member Аватар для scaraby
    Регистрация
    06.06.2015
    Адрес
    г. Раменское, Московская обл.
    Сообщений
    93
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё верно, имя файла нужно указывать с учётом регистра. Если имя не совпадает, то появится сообщение Skip:ИМЯФАЙЛА. Если сообщение об ошибке в конце появляется, то может быть что не полностью совместимый wav формируется.

    Попробуйте создать WAV по следующей схеме: Загружаете в emu программу, допустим TEST командой CLOAD"TEST", скармливаете ему файл csave.cas. После успешной загрузки нажимаете в панели управления emu кнопку "запись", придумываете имя для будущего WAV и затем в эмуляторе выполняете команду CSAVE"TEST". По окончании процесса записи, в эмуляторе нажимаете кнопку "стоп" в панели управления emu. Таким способом сделанный WAV грузится с линейного выхода компьютера с очень большой вероятностью без ошибок.

    Уважаемый b2m, обнаружил интересную особенность в работе emu: вот этот файл (07.VALLEY.HEX.cas) в emu ведёт себя странно - предлагает сперва что-то сохранить на жёсткий диск, а после этого лабиринт отображается некорректно, хотя движок вроде работает, персонажи двигаются и управляются. Вместе с тем, на живом ПК8000 WAV, из которого сформирован файл WAV2CAS-ом, исполняется корректно. Что позволяет предположить, что в этом файле используются какие-то функции ПЗУ, которые эмулятор выполняет иначе, чем реал. Может быть вам будет это интересно?

    07.VALLEY.HEX.zip

Страница 5 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ПК8000 - Клавиатура
    от Mick в разделе ПК8000
    Ответов: 60
    Последнее: 19.03.2024, 22:36
  2. ПК8000 - Прошивки ПЛМ
    от Mick в разделе ПК8000
    Ответов: 63
    Последнее: 17.03.2023, 00:08
  3. ПК8000 - ROM диск
    от Mick в разделе ПК8000
    Ответов: 39
    Последнее: 06.03.2014, 14:12
  4. куплю пк8000
    от omaxlab в разделе Барахолка (архив)
    Ответов: 26
    Последнее: 02.07.2012, 21:44
  5. ПК8000 - Квазидиск
    от Mick в разделе ПК8000
    Ответов: 86
    Последнее: 13.10.2008, 19:17

Ваши права

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