flat assembler
Message board for the users of flat assembler.
Index
> Main > Option ROM loaded but no boot device added Goto page Previous 1, 2 |
Author |
|
gabiz_ro 23 Aug 2010, 19:08
USB key yes.
Writing image? How? I can write sectors using winhex or dd under linux or something else? |
|||
23 Aug 2010, 19:08 |
|
gabiz_ro 23 Aug 2010, 19:15
OK
Have a nice evening. And thanks again. |
|||
23 Aug 2010, 19:15 |
|
DJ Mauretto 24 Aug 2010, 06:31
OK let's start with a simply test to check number of Hard Disk
in Bios data area before Call to bcv and after call to bcv.. Code: OFFSET EQU ;============================================================================= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;============================================================================= ORG 7C00H JMP @Skip_BPB NOP ;====================== ; Bios Parameter Block ; Floppy ;====================== OEM DB "Test BCV" Bytes_per_sector DW 512 Sectors_per_cluster DB 1 Reserved_sectors DW 1 Number_of_FATs DB 2 Root_entries DW 224 Total_sector_count DW 2880 ; 80*2*18 Media_descriptor DB 0F0H ; Floppy Sectors_per_FAT DW 9 Sectors_per_track DW 18 Heads DW 2 Hidden_sectors DD 0 Total_sector_FAT32 DD 0 ; Total sector count for FAT32 (0 for FAT12 and FAT16) BIOS_drive DB 0 Unused DB 0 Boot_signature DB 29H ; Extended boot signature ,IF 29H next 3 fields are present Volume_ID DD 0 Volume_label DB " " File_system_type DB "FAT12 " @Skip_BPB: ;--------------- ; Set Up Stack ;--------------- CLI XOR AX,AX MOV SS,AX MOV DS,AX MOV AX,7C00H MOV SP,AX STI ;----------------- ; Set Video Mode ;----------------- MOV AX,0003H INT 10H ;-------------------------- ; Print Message 'Test BCV' ;-------------------------- MOV SI, OFFSET Hello_Mess CALL Bios_TTY ;------------------------------------- ; PRINT Number of hard disk drives ;------------------------------------- MOV DI,OFFSET HD_Ascii XOR AX,AX MOV AL,[475H] ADD AL,30H MOV [DI],AL MOV SI,OFFSET HD CALL Bios_TTY ;-------- ; BCV ;-------- MOV AX,0F000H MOV ES,AX MOV DI,0E2D0H MOV BX,-1 MOV DX,-1 MOV AX,4 CALL 0CE00H:3391H ;----------------------------------------- ; PRINT Number of hard disk drives update ;----------------------------------------- MOV DI,OFFSET HD_Ascii_2 XOR AX,AX MOV AL,[475H] ADD AL,30H MOV [DI],AL MOV SI,OFFSET HD_2 CALL Bios_TTY ;=============== ; Reboot System ;=============== Reboot: MOV SI,OFFSET RebootMess CALL Bios_TTY XOR AX,AX INT 16H MOV AX,40H MOV ES,AX MOV AX,1234H ; Warm Boot MOV [ES:72H],AX JMP 0F000H:0FFF0H ; Reboot ;============================================================================= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PROC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;============================================================================= Bios_TTY: LODSB TEST AL,AL JZ @Bios_TTY_Exit @@: MOV BX,0007H ; BH = Page Number BL = Color MOV AH,0EH ; Teletype output INT 10H ; Bios Video LODSB TEST AL,AL JNZ @B @Bios_TTY_Exit: RET ;============================================================================= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DATA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;============================================================================= Hello_Mess DB "Test BCV",13,10,0 HD DB "Number of HD before BCV: " HD_Ascii DB " ",13,10,0 HD_2 DB "Number of HD after BCV: " HD_Ascii_2 DB " ",13,10,0 RebootMess DB "Press any key to reboot system...",0 Padding RB 510-($-$$) Boot DW 0AA55H Assembly this code with fasm in this way Fasm BCV.asm this code make a file of 512 byte called BCV.bin copy with winhex in the first sector of your usb key and boot your pc with your usb plugged , of course select usb as first device to boot.. Note also that after the init code( OFFSET + 03) the Option ROM return in AX this: Code: 8 1 = IPL Device supports INT 13h Block Device format 7 1 = Output Device supports INT 10h Character Output 6 1 = Input Device supports INT 9h Character Input 5:4 00 = No IPL device attached 01 = Unknown whether or not an IPL device is attached 10 = IPL device attached (RPL devices have a connection). 11 = Reserved 3:2 00 = No Display device attached 01 = Unknown whether or not a Display device is attached 10 = Display device attached 11 = Reserved 1:0 00 = No Input device attached 01 = Unknown whether or not an Input device is attached 10 = Input device attached 11 = Reserved the bits that interest us are: Code: bit 8 1 = IPL Device supports INT 13h Block Device format bit 5:4 00 = No IPL device attached 01 = Unknown whether or not an IPL device is attached 10 = IPL device attached (RPL devices have a connection). Finally BBS spec says: 'Option ROMs with a PnP Expansion Header will not be recognized if either one of the following is true: The PnP option ROM returns zero in AX after the initialization call and it has no BEV.' Note that your PnP header has no BEV Code: PnP header Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 000CF260 00 00 00 00 00 00 00 00 00 00 00 00 24 50 6E 50 ............$PnP 000CF270 01 02 00 00 00 B5 95 10 32 31 06 00 EA 15 01 00 .....µ•.21..ê... 000CF280 00 44 91 33 00 00 00 00 00 00 00 00 24 50 6E 50 .D‘3........$PnP ;000CF282 is BCV 3391h so I guess the problem is that the option ROM chip Sil3132 does not have a BEV (Boot strap Entry Point) then is not recognized by bios We can do an additional test by a call offset + 03 Before to Call BCV to check return status: Code: ;------------ ; INIT ;------------ MOV AX,0F000H MOV ES,AX MOV DI,0E2D0H MOV AX,PFA ; PCI Bus/Device/Function CALL 0CE00H:0003H TEST AX,AX JZ @Error Note also that we can't bypass bios for this, because in the POST procedure the BIOS update some structure in NVRAM,In short if the BIOS does not recognize the device as the IPL device (Initial Program Load) there is very little to do but try to update the bios or firmware of your card Sil3132 Firmware update But we can try and see what we can do _________________ Nil Volentibus Arduum |
|||
24 Aug 2010, 06:31 |
|
gabiz_ro 24 Aug 2010, 15:15
Hello
I was out today until now. In short time I'll make your suggestions about checking number of fixed disk in BDA . I try to do similar things using my custom option ROM. With that indeed number of fixed disk in BDA was increased after calling BCV. Same card with same option ROM inside is bootable on Intel board D945GCL So I think,after initialization option ROM return required values into AX. An option ROM to be bootable must have BEV (used for network boot mostly) or BCV (used for pci card,scsi,raid etc) BEV and BCV are exclusive one with each others. If BCV exist BEV must be 0 if BEV exist BCV must be 0. Another problem coul be that after option ROM initialization BIOS write protect that area of shadow RAM where options ROM is loaded. Another thing that could be useful is that in case of BIOS detect disk resulted option ROM which is shadowed in RAM contain drive number,but in case of Dell that byte is 00 Example: D945GCL only with one hdd attached to SATA card Code: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 55 AA 24 E9 42 7A 53 49 4C 49 43 4F 4E 20 49 4D Uª$éBzSILICON IM 00000010 41 47 45 00 00 00 1C 00 40 00 6C 12 53 49 4D 47 AGE.....@.l.SIMG 00000020 0E 00 2A 00 31 00 98 C7 BC C7 37 2E 37 2E 30 33 ..*.1.˜Ç¼Ç7.7.03 00000030 00 30 37 2D 30 31 2D 32 30 30 39 00 87 DB 87 DB .07-01-2009.‡Û‡Û 00000040 50 43 49 52 95 10 32 31 00 00 18 00 00 00 04 01 PCIR•.21........ 00000050 6C 00 01 00 00 80 00 00 00 01 01 02 00 00 80 00 l....€........€. 00000060 00 00 04 01 0A 00 01 00 01 00 00 00 00 20 00 00 ............. .. D945GCL with two HDD attached ,one to mainboard one to PCI card Code: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 55 AA 24 E9 42 7A 53 49 4C 49 43 4F 4E 20 49 4D Uª$éBzSILICON IM 00000010 41 47 45 00 00 00 1C 00 40 00 6C 12 53 49 4D 47 AGE.....@.l.SIMG 00000020 0E 00 2A 00 31 00 98 C7 BC C7 37 2E 37 2E 30 33 ..*.1.˜Ç¼Ç7.7.03 00000030 00 30 37 2D 30 31 2D 32 30 30 39 00 87 DB 87 DB .07-01-2009.‡Û‡Û 00000040 50 43 49 52 95 10 32 31 00 00 18 00 00 00 04 01 PCIR•.21........ 00000050 6C 00 01 00 00 80 00 00 00 01 01 02 00 00 81 00 l....€......... 00000060 00 00 04 01 0A 00 01 00 01 00 00 00 00 20 00 00 ............. .. Obviously boot order was changed. But in case of Dell Code: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 55 AA 24 E9 42 7A 53 49 4C 49 43 4F 4E 20 49 4D Uª$éBzSILICON IM 00000010 41 47 45 00 00 00 1C 00 40 00 6C 12 53 49 4D 47 AGE.....@.l.SIMG 00000020 0E 00 2A 00 31 00 98 C7 BC C7 37 2E 37 2E 30 33 ..*.1.˜Ç¼Ç7.7.03 00000030 00 30 37 2D 30 31 2D 32 30 30 39 00 87 DB 87 DB .07-01-2009.‡Û‡Û 00000040 50 43 49 52 95 10 32 31 00 00 18 00 00 00 04 01 PCIR•.21........ 00000050 6C 00 01 00 00 80 00 00 00 00 01 02 00 00 00 00 l....€.......... 00000060 00 00 04 04 0A 00 01 00 01 00 00 00 00 20 00 00 ............. .. I can observe that in case of BIOS detected disk at offset 5Eh from begining is BIOS disk number.But in case of Dell this byte is 00h Later edit I have just tested with your boot code. Result is : Code: Test BCV Number of HD before BCV: 1 Number of HD after BCV: 2 Press any key to reboot system ... |
|||
24 Aug 2010, 15:15 |
|
DJ Mauretto 24 Aug 2010, 16:33
seems a problem of your motherboard BIOS, maybe you should update,
OK I hope that with the boot code that I put not freeze your pc... Note that we are bypassing the bios in this way,At this point the only way that comes to mind and we can boot your SATA HD via int 13h and see what happens.... Your SATA HD is bootable ? There is a operating sistem within ? We can load the first sector of your SATA HD and Jump to it... _________________ Nil Volentibus Arduum |
|||
24 Aug 2010, 16:33 |
|
gabiz_ro 24 Aug 2010, 16:46
BIOS is already latest versions and no hope from Dell to release a new one in the future.
Yes HDD is bootable. Now is FAT32 ms-dos on it used for some testing between pc's. |
|||
24 Aug 2010, 16:46 |
|
DJ Mauretto 24 Aug 2010, 17:23
OK i wrote another boot code to try load your SATA HD,
Note that I suggested in section equ 81h driver number at the beginning of the code, test with 80h, 82h and let me know... Code: OFFSET EQU Boot_Drive EQU 81H ;----------------- ; Sector 1 ;----------------- ORG 7C00H JMP @Skip_BPB NOP ;====================== ; Bios Parameter Block ; Floppy ;====================== OEM DB "Test BCV" Bytes_per_sector DW 512 Sectors_per_cluster DB 1 Reserved_sectors DW 1 Number_of_FATs DB 2 Root_entries DW 224 Total_sector_count DW 2880 ; 80*2*18 Media_descriptor DB 0F0H ; Floppy Sectors_per_FAT DW 9 Sectors_per_track DW 18 Heads DW 2 Hidden_sectors DD 0 Total_sector_FAT32 DD 0 ; Total sector count for FAT32 (0 for FAT12 and FAT16) BIOS_drive DB 0 Unused DB 0 Boot_signature DB 29H ; Extended boot signature ,IF 29H next 3 fields are present Volume_ID DD 0 Volume_label DB " " File_system_type DB "FAT12 " @Skip_BPB: ;--------------- ; Set Up Stack ;--------------- CLI XOR AX,AX MOV SS,AX MOV DS,AX MOV AX,7C00H MOV SP,AX STI ;----------------- ; Load Sectors 2 ;----------------- LES BX,[Sector_2] MOV CX,2 ; Start Load from Sector #2 MOV AX,0201H ; Read 1 Sector INT 13H ; BIOS Disk JC @Disk_Error ;------------------ ; Go to Sector 2 ;------------------ JMP 0000H:7E00H @Disk_Error: MOV SI,OFFSET DiskError LODSB TEST AL,AL JZ @Done @@: MOV BX,0007H ; BH = Page Number BL = Color MOV AH,0EH ; Teletype output INT 10H ; Bios Video LODSB TEST AL,AL JNZ @B @Done: ;=============== ; Reboot System ;=============== MOV SI,OFFSET RebootMess LODSB TEST AL,AL JZ @Done_2 @@: MOV BX,0007H ; BH = Page Number BL = Color MOV AH,0EH ; Teletype output INT 10H ; Bios Video LODSB TEST AL,AL JNZ @B @Done_2: XOR AX,AX INT 16H MOV AX,40H MOV ES,AX MOV AX,1234H ; Warm Boot MOV [ES:72H],AX JMP 0F000H:0FFF0H ; Reboot ;============================================================================= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DATA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;============================================================================= DiskError DB "Disk Read Error",13,10,0 Sector_2 DD 0000H:7E00H RebootMess DB "Press any key to reboot system...",0 Padding RB 510-($-$$) Boot DW 0AA55H ;----------------- ; Sector 2 ;----------------- ORG 7E00H ;----------------- ; Set Video Mode ;----------------- MOV AX,0003H INT 10H ;-------------------------- ; Print Message 'Test BCV' ;-------------------------- MOV SI, OFFSET Hello_Mess CALL Bios_TTY ;------------------------------------- ; PRINT Number of hard disk drives ;------------------------------------- MOV DI,OFFSET HD_Ascii XOR AX,AX MOV AL,[475H] ADD AL,30H MOV [DI],AL MOV SI,OFFSET HD CALL Bios_TTY ;-------- ; BCV ;-------- MOV AX,0F000H MOV ES,AX MOV DI,0E2D0H MOV BX,-1 MOV DX,-1 MOV AX,4 CALL 0CE00H:3391H ;----------------------------------------- ; PRINT Number of hard disk drives update ;----------------------------------------- MOV DI,OFFSET HD_Ascii_2 XOR AX,AX MOV AL,[475H] ADD AL,30H MOV [DI],AL MOV SI,OFFSET HD_2 CALL Bios_TTY ;============== ; Load Sectors ;============== LES BX,[Boot_Sector] MOV CX,1 ; Start Load from Sector #1 MOV DL,Boot_Drive MOV AX,0201H ; Read 1 Sector INT 13H ; BIOS Disk JC @Disk_Error_2 ;============== ; RUN ;============== MOV AX,0F000H MOV ES,AX MOV DI,0E2D0H MOV DL,Boot_Drive JMP 0000H:7C00H ; Run @Disk_Error_2: MOV SI,OFFSET DiskError_2 CALL Bios_TTY ;=============== ; Reboot System ;=============== Reboot: MOV SI,OFFSET RebootMess_2 CALL Bios_TTY XOR AX,AX INT 16H MOV AX,40H MOV ES,AX MOV AX,1234H ; Warm Boot MOV [ES:72H],AX JMP 0F000H:0FFF0H ; Reboot ;============================================================================= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PROC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;============================================================================= Bios_TTY: LODSB TEST AL,AL JZ @Bios_TTY_Exit @@: MOV BX,0007H ; BH = Page Number BL = Color MOV AH,0EH ; Teletype output INT 10H ; Bios Video LODSB TEST AL,AL JNZ @B @Bios_TTY_Exit: RET ;============================================================================= ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DATA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;============================================================================= Hello_Mess DB "Test BCV",13,10,0 HD DB "Number of HD before BCV: " HD_Ascii DB " ",13,10,0 HD_2 DB "Number of HD after BCV: " HD_Ascii_2 DB " ",13,10,0 Boot_Sector DD 0000H:7C00H DiskError_2 DB "Disk Read Error",13,10,0 RebootMess_2 DB "Press any key to reboot system...",0 Assembly always with fasm and put on your USB stick and boot.. _________________ Nil Volentibus Arduum |
|||
24 Aug 2010, 17:23 |
|
gabiz_ro 24 Aug 2010, 18:10
Tested with 81h 82h 80h 00h (00h I think is floppy but since option rom think or show 00 as drive number I just give a try)
Same message as before Then -with 81h 82h Disk read error Press any key to reboot system -with 80h Number of HD before BCV: 1 Number of HD before BCV: 2 Number of HD after BCV: 3 just stay here -with 00h Number of HD before BCV: 1 Number of HD before BCV: 2 ....... ....... Number of HD before BCV: 7 and so on |
|||
24 Aug 2010, 18:10 |
|
DJ Mauretto 24 Aug 2010, 18:40
I think we can do nothing is a problem with the bios of your motherboard,
the results are unique, somewhat bizarre in any case is a problem of the bios if you have any ideas let me know,the boot code was written too quickly strange that if you have an HD 80h the boot code has failed to boot from it. tomorrow i will try to write with more info, anyway if the bios don't recognize the SATA HD the only thing to do is update _________________ Nil Volentibus Arduum |
|||
24 Aug 2010, 18:40 |
|
gabiz_ro 24 Aug 2010, 18:58
OK thanks for help.
I'll try some BIOS modding or maybe coreboot in the future. I think at moment of making call to BCV BIOS already write protect area of RAM where reside option ROM so he can't reconfigure or update some info. Have a nice evening. Bye. |
|||
24 Aug 2010, 18:58 |
|
DJ Mauretto 24 Aug 2010, 19:03
Quote: I think at moment of making call to BCV BIOS already write protect area of RAM where reside option ROM so he can't reconfigure or update some info. _________________ Nil Volentibus Arduum |
|||
24 Aug 2010, 19:03 |
|
gabiz_ro 24 Aug 2010, 19:10
For me worth .
Hope in the end I have success. |
|||
24 Aug 2010, 19:10 |
|
gabiz_ro 06 Sep 2010, 23:36
I'm back with more data.
Trying to disassembly that Option ROM and I get this Code: seg000:7A48 ; --------------------------------------------------------------------------- seg000:7A48 seg000:7A48 loc_CE7A48: ; CODE XREF: seg000:0003j seg000:7A48 push ds seg000:7A49 pushf seg000:7A4A push bp seg000:7A4B mov cs:byte_CE0067, 1 seg000:7A51 cmp word ptr es:[di], 5024h seg000:7A56 jnz short loc_CE7A70 seg000:7A58 nop seg000:7A59 nop seg000:7A5A cmp word ptr es:[di+2], 506Eh seg000:7A60 jnz short loc_CE7A70 seg000:7A62 nop seg000:7A63 nop seg000:7A64 mov cs:byte_CE0058, 1 seg000:7A6A mov cs:byte_CE0068, 1 seg000:7A70 seg000:7A70 loc_CE7A70: ; CODE XREF: seg000:7A56j seg000:7A70 ; seg000:7A60j seg000:7A70 call sub_CE797D seg000:7A73 call sub_CE78FC seg000:7A76 mov ax, 0 seg000:7A79 mov ds, ax seg000:7A7B call sub_CEBE06 seg000:7A7E jb loc_CE7B1B seg000:7A82 call sub_CE9855 seg000:7A85 call sub_CEBCB5 seg000:7A88 call sub_CE4DFC seg000:7A8B jb loc_CE7B1B .............................................................. seg000:7ACA mov cs:byte_CE0058, 0 seg000:7AD0 mov al, cs:byte_CE0059 seg000:7AD4 sub al, cs:byte_CE005C seg000:7AD9 mov cs:byte_CE0059, 0 seg000:7ADF sub large ds:475h, al seg000:7AE6 cmp al, 0 seg000:7AE8 jz short loc_CE7AF2 seg000:7AEA nop seg000:7AEB nop seg000:7AEC mov cs:byte_CE005E, 0 seg000:7AF2 seg000:7AF2 loc_CE7AF2: ; CODE XREF: seg000:7AE8j seg000:7AF2 call sub_CE35C7 seg000:7AF5 mov ax, 120h seg000:7AF8 xor bp, bp seg000:7AFA pop bp seg000:7AFB popf seg000:7AFC pop ds seg000:7AFD retf I see before exiting in AX is returned required info for BIOS INT13 device and IPL attached. Also at begining is a check if BIOS pass $PnP install check in ES:DI (at ROM initialization) Interesting part is sub_CE4DFC Code: seg000:4DFC sub_CE4DFC proc near ; CODE XREF: seg000:7A88p seg000:4DFC mov al, large ds:475h seg000:4E02 add al, 80h ; 'Ç' seg000:4E04 mov cs:byte_CE005E, al seg000:4E08 cmp cs:byte_CE0066, 1 seg000:4E0E jz short loc_CE4E18 seg000:4E10 nop seg000:4E11 nop seg000:4E12 mov si, 5368h seg000:4E15 call sub_CE1FDB ......................... From that I see Option ROM read BIOS detected disks number,increase with 80h and store value in offset 5Eh from start of OROM. That is OK on Intel board since I get 80h or 81h depending of disks attached,but on Dell ... I get 00h when there must be 80h at least. Earlier you told something about PFA but I can't get any relevant info about that on net. I have found a check in one function for MPFA on sub_CE797D ,if ES:[SI] is MPFA then something like a method to calculate AX and store in cs:[bp+0Ah] if MPFA not found then store AX in cs:[bp+8] but in second case (MPFA not found) that's first occurance of AX so what's in AX? maybe BIOS need to pass some info an AX at OROM initialization.Could be that? PCI Local Bus Specification R2.0 published by the PCI SIG specifies AH=Bus number and AL=Device Function number as parameters for Option ROM initialization Another questions is what is jb functions? jump below ? if yes than depends of what? Thanks for patience reading this. |
|||
06 Sep 2010, 23:36 |
|
DJ Mauretto 08 Sep 2010, 15:41
Hello
With PFA you pass the PCI Bus/Device/function of your PCI Device in this way: Code: PFA - PCI Bus/Device/Function (PCI devices only) AX = bit 15:8 Bus Number 7:3 Dev Number 2:0 Fn Number JB = Jump if Carry, usually after a Call to a function if there is a error return the carry flag set . try updating the bios of your device only, instead of the bios of your motherboard, maybe the problem is resolved. _________________ Nil Volentibus Arduum |
|||
08 Sep 2010, 15:41 |
|
gabiz_ro 08 Sep 2010, 18:06
Hello
I use latest bios from sil support site (also tried with all versions available on support site) I'll try to pass in AX PFA but Sil bios configure and detect itself that location On Code: seg000:7AEC mov cs:byte_CE005E, 0 I hex edited sil bios and make it nop so remain value from initialization and indeed there was 80h if single HDD connected and 81 if two HDD connected (one to onboard and one to sata card) But still no positive result when calling BCV. |
|||
08 Sep 2010, 18:06 |
|
gabiz_ro 14 Sep 2010, 21:51
In the end after changing few DRAM controller chipset registers to enable read-write operation in shadow RAM area problem is almost resolved.
Still can't boot native from disks but I can get access to them Now GRUB can see and access disk and simple remap disks and boot. Thanks for help. |
|||
14 Sep 2010, 21:51 |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.