Curunir Posted September 14, 2004 Share Posted September 14, 2004 Идеята ми е да направя конвертор от PSX joypad към USB, за да мога да играя емулирани конзолни игри (NES, SNES, SEGA, Atari) с нормален joypad, а не с някой от неудобните за тая цел нормални USB компютърни joypad-ове. Има интернет магазини, които продават такива конвертори, но освен цената на компонента искат още 20 евро за доставка до България. Обиколих почти всички магазини за конзолни и компютърни компоненти в Пловдив, но никъде дори не са чували за подобен конвертор. Намерих сайт със схема за връзването на pad-а, както и driver за така направената връзка. Единственото нещо, което остава е да се програмира чипа, който прави връзката от PSX към USB. Разполагам с кода за програмирането на чипа, но не е компилиран. За да програмирам чипа, имам нужда от изходния .hex файл, но за да стигна до .hex файла имам нужда от Assembler компилатор. Единствения компилатор, който намерих и който не иска 99$ е на http://nasm.sourceforge.net/ Проблема е, че хора запознати с Assembler твърдят, че този компилатор няма да свърши работа. Ето и част от самия код, за всички плашещи хора, които разбират нещо от него: ; GPIO Isink registers Port0_Isink: equ 30h Port0_Isink0: equ 30h Port0_Isink1: equ 31h Port0_Isink2: equ 32h Port0_Isink3: equ 33h Port0_Isink4: equ 34h Port0_Isink5: equ 35h Port0_Isink6: equ 36h Port0_Isink7: equ 37h Port1_Isink: equ 38h Port1_Isink0: equ 38h Port1_Isink1: equ 39h Port1_Isink2: equ 3Ah Port1_Isink3: equ 3Bh Ако някой може да ми помогне или да компилира кода, ще бъда ужасно благодарен! Благодаря пак, предварително! [Edit] Правопис++ [/Edit] Link to comment Share on other sites More sharing options...
Godfather Posted September 14, 2004 Share Posted September 14, 2004 Единствения компилатор, който намерих и който не иска 99$ е на http://nasm.sourceforge.net/ Проблема е, че хора запознати с Assembler твърдят, че този компилатор няма да свърши работа. Защо да не свърши работа, това е асемблер с доста добри възможности. NASM is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats including Linux a.out and ELF, COFF, Microsoft 16-bit OBJ and Win32. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports Pentium, P6, MMX, 3DNow! and SSE opcodes, and has macro capability. It includes a disassembler as well. Link to comment Share on other sites More sharing options...
Curunir Posted September 14, 2004 Author Share Posted September 14, 2004 Пробвах с NASM, ето и резултата: C:\Progs\NASM>nasmw.exe psxusb.asm psxusb.asm:179: error: parser: instruction expected psxusb.asm:219: error: symbol `FFh' not defined before use psxusb.asm:223: error: symbol `F0h' not defined before use psxusb.asm:295: error: symbol `B4h' not defined before use psxusb.asm:296: error: expression syntax error psxusb.asm:297: error: expression syntax error psxusb.asm:298: error: symbol `C3h' not defined before use ... По-нататък продължава в същия дух. Доколкото разбирам от документацията, NASM не поддържа .hex output, а в страницата с описанието на сглобяването на контролера се казва, че файла трябва да е .hex Link to comment Share on other sites More sharing options...
tedy Posted September 14, 2004 Share Posted September 14, 2004 Очевидно има грешки в изходния код, дай го целия или поне дай да видим упоменатите в грешките редове какъв формат имат. Първото което си дал като цитат са обикновени директиви за дефиниране на именовани константи, всеки асемблер би ги разбрал. Link to comment Share on other sites More sharing options...
EEK! Posted September 14, 2004 Share Posted September 14, 2004 А за какъв чип все пак ства въпрос? Защото това е компилатор за асемблер, но за Интел 80х86 процесори, т.е за компилиране на програми , написани за РС, а не за отделен чип/едночипов микрокомпютър, напр. Microchip, Motorola 68HC11, Atmel, какъвто май се използва в твоя конвертор. А освен това ще ти трябва и програматор, което може би ще ти е още по-голям проблем. Link to comment Share on other sites More sharing options...
Curunir Posted September 14, 2004 Author Share Posted September 14, 2004 Има две версии на кода, току що пробвах и втората, също не се компилира. Ето и съответните линкове: http://www.zen35383.zen.co.uk/stnield/psxusbcode/psxusb.asm - завършения код за поддръжка на PSX pad-ове http://www.zen35383.zen.co.uk/stnield/psxusbcode/wicked3.asm - завършения код за поддръжка на PSX и на N64 pad-ове. Имам познат с платен, доста скъп универсален програматор, смятам, че там проблеми няма да има. Чипът, за който трябва да се компилира тоя код е или CY7C63000A-PC (еднократно програмируем, 2к) или CY7C63001A-WC (многократно програмируем, 4к), производство на Cypress Semiconductors. Link to comment Share on other sites More sharing options...
бат Ицо Posted September 14, 2004 Share Posted September 14, 2004 Случайно да не ти е забранен достъпа до Google http://www.zen35383.zen.co.uk/stnield/usbpads.htm има всичко по въпроса ----------- няма и да ти се копилира, щото има защита срещу ламери след ;*************** interrupt vector table **************** трясни по един таб на всички редове в секцията Link to comment Share on other sites More sharing options...
Curunir Posted September 14, 2004 Author Share Posted September 14, 2004 Не виждам за какво се ядосваш. Всичко, което съм взел, съм го взел от оная страница, просто съм пуснал линковете директно към кода, а не към страницата. Ако имаше "всичко" щях да си взема компилирания файл и работата да се свърши Какво ще оправи ако сложа по един таб на редовете след ;* interrupt vector table *? Не че разбирам от Assembler, но ми зиглежда като културно форматиран и написан код... Link to comment Share on other sites More sharing options...
tedy Posted September 14, 2004 Share Posted September 14, 2004 Нищо няма да оправи. Така като го гледам тоя код, то доста несъвместимости има с асемблера за x86, ненапразно ти дава такива грешки: например IN е инструкция на процесора а в кода се използва като константа! Двоеточие не се използва след константата при нейното дефиниране. Т.е. тези неща объркват асемблера. В момента не мога да се сетя кой асемблер да ползваш който да поддържа подобен код. Ръчно да почнеш да го модифицираш е играчка. Link to comment Share on other sites More sharing options...
Curunir Posted September 14, 2004 Author Share Posted September 14, 2004 Хаха. Не е играчка, аз просто не мога. На страницата, на която е разработката за тоя конвертор се споменава, че има безплатен assembler, който компилиря тоя код - CYASM, но той изглежда е правен специално за програмиране на части на Cypress Semiconductors, и в момента не мога да го намеря. Впрегнал съм един немски компютърен вещер да ми помага, вярвам, че ако изобщо тоя CYASM се намира из интернет още, той ще го намери. Link to comment Share on other sites More sharing options...
Godfather Posted September 14, 2004 Share Posted September 14, 2004 Няма да стане. Това е асемблер за този тип Cypress микроконтролери - Cyasm. Трябва да се порови някой - най-вече из P2P - може и да излезе отнякъде, щото стария линк за сваляне на този асемблер не бачка. Мда, виждам, че и сам си стигнал до този извод Link to comment Share on other sites More sharing options...
бат Ицо Posted September 14, 2004 Share Posted September 14, 2004 Какво ще оправи ако сложа по един таб на редовете след ;* interrupt vector table *? <{POST_SNAPBACK}> Щото сега org и jmp ги възприема като лейбъли, иначе ще ги възприеме като команди. Не, че съм го компилирал, но на пръв преглед на *.asm файла се набива на очи. Мда наистина няма никой зад линка. Сорри за нервенето Link to comment Share on other sites More sharing options...
Curunir Posted September 14, 2004 Author Share Posted September 14, 2004 Ужас, братя българи! Ужасно е! Самата част, ако си я купиш, изобщо не е скъпа, 10-ина долара е. Но тъй като все още не сме в ЕВРОПЕЙСКИЯ СЪЮЗ , online магазинът иска още 20 евро за доставка. Което е малоумно. Доставките за европейския съюз са безплатни и се извършват от DHL. След като цяла България е покрита от DHL, просто не виждам защо превозът се оскъпява с 20 евро. Ама така ще е. И магазините за конзоли и компютърни компоненти не ги доставят, защото няма търсене. Днес на 4 места питах и на 4-те ме гледаха като голям камък, единия дори седна да ми обяснява как нямало изобщо такова нещо, а аз му пожелах приятен ден и си излязох още на първото му изречение. Каквото е - това е. Накрая ще се принудя да си купя някакъв ужасен, неудобен, мек Logitech joypad, произвеждан за компютър и ще си го удрям в главата. Link to comment Share on other sites More sharing options...
EEK! Posted September 15, 2004 Share Posted September 15, 2004 Хм, този асм файл ми изглежда доста подробен, защо някои които разбира от асемблер за едночипови микроРС не вземе да го преведе за някои по известен чип в БГ. Едно време се занимавах с програмиране на асемблер за Атмел 8051, ама сега нямам време и нерви вече, ако се намери някои ентусиаст може да му помогна (малко ) Link to comment Share on other sites More sharing options...
бат Ицо Posted September 15, 2004 Share Posted September 15, 2004 Хм, този асм файл ми изглежда доста подробен, защо някои които разбира от асемблер за едночипови микроРС не вземе да го преведе за някои по известен чип в БГ. Едно време се занимавах с програмиране на асемблер за Атмел 8051, ама сега нямам време и нерви вече, ако се намери някои ентусиаст може да му помогна (малко ) <{POST_SNAPBACK}> И да ти го преведа за Microchip, няма да намериш този с USB. Нещо не ги внасят. Ако Atmel-и някакви внасят с USB, пробвай се. По скоро бих го написал отново, но затова се тръгва от 1К нагоре Link to comment Share on other sites More sharing options...
Curunir Posted September 17, 2004 Author Share Posted September 17, 2004 Майната му на Assemblerа, намерих схеми за свързване на PSX joypad-а към LPT-то без допълнителни чипове и глупости. Дори няма нужда от допълнително захранване, защото няма да ползвам Dual Shock аналогов joypad. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.