utorok, 7. novembra 2017

BK8000L change name

- unsolder flash chip on module(in my case it was FT25H04 by Fremont Micro Devices, datasheet: [1])
- connect it to programmer supported by flashrom [2]
- download flashrom source code [3]
- extract, apply patch [4], compile
- download flash content, or download dump from my github repository [5]

./flashrom --programmer serprog:dev=/dev/ttyUSB0 --read BK8000L.flash

edit with favorite hex editor:





search for asci string BK8000L, change it, save and flash:



./flashrom --programmer serprog:dev=/dev/ttyUSB0 --read BK8000L.flash
flashrom v0.9.9-r1955 on Linux 4.4.10-040410-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
serprog: Programmer name is "frser-duino"
serprog: requested mapping AT45CS1282 is incompatible: 0x1080000 bytes at 0x00000000fef80000.
Found FMD flash chip "FT25H04" (512 kB, SPI) on serprog.
===
This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash chip. Please include the flashrom log
file for all operations you tested (see the man page for details), and mention
which mainboard or programmer you tested in the subject line.
Thanks for your help!
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

 solder flashchip back on module, power it and enjoy ;)

[1] http://www.fremontmicro.com/prolist-15-1.html
[2] https://www.flashrom.org/Supported_programmers
[3] https://www.flashrom.org/Flashrom/0.9.9
[4] https://github.com/tomaskovacik/kicad-library/blob/master/library/datasheet/F-6188_BK8000L/flashrom_patch_for_FT25H04_support.patch
[5] https://github.com/tomaskovacik/kicad-library/raw/master/library/datasheet/F-6188_BK8000L/BK8000L.flash

utorok, 15. augusta 2017

Elysium station runnint 32bit os?






https://stuff.mit.edu/afs/sipb/contrib/doc/specs/ic/cpu/x86/pentium-iii/ia32-3.pdf

page: 295:


164 MOV DWORD PTR [EBX],0 ; where we can address
165 MOV DWORD PTR [EBX]+4,0
166 MOV DWORD PTR [EBX]+8, LINEAR_PROTO_LO
167 MOV DWORD PTR [EBX]+12, LINEAR_PROTO_HI
168 MOV TEMP_GDT_scratch.table_linear,EBX
169 MOV TEMP_GDT_scratch.table_lim,15
170
171 DB 66H ; execute a 32 bit LGDT
172 LGDT TEMP_GDT_scratch
173
174 ; enter protected mode
175 MOV EBX,CR0
176 OR EBX,PE_BIT
177 MOV CR0,EBX
178
179 ; clear prefetch queue
180 JMP CLEAR_LABEL
181 CLEAR_LABEL:
182
183 ; make DS and ES address 4G of linear memory
184 MOV CX,LINEAR_SEL
185 MOV DS,CX
186 MOV ES,CX
187
188 ; do board specific initialization
189 ;
190 ;
191 ; ......
192 ;
193
194
195 ; See Figure 8-5
196 ; copy EPROM GDT to ram at:
197 ; RAM_START + size (STARTUP_DATA)
198 MOV EAX,RAM_START
199 ADD EAX,OFFSET (end_data)
200 MOV EBX,RAM_START
201 MOV ECX, CS_BASE
202 ADD ECX, OFFSET (GDT_EPROM)
203 MOV ESI, [ECX].table_linear
204 MOV EDI,EAX
 205 MOVZX ECX, [ECX].table_lim
206 MOV APP_GDT_ram[EBX].table_lim,CX 
207 INC ECX
208 MOV EDX,EAX
209 MOV APP_GDT_ram[EBX].table_linear,EAX
210 ADD EAX,ECX
211 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]