Sida 1 av 1
splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 03:25:00
av Glenn
Jag har en epromimage som jag skulle behöva splitta i två. det är big endian och 16bit i varje eprom, så alltså
varje longword (32bit) ska splittas i två words (16bit), ett högt och ett lågt.
Jag äe HELT säker på att jag hade ett dosprogram som gjorde detta när jag jobbade på förra jobbet och var ansvarig
för just epromuppdateringar till maskiner, men vad hette det ? ingen aning, dessutom vore det ju nice om man kunde
ha nåt modernare som går att köra i linux eller åtminstonde i modern 64bit windows.
Googlar man så tycker folk man ska köra med en komersiell hexeditor för widnows, men det känns ju lite overkill
när man bara vill splitta den.
Nån som har nåt tips ?
Re: splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 07:58:12
av bit96
Tja, mina gamla DOS-program till ALL-programmerarna heter SPLIT2, SPLIT216, SPLIT3 och SPLIT4 m.m.
Re: splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 08:07:05
av ajje
http://srecord.sourceforge.net/man/man1 ... mples.html
srec_cat firmware.hex −split 4 0 −o firmware.high.hex
srec_cat firmware.hex −split 4 3 −o firmware.low.hex
Något sådant där borde funka utan att jag lusläst manualsidan.
Re: splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 22:24:34
av Glenn
bit96: Jag hade en HiLo All11 med DOS-programvara där så det kan mycket väl ha varit det, dock drog jag ner ett paket med mjukvara för All11 nu och där hittade jag inget matnyttigt :/
ajje: Aha, ja det verkar vara ett mycket kompetent program, om än lite tillkrånglat, men det ska testas, det verkar ju fixa biffen

..Dessutom fanns det ju i min favoritlinux standardrepo också, med beskrivningen "EPROM image manipulator", det borde jag nästan ha hitatt själv kan man tycka.
Re: splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 22:53:45
av Gizmo
Nu undrar alla vi nyfikna vad det hela till sist ska sitta i för maskin? Multicart till C64?
Re: splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 23:55:04
av sc3
Jag vill minnas att jag använde mig av linux kommandot 'split' när jag gjorde någon liknande övning för länge sedan. Det nedan borde generera två filer med 2byte i varje, 'filea' och 'fileb'
Re: splitta epromfil i hi/lo för två rom ?
Postat: 25 mars 2015, 23:57:57
av adent
Eftersom jag bor i #amigaswe med Glenn så vet jag att det nog ska vara till en Amiga.
Re: splitta epromfil i hi/lo för två rom ?
Postat: 26 mars 2015, 01:29:24
av Glenn
Visst är det en Amiga, nyare Amigor har ju två kickrom, hi/lo.
Dock lyckas jag inte få srec att funka..
Kod: Markera allt
[glenn@leia kickrom]$ srec_info ./diag.rom
Format: Motorola S-Record
srec_info: ./diag.rom: 1: warning: ignoring garbage lines
srec_info: ./diag.rom: 77: hexadecimal digit expected
[glenn@leia kickrom]$ srec_cat ./diag.rom -split 4 0 2 -o ./diag_high.rom
srec_cat: ./diag.rom: 1: warning: ignoring garbage lines
srec_cat: ./diag.rom: 77: hexadecimal digit expected
[glenn@leia kickrom]$ ls diag*
diag.rom
[glenn@leia kickrom]$
Den gillar inte min infil helt enkelt, och därmed splittar den ingenting.
Testade med ett par andra filer också, funkade inte heller, blev samma fel där.
Kod: Markera allt
[glenn@leia jiffy]$ srec_info ./JiffyDOS_C64_glennpatch_swedish.bin
Format: Motorola S-Record
srec_info: JiffyDOS_C64_glennpatch_swedish.bin: 1: warning: ignoring garbage lines
srec_info: JiffyDOS_C64_glennpatch_swedish.bin: 32: file contains no data
[glenn@leia jiffy]$ srec_cat ./JiffyDOS_C64_glennpatch_swedish.bin -split 4 0 2 -o ./jiffytest.bin
srec_cat: JiffyDOS_C64_glennpatch_swedish.bin: 1: warning: ignoring garbage lines
srec_cat: JiffyDOS_C64_glennpatch_swedish.bin: 32: file contains no data
[glenn@leia jiffy]$ ls -Fla jiffy*
ls: cannot access jiffy*: No such file or directory
[glenn@leia jiffy]$
Denna filen funkar ju kanon när jag bränner in den i ett eprom och monterar i en C64.
Antar att problemet kan vara att jag måste tala om för srec vad informatet är mer exakt ? ..ska forska vidare, men kanske inte vid denna tidpunkten..
sc3: Hmm, ska kolla om det kan vara så enkelt..
Re: splitta epromfil i hi/lo för två rom ?
Postat: 26 mars 2015, 08:16:02
av TomasL
Filen är väl i troligen intel hex format, dvs en textfil med en minnesadress per rad. det går inte bara att dela den, utan filerna måste genereras i enlighet med intel-hex formatetet.
http://en.wikipedia.org/wiki/Intel_HEX
Re: splitta epromfil i hi/lo för två rom ?
Postat: 26 mars 2015, 08:41:16
av xxargs
s-record är motorola-format och skiljer sig lite från intel-hex, men inget avancerat som inte skulle kunna byggas om med en lite C-snurra om inte något färdigt program går att hitta. Det mest komplicerade är nog att kolla hur checksumman byggs i slutet på varje rad
glen: kollat alla flaggor? - ditt konverteringspaket kanske äter intel-hex och omvandla till srec och därefter få köra split på srec ett varv senare.
Re: splitta epromfil i hi/lo för två rom ?
Postat: 26 mars 2015, 09:09:12
av lillahuset
Trivialt problem som lämpligen löses med en liten snutt C.
Re: splitta epromfil i hi/lo för två rom ?
Postat: 26 mars 2015, 14:57:18
av gkar
Finns det någon anledning att inte köra detta på din Amiga?!

Nej, detta är ett trivialt problem som lättast löser sig med en snutt assembler på Glenns favoritmaskin.
lea indata,a0
lea indata_end,a3
lea uth,a1
lea utl,a2
.lp:
move.w (a0)+,(a1)+
move.w (a0)+,(a2)+
cmp.l a0,a3
ble.s .lp
rts
indata:
incbin "indatafil.bin"
indata_end:
uth:
blk.w 200000
utl:
blk.w 200000
Sedan sparar du bara ut buffertarna uth & utl till disk.
Säkert någon bugg någonstans...
Re: splitta epromfil i hi/lo för två rom ?
Postat: 30 mars 2015, 03:14:15
av Glenn
Nu har jag löst problemet (tror jag), det fanns en inbyggd funktion i All-11 windowsmjukvaran som kunde splitta filen i byte/word/lword.
Dessutom fick det till följd att jag äntligen sparkade igång min ALL-LAB, så nu har jag två[1] fungerande eprombrännare av olika fabrikat kopplade till labbdatorn

..med riktig tur kan man köra det där i wine också så slipper jag boota om till windows.
hilomjukvaran identifierade f.ö filen i fråga som "binary" och kunde konvertera den till hex i antingen intel eller motorolaformat.
En annan lustig sak är att det inte gick att bränna filerna (odd/even) med BP-brännaren, först så gnölade den på att mina AMD 27C400-EPROM hade fel device-ID, och när man valde att den skulle byta till det som device-ID'n sa så trodde den att det var marconix 27C4100 (som ju är deras motsvarighet), mycket märkligt.. valde först att forcera AMD, då failade det efter typ 60%.. då tog jag nästa eprom och valde marconix, då failade det med, efter 100% (vid verify ?) då tittade jag nogrannare och såg att den autodetectat "little endian", vilket ju inte motorola kör med, så jag bytte till big endian, och testade igen på mitt sista eprom, och då funkade det faktiskt, eller ja, den failade inte iaf.
Blankar epromen nu så ska jag testa igen i morgon, och även testa att bränna med hilon.
Fuinkar det föredrar jag nog egentligen hilon, MEN, jag måste isåfall ha kvar min BP, efterssom hilon bara har en DIL40-topp, vilket iofs funkar till 27C400, men inte till 27C800 som är 42p, BP'n har däremot en DIL48-topp som borde räcka till allt.. den har dessutom en jäkligt nice PLCC-topp med nollkraftsockel.
[1] Det är då två testade och fungerande, två otestade och en inkomplett (Hilo som saknar ISA-kortet), plus en kinesisk USB-kopplad sak där mjukvaran upphörde att fungera efter SP2 i XP.. kanske skulle testa den i W7..