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

User Tag List

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 71

Тема: Пишу эмулятор БК0011М для FPGA MiST.

  1. #11
    Junior
    Регистрация
    12.02.2014
    Адрес
    г. Волжск
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    Ну и?
    Я думал что хотя бы какие-то отзывы получить.
    На какую-то помощь, я так понимаю, нет смысла рассчитывать?
    Очень редко сюда захожу, сейчас перешел по ссылке с форума сайта bk0010.org.
    Вы просто ищете людей немного не там, советую писать сразу на несколько форумов на сайтах:
    pk-fpga.ru bk0010.org phantom.sannata.ru
    Железные БК есть ещё у многих, и помочь многие бы смогли.

  2. #12
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    341
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мда.. попробовал на bk0010.org написать.. Как в дерьмо вляпался. Там, любой аноним непонятно откуда может писать всякую фигню.
    Ну его нафиг. Мало того что там дизайн - вырви глаз, там и содержание соответствующее.

  3. #13
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    341
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MVV,
    У вас нет желания сделать плату на основе Cyclone V SX/ST (та версия что с ARM)? Ну очень хочется поиметь такую платку.
    Я пока жду JTAG для своего Zynq7020. Чип интересный, но софт у Xilinx просто ппц какой неудобный и неочевидный. Хочется то же, но на Altera. Я уже так привык к Квартусу. Я считаю что за гибридными чипами будущее. Да и вообще, очень интересное решение буквально на одном чипе. По сути ваш ReVerSE-U16 на Cyclone V SX в корне меняет ситуацию.

    Вопрос ко всем: Не могу найти точную инфу по работе ВП1-014. Интересует вот что: если было запрещено прерывание (по MTPS) и после нажатия кнопки программа прочитает из 177662 а потом разрешит прерывание, наступит прерывание от клавиатуры или нет? Мне кажется что в этом кроется глюк клавы.

    P.S: Пофиксил наконец-таки прерывание от клавы!
    Последний раз редактировалось Saar; 27.01.2016 в 22:18.

  4. #14
    Member
    Регистрация
    26.04.2010
    Адрес
    Silicon Valley, CA
    Сообщений
    67
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так в чем помощь конкретно сейчас требуется? В прогонке проекта на MiST'е? Я пока его не купил, но собирался. То, что проект выложен на github - это огромный плюс. Вот, что не хватает, так это подробного описания, как это потом загружать, как отлаживать, какой инструментарий использовать и.т.д. Беды многих открытых проектов. Надо понимать, что людей с мозгами и желанием полно, а вот набор скиллов у всех разный. Иногда надо помочь и первые детские шажки сделать.

  5. #15
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    341
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Желательно, конечно иметь плату MiST. Если у вас она появится - это будет великолепно! Буду тогда не одинок Но и владельцы других плат приветствуются - только понадобится опыт чтобы портировать.

    Я обновил репозиторий. Там теперь есть бинарник чтобы можно было запустить без компиляций.
    Если хотите присоединиться к разработке, то тоже ничего сложного. Для Altera Cyclone III всего одна среда разработки - Quartus II 2013. Так что не заблудитесь
    В общем-то я сам на FPGA программирую чуть больше пары месяцев. Более-менее освоился уже.

    Из помощи нужно в первую очередь проверить тонкости в реализации. То есть запустить в эмуляторе разные самописные куски для проверки, например, клавиатуры в разных режимах, проверить насколько разнится скорость выполнения с реальной БК. Всякие там прерывания и т.д. В общем, нужно иметь под боком реальную БК0011М и знания в ее железе и программировании.

    Но и помощь в развитии самого проекта тоже приветствуется. Кое что еще не реализовано. Например, загрузка отдельных файлов. Можно даже сделать загрузку через магнитофонный вход. Сделать полноценный режим БК0010 (потому, нужна загрузка отдельных файлов, и надо придумать формат или взять какой-то уже известный). Я не совсем знаком с поздними разработками для БК0010. Там вроде тоже были КНГМД. Просто я как-то быстро перешел на БК0011М и все разработки делал на ней.

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

    Еще не пойму почему при загрузке игр для БК0010 в CSIDOS включается 17 палитра вместо 0. То ли у меня имидж винта остался от моей доработки БК0011М с 16 цветами. То ли это глюк моего эмулятора.
    Но мне интересна еще идея переключения в БК0010 с отключением всего что добавили в БК0011М. В общем идей достаточно, но в одиночку я могу просто остановиться на каком-то моменте, если не будет команды.
    Последний раз редактировалось Saar; 28.01.2016 в 01:44.

  6. #16
    Member
    Регистрация
    26.11.2013
    Адрес
    г. Самара
    Сообщений
    78
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Смогу прояснить некоторые вопросы, но небыстро (работа, семья) и не очень скоро (сейчас вообще не дома) - под рукой живой БК-шки нет и нет моих талмудов дизасма ее монитора (хотя это решаемо). В общем не ранее, чем через неделю смогу выдать что-то полезное.
    - БК-0011М, БК-0011М-01, БК-0010-01
    - Электроника-85, УКНЦ, ДВК
    - ЕС-1841, ЕС-1845, Искра-1030М, Искра-1031, Поиск, МС1502
    - Корвет, Радио-86РК-SRAM, Львов ПК-01, Вектор-06Ц, Апогей БК01Ц
    - Агат-7, Агат-9
    - Leningrad 2012, ZX Evo rev.C + NeoGS, Дельта, ZX Spectrum 48K original
    - Yamaha YIS 503III, Atari 65XE, Amiga 1200, SparcStation 10

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

  8. #17
    Master
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    545
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    136
    Поблагодарили
    105 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    если было запрещено прерывание (по MTPS) и после нажатия кнопки программа прочитает из 177662 а потом разрешит прерывание, наступит прерывание от клавиатуры или нет?
    Если вопрос всё ещё актуален, то ответ: нет не наступит. При чтении регистра 177662 сбрасывается бит готовности в регистре 177660 и требование прерывания снимается, пока оно было запрещено.

    Кстати, есть код верилога ВП1-014, который похож на человеческий, но не знаю, насколько он практически применим. Я тренировался на нём конвертировать автосгенерированные Vslavом верилоги. В результате понял, что мне это дело не осилить. Всё равно не получается сделать правильный человеческий верилог, не хватает ни знаний, ни опыта. Данный код работает аналогично vp_014.v, без учёта времянок.

    Скрытый текст


    Код:
    //
    //______________________________________________________________________________
    //
    `timescale 1ns / 100ps
    
    module va_014
    (
        inout[7:0]  PIN_nAD,        // Address/Data inverted bus
                                    //
        input       PIN_nSYNC,      //
        input       PIN_nDIN,       //
        input       PIN_nDOUT,      //
        input       PIN_nINIT,      //
        input       PIN_nCS,        // вход BS от ВП1-037, это выборка адресов 177660..177663
        input       PIN_nIAKI,      // вход сигнала IAKO от ВМ1
        output      PIN_nIAKO,      // выход, передача векторного прерывания дальше по цепочке
        output      PIN_nRPLY,      //
        output      PIN_nIRQ,       // выход, VIRQ 
                                    //
        input[7:1]  PIN_Y,          //
        output[7:1] PIN_Y_OC,       //
        input[9:0]  PIN_X,          //
        output      PIN_RP1_OC,     //
        output      PIN_RP2_OC,     //
        input       PIN_RP1,        //
        input       PIN_RP2,        //
                                    //
        input       PIN_nCTRL,      //
        input       PIN_nSHIFT,     //
        input       PIN_nEC1,       //
        input       PIN_EC2         //
    );
    
    //______________________________________________________________________________
    //
    // Autogenerated netlist
    //
    
    
    wire        din_in;
    wire        dout_in;
    wire        iaki_in;
    wire        sync_in;
    wire        init_in;
    wire        nShift_in;
    wire        nCtrl_in;
    wire        cs_in;
    wire        nAD1_in;
    wire        nAD6_in;
    wire        RP1_in;
    wire        RP2_in;
    wire        iako_out;
    wire        rply_ena;
    wire        irq_ena;
    
    wire [9:0]  X;
    wire [7:1]  Y;
    wire [6:0]  C;
    wire [7:0]  ad_out;
    
    wire        X5_4;
    wire        X9_6;
    wire        X3_0;
    wire        XANY;
    wire        V274;
    wire        V60;
    wire        VANY;
    
    wire        LOCK;
    wire        RELEASE;
    wire        WSTB;
    wire        DATRD;
    wire        IACK;
    wire        OE;
    wire        CSR;
    wire        DAT;
    wire        nEC2;
    wire        nEC1;
    wire        nIRQ;
    wire        CSRRD;
    wire        CSRWR;
    wire        rdy_stb0;
    wire        rdy_stb1;
    
    wire        NET00047;
    
    
    reg [6:0]   data;
    reg [7:1]   YIN;
    reg         reg_rc;
    reg         ad1_rc;
    reg         cs_rc;
    reg         irq_rc;
    reg         vect_rc;
    reg         IEN;
    reg         irq_fc;
    reg         READY, rdy_fc;
    reg         PRESS;
    reg         BUSY, rel_fc;
    
    
    
    //______________________________________________________________________________
    //
    // Autogenerated cell instantiations
    //
    
    //input pins
    
    assign nAD1_in  =  PIN_nAD[1]; //tINPUT cell_PIN32
    assign nAD6_in  =  PIN_nAD[6]; //tINPUT cell_PIN33
    
    assign X[9:0]   = ~PIN_X[9:0];
    assign Y[7:1]   = ~PIN_Y[7:1];
    
    assign iaki_in  = ~PIN_nIAKI; //tINPUT cell_PIN25
    assign sync_in  = ~PIN_nSYNC; //tINPUT cell_PIN29
    assign dout_in  = ~PIN_nDOUT; //tINPUT cell_PIN27
    assign din_in   = ~PIN_nDIN; //tINPUT cell_PIN26
    assign init_in  = ~PIN_nINIT; //tINPUT cell_PIN19
    assign cs_in    = ~PIN_nCS; //tINPUT cell_PIN30
    assign nShift_in = PIN_nSHIFT; //tINPUT cell_PIN16
    assign nCtrl_in = ~PIN_nCTRL; //tINPUT cell_PIN18
    assign nEC1     =  PIN_nEC1; //tINPUT cell_PIN17
    assign nEC2     = ~PIN_EC2; //tINPUT cell_PIN31
    assign RP1_in   =  PIN_RP1; //tINPUT cell_PIN20
    assign RP2_in   =  PIN_RP2; //tINPUT cell_PIN22
    
    //output pins
    
    assign PIN_nAD[7:0] = ~OE ? 8'bzzzzzzzz : ad_out[7:0]; //tOUTPUT_OE cell_PINOU39
    
    assign PIN_Y_OC[1]  = ~YIN[1] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN5_OC
    assign PIN_Y_OC[2]  = ~YIN[2] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN4_OC
    assign PIN_Y_OC[3]  = ~YIN[3] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN3_OC
    assign PIN_Y_OC[4]  = ~YIN[4] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN2_OC
    assign PIN_Y_OC[5]  = ~YIN[5] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN1_OC
    assign PIN_Y_OC[6]  = ~YIN[6] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN41_OC
    assign PIN_Y_OC[7]  = ~YIN[7] ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN40_OC
    
    assign PIN_nIAKO    = ~iako_out; //tOUTPUT cell_PIN24
    assign PIN_nIRQ     =  irq_ena ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN23_OC
    assign PIN_nRPLY    =  rply_ena ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN28_OC
    assign PIN_RP1_OC   =  XANY ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN20_OC
    assign PIN_RP2_OC   = ~XANY ? 1'bz : 1'b0; //tOUTPUT_OC cell_PIN22_OC
    
    
    //______________________________________________________________________________
    //
    
    assign CSR      =  ad1_rc & cs_rc; //t390 cell_C33
    assign DAT      = ~ad1_rc & cs_rc; //t390 cell_C33
    assign CSRWR    =  sync_in & CSR & dout_in; //t384 cell_F33
    assign CSRRD    =  sync_in & CSR & din_in; //t387 cell_C31
    assign DATRD    =  sync_in & DAT & din_in; //t380 cell_D31
    assign IACK     =  iaki_in & din_in &  irq_rc; //t378 cell_C18
    assign iako_out =  iaki_in & din_in & ~irq_rc; //t380 cell_D21
    assign V274     =  vect_rc & IACK; //t391 cell_C15
    assign V60      = ~vect_rc & IACK; //t391 cell_C15
    assign VANY     =  V274 | V60; //t385 cell_C17
    assign OE       =  DATRD | CSRRD | VANY; //t382 cell_C11
    assign X9_6     =  (X[9:6] != 4'h0); //t381 cell_I27
    assign X5_4     =  (X[5:4] != 2'h0); //t373 cell_I11
    assign X3_0     =  (X[3:0] != 4'h0); //t381 cell_F13
    assign XANY     =  (X[9:0] != 10'h0); //t387 cell_L11
    assign LOCK     =  (PRESS | XANY) & ~init_in; //t373 cell_F20
    assign WSTB     =  PRESS & XANY; //t376 cell_D7
    assign nIRQ     = ~READY | irq_fc;
    assign irq_ena  = ~IEN | nIRQ; //t370 cell_C9
    assign rply_ena = ~(CSRWR | OE); //t385 cell_G33
    assign RELEASE  = ~( rel_fc | PRESS);
    assign rdy_stb0 = ~(~rdy_fc | DATRD);
    assign rdy_stb1 = ~(BUSY | RELEASE);
    
    
    assign C[0] = (YIN[6] | ((YIN[4] | (~YIN[3] & (~YIN[1] | YIN[2]))) & ~YIN[5])) & ~YIN[7]; //t381 cell_H21
    assign C[1] = (YIN[5] | YIN[4] | (~YIN[2] & ~YIN[3])) & ~(YIN[7] | YIN[6]); //t381 cell_H19
    assign C[2] = ~(YIN[7] | YIN[6] | YIN[5] | YIN[4]); //t381 cell_H18
    assign C[3] = (X[8] | ((X[6] | ((X[4] | ~(X[3] | X[1])) & ~X[5])) & ~X[7]))& ~X[9]; //t381 cell_H17
    assign NET00047 = (X[5] & (YIN[7] | YIN[6] | YIN[5] | YIN[4])); //t373 cell_L25
    assign C[4] = ~(X[2] | X[3]) & ((X5_4 & ~(nShift_in ^ NET00047)) | (~(X[9] | X[8]) & (X[7] | X[6] | ~(X[5] | X[4])))); //t376 cell_H16
    assign C[5] = ((~(nEC1 ^ reg_rc) | nCtrl_in) & ~X5_4) | ~(nShift_in | ~X9_6) | X3_0; //t380 cell_G23
    assign C[6] = (~X9_6 | nCtrl_in); //t373 cell_G25
    
    assign ad_out[0] = (data[0] | ~DATRD); //t374 cell_I25
    assign ad_out[1] = (data[1] | ~DATRD); //t374 cell_I24
    assign ad_out[2] = (data[2] | ~DATRD) & ~V274; //t376 cell_I21
    assign ad_out[3] = (data[3] | ~DATRD) & ~V274; //t377 cell_D27
    assign ad_out[4] = (data[4] | ~DATRD) & ~VANY; //t376 cell_C25
    assign ad_out[5] = (data[5] | ~DATRD) & ~VANY; //t376 cell_C21
    assign ad_out[6] = (data[6] | ~DATRD) & (IEN | ~CSRRD); //t376 cell_D16
    assign ad_out[7] = (~CSRRD  | ~READY) & ~V274; //t377 cell_C29
    
    //______________________________________________________________________________
    //
    
    
    /*
    assign nYOC[1] = ~(LOCK & YIN[1]); //t390 cell_H31
    assign YIN[1] = ~(nYOC[1] & Y[1]); //t390 cell_H31
    assign nYOC[2] = ~(LOCK & YIN[2]); //t390 cell_M23
    assign YIN[2] = ~(nYOC[2] & Y[2]); //t390 cell_M23
    assign nYOC[3] = ~(LOCK & YIN[3]); //t390 cell_I30
    assign YIN[3] = ~(nYOC[3] & Y[3]); //t390 cell_I30
    assign nYOC[4] = ~(LOCK & YIN[4]); //t390 cell_M17
    assign YIN[4] = ~(nYOC[4] & Y[4]); //t390 cell_M17
    assign nYOC[5] = ~(LOCK & YIN[5]); //t390 cell_M19
    assign YIN[5] = ~(nYOC[5] & Y[5]); //t390 cell_M19
    assign nYOC[6] = ~(LOCK & YIN[6]); //t390 cell_M25
    assign YIN[6] = ~(nYOC[6] & Y[6]); //t390 cell_M25
    assign nYOC[7] = ~(LOCK & YIN[7]); //t390 cell_M27
    assign YIN[7] = ~(nYOC[7] & Y[7]); //t390 cell_M27
    */
    always @(*)
    begin
        if (~LOCK)
        begin
            YIN[7:1] <= 7'h0;
        end
        else begin
            if (~Y[1])
                YIN[1] <= 1'b1;
            if (~Y[2])
                YIN[2] <= 1'b1;
            if (~Y[3])
                YIN[3] <= 1'b1;
            if (~Y[4])
                YIN[4] <= 1'b1;
            if (~Y[5])
                YIN[5] <= 1'b1;
            if (~Y[6])
                YIN[6] <= 1'b1;
            if (~Y[7])
                YIN[7] <= 1'b1;
        end
    end
    
    always @(*)
    begin
        if (LOCK)   //t406 cell_L27(.c1(X[1]), .r2(LOCK), .q3(reg_rc), .r5(YIN[7]), .s10(YIN[6]));
            reg_rc <= 1'b0;
        else if (X[1])
        begin
            if (YIN[7])
                reg_rc <= 1'b0;
            else if (YIN[6])
                reg_rc <= 1'b1;
        end
    
        if (~sync_in)
        begin
            cs_rc  <= cs_in;  //t416 cell_H33(.c1(~sync_in), .q4(cs_rc), .d5(cs_in));
            ad1_rc <= nAD1_in;  //t416 cell_D33(.c1(~sync_in), .q3(NET00204), .q4(ad1_rc), .d5(nAD1_in));
        end
    
        if (~din_in)
        begin
            irq_rc <= ~irq_ena; //t416 cell_C23(.c1(~din_in), .q3(NET00123), .q4(irq_rc), .d5(~irq_ena));
        end
    
        if (WSTB)
        begin
            vect_rc <= (nEC2 | (((YIN[1] & X[1]) | (X[2] & YIN[1]) | (YIN[3] & X[1]) | X[0]) & ~(X[0] & YIN[3])));   //t416 cell_F23(.c1(WSTB), .q3(vect_rc), .d5(NET00002));
            data[6:0] <= C[6:0];
        end
    
        if (IACK)
            irq_fc <= 1'b1;
        else if (~READY)
            irq_fc <= 1'b0;
    
        if (READY | init_in)
            BUSY <= 1'b1;
        else if (RELEASE)
            BUSY <= 1'b0;
    
        if (~BUSY)
            rel_fc <= 1'b1;
        else if (PRESS)
            rel_fc <= 1'b0;
    
        if (init_in | rdy_stb1)
            rdy_fc <= 1'b0;
        else if (DATRD)
            rdy_fc <= 1'b1;
    
        if (init_in | rdy_stb0)
            READY <= 1'b0;
        else if (rdy_stb1)
            READY <= 1'b1;
    end
    
    always @(posedge RP1_in or posedge RP2_in)
    begin
        if (RP2_in) //set
        begin
            PRESS <= 1'b1;
        end
        else    //datastrobe
        begin
            PRESS <= RP2_in;
        end
    end
    
    always @(posedge CSRWR or posedge init_in)
    begin
        if (init_in)
            IEN <= 1'b0;
        else
            IEN <= nAD6_in;
    end
    
    
    
    endmodule
    //______________________________________________________________________________
    //
    [свернуть]

  9. #18
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    341
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    gid,
    Ну почему же. У вас очень даже человеческий Verilog получился.
    С клавой я уже разобрался. Именно этот момент я не учитывал - поэтому и печатался символ при удержании клавиши при старте.
    Как вы думаете, ваша переделанная модель работает идентично оригинальной ВП1-014 в части определения нажатия нескольких клавиш?
    Там вроде команду RESET надо было подавать перед опросом.

  10. #19
    Master
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    545
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    136
    Поблагодарили
    105 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Saar, формально говоря, моя переделанная модель есть прямой функциональный аналог модели, полученной в результате реверсинга чипа. Если Vslav нигде не ошибся, а я уверен, что нет, то модель и должна работать почти так, как оригинальный ВП1-014. Я же писал, что переделал без учёта времянок, главное было, чтобы вывод тестбенча в модельсиме примерно совпадал с оригинальной асинхронной сгенерированной моделью. Поскольку это совершенно не моя область деятельности, я не предполагал практического использования модели и даже не знаю, будет ли она работать правильно. Или возникнут какие-либо казусы, связанные с рассихроном времянок. Модель-то нифига не синхронная.

    Когда на БК впервые заговорили об обработке одновременного нажатия нескольких клавиш, я, почитав, в чём там суть, для себя сразу отказался от этого метода. Поскольку складывание по OR сканкодов нескольких нажатых клавиш даёт слишком мало простора для деятельности.

  11. #20
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    341
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну да, не все варианты кнопок можно так опросить, но в те времена это уже было достижением и новым функционалом.
    Я даже прикидывал на клаве, вполне рабочие варианты можно было найти. Там же на надо одновременное нажатие вверх и вниз, или влево и вправо. А надо вверх, например и вправо. Ну или вправо + стрелять. Всё равно это был бесплатный метод.
    А заговорил про это я, поскольку хочется сделать функционал как можно ближе.
    От ВП1-014 синхронности, в общем-то и не надо. Она же вообще - комбинаторная логика без клока.

    Вот такой еще вопрос, теперь по БК0010: При записи в 177662 происходит прерывание по 4 вектору или нет?

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

    Еще вопрос по БК0011М:
    Заметил интересную особенность старта. Если в страницах ПЗУ 12 и 13 что-то есть, то бэйсик не стартует. Поидее, признак запускаемого ПЗУ это команда NOP в первом адресе. А тут, монитор почему-то пытается запустить ПЗУ из 12 и 13 страниц без этого признака.
    Даже если принудительно выставить 11;1C и запустить 100000G, бэйсик не запустится.
    Просто хотел отладчик положить в 12 страницу, но запускать его только вручную когда нужно.

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ремонт БК0011м
    от лю в разделе БК-0010/0011
    Ответов: 17
    Последнее: 25.06.2015, 19:14
  2. Замена ОЗУ БК0011М
    от Woland в разделе БК-0010/0011
    Ответов: 35
    Последнее: 09.03.2013, 14:34
  3. СПб. Меняю БК0011М на ДВК.
    от SKcorp. в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 08.12.2011, 20:32
  4. [Москва, Мир] Обменяю БК0011М
    от Mixey в разделе Барахолка (архив)
    Ответов: 40
    Последнее: 03.05.2010, 02:02

Ваши права

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