Re: Booting from HDD
"Ray St. Marie" <[email protected]> Sat, 15 Mar 2008 17:27:17 -0600
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Mar 15, 2008 at 5:25 PM, Ray St. Marie <[email protected]> wrote: > > On Sat, Mar 15, 2008 at 3:37 PM, Nick Maroudas > <[email protected]> wrote: > > Dear John, > > > > Thanks for setting me right re P9492. I was way off. > > Might I ask you kindly, as the author of that version, > > also to set me right on what instruction or opcode > > stands at 0x92 bytes into the bootloader? By my crude > > reckoning (based on Tim's NASM cmcolor.list.txt) if > > "org7c00" is 0x00 then 0x92 has already set up the > > video mode (presumably AGP) copied all the blocks > > (presumably not via floppy :) and stands at > > "relocate:". Is this anywhere near your mark? > > > > Caritas, > > > > NickM > > > > > > Quoting John Comeau <[email protected]>: > > > > >... " P9492: 'P' is protected mode, 9492 is the last > > > > >... " hex address just past > > >... " which one of the debugging calls was executed. > > >... " If I remember right, > > >... " that version starts at 0x9400, so it's only 0x92 > > >... " bytes into the > > >... " bootloader. > > >... " > > >... " On Sat, Mar 15, 2008 at 4:59 AM, Jason Kemp > > >... " <[email protected]> wrote: > > >... " > Dear Nick, > > >... " > > > >... " > Sorry, I sent this yesterday but it's been > > >... " bounced back. > > >... " > > > >... " > It doesn't boot from a flash drive. > > >... " > > > >... " > The board has a Phoenix BIOS and it > > >... " identifies a USB flash drive in the > > >... " > BIOS setup as "USB-HDD0" so I assume it is > > >... " emulating a hard disk--in > > >... " > fact I had the same flash drive running > > >... " FreeDOS before (so I could run > > >... " > Pygmy) and DOS saw it as the C: drive. So if > > >... " it's emulating a HDD then > > >... " > I expect that is why colorForth Won't boot > > >... " fully--it displays "P9492" in > > >... " > the top right though, which I assume is from > > >... " the progress routine in > > >... " > boot.asm. Lots of guessing and assuming at > > >... " the mo! > > >... " > > > >... " > Just a brief Google of USB Flash booting and > > >... " it appears that in some AMI > > >... " > BIOSes give a forced FDD emulation option. > > >... " > > > >... " > Jason > > >... " > > > >... " > Nick Maroudas said the following on > > >... " 14/03/2008 20:36: > > >... " > > > >... " > > > >... " > > Dear Jason, > > >... " > > > > >... " > > Looking forward to more from you and John > > >... " Comeau, on how > > >... " > > to boot (and save?) with his iso on your > > >... " flash drive. > > >... " > > > > >... " > > Re your not finding a version that works on > > >... " a 3GHz P4, > > >... " > > I > > >... " > > have the same experience with 3.3 GHz PD on > > >... " Intel945 > > >... " > > board. None of the following booted > > >... " properly - not > > >... " > > John's CD of CFDOS4, nor floppies with > > >... " Chuck's CF01, > > >... " > > nor the Neitz/StMarie CF01, nor Josh's CF05 > > >... " and a > > >... " > > related CF05 from Ray - though every one of > > >... " these ran > > >... " > > reliably on my 0.55 GHz P4/ASUS P2. However > > >... " (to my > > >... " > > relief!) Howerd Oakford's CFDOS4 (from > > >... " Howerd's > > >... " > > website) > > >... " > > runs on both the old and the new machine. > > >... " > > > > >... " > > http://www.inventio.co.uk/ > > >... " > > > > >... " > > Scratching around for a possible reason, I > > >... " found JC's > > >... " > > meticulous comparison View of > > >... " > > /colorforth/boot_asm_list.txt on > > >... " SourceForge.net. > > >... " > > According to my understanding of John's > > >... " list, number 11 > > >... " > > is the only one for sure that "has VESA > > >... " code instead of > > >... " > > AGP" - VESA/VBE being the new standard for > > >... " graphics > > >... " > > software of course. > > >... " > > JC lists number 11 as > > >... " "/usr/src/howerd/VESA/boot.asm" > > >... " > > but no. 10 is also by Howerd > > >... " > > "/usr/src/howerd/Quartus/BOOT.ASM # same as > > >... " Kris > > >... " > > Johnson's" > > >... " > > so I am not sure which boot.asm is used to > > >... " boot Howerd's > > >... " > > floppy, and which one is used to boot > > >... " John's CD (and > > >... " > > your USB flash drive). But if VESA code > > >... " does indeed > > >... " > > turn out to be crucial for some newer > > >... " machines, then I > > >... " > > shall owe it to JC's method for spotting > > >... " the difference > > >... " > > :-) > > >... " > > > > >... " > > Caritas, > > >... " > > > > >... " > > NickM > > >... " > > > > >... " > > > > >... " > > Quoting Jason Kemp > > >... " <[email protected]>: > > >... " > > > > >... " > > > > >... " > >> ... " It's fine on the Jetway > > >... " > >> ... " It doesn't work on my old Gateway > > >... " SOLO2150 which > > >... " > >> ... " runs the original CF01 > > >... " > >> ... " and Josh Grams's CF05 > > >... " > >> ... " So far nothing runs on my Asrock > > >... " P4i64G 3GHz P4; > > >... " > >> ... " anyway, I will try it again and pay > > >... " more > > >... " > >> ... " attention if you wish. > > >... " > >> ... " > > >... " > >> ... " I will try booting from a flash > > >... " drive later on > > >... " > >> ... " the Jetway too. > > >... " > >> ... " > > >... " > >> ... " Jason > > >... " > >> ... " > > >... " > >> > > >... " > > > > >... " > > > > >... " > > --------------------------------------------------------------------- > > >... " > > To unsubscribe, e-mail: > > >... " [email protected] > > >... " > > For additional commands, e-mail: > > >... " [email protected] > > >... " > > Main web page - http://www.colorforth.com > > >... " > > > > >... " > > > > >... " > > > > >... " > > > > >... " > > > >... " > > > >... " > > > >... " > > --------------------------------------------------------------------- > > >... " > To unsubscribe, e-mail: > > >... " [email protected] > > >... " > For additional commands, e-mail: > > >... " [email protected] > > >... " > Main web page - http://www.colorforth.com > > >... " > > > >... " > > > >... " > > >... " > > >... " > > >... " -- > > >... " John Comeau <[email protected]> > > >... " http://jc.unternet.net/ > > >... " "A place for everything, and everything > > >... " all over the place" > > >... " > > >... " > > --------------------------------------------------------------------- > > >... " To unsubscribe, e-mail: > > >... " [email protected] > > >... " For additional commands, e-mail: > > >... " [email protected] > > >... " Main web page - http://www.colorforth.com > > >... " > > > > > > -- > > Dr Nicolas George Maroudas > > Avigdor Meiri 9/1 > > Sea View > > Haifa 3 55 00 > > Israel > > Tel +972 048 337 315 > > > > **************************** > > > > No trees were killed in the sending of this message. > > However, a large number of electrons were terribly > > inconvenienced > > > > **** > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > Main web page - http://www.colorforth.com > > > > > > Hi Nick, All! > > Far as I can tell from my listing of Terry's 800x600 version of > Chuck's 01 with Terry's floppy strobe, where I returned all of the > margins and fonts and video mode to 4117 ( 1024x768 5:6:5 color with > linear frame buffer bit set) ... > > 0x92h is were the jump instruction 0xeah is inserted in the relocate > code and is the jump to protected mode, far as I can tell. > > -- > Raymond St. Marie ii, > colorforthray.info > Microsoft (R) Macro Assembler Version 6.14.8444 10/12/07 23:04:39 color.asm Page 1 - 1 ;colorForth, 2001 Jul 22, Chuck Moore, Public Domain ;modified 8/06/01 for 800x600 operation Terry Loveall, [email protected] ;modified ras20040728 returned to 1024x768 operation for the pentium 4 ;by Ray St. Marie [email protected] .MODEL tiny .486p 00000000 only SEGMENT USE32 ASSUME DS:only next MACRO adr dec ECX jnz adr ENDM DUP_ MACRO lea ESI, [ESI-4] mov [ESI], EAX ENDM DROP MACRO lodsd ENDM ;;hp equ 800 ;;vp equ 600 ;;vesa equ 114h = 00000400 hp equ 1024 = 00000300 vp equ 768 = 00004117 vesa equ 4117h ; 117h but with LinearFrameBuffer Bit on = 00025C00 buffer equ 604*256 include boot.asm ; boot boot0 hard C ; Floppy boot segment C C org 0 ; actually 7c00 00000000 EB 56 C start: jmp start0 00000002 90 C nop C 00000003 63 6D 63 66 20 C db 'cmcf 1.0' 31 2E 30 0000000B 0200 C dw 512 ; bytes/sector 0000000D 01 C db 1 ; sector/cluster 0000000E 0001 C dw 1 ; sector reserved 00000010 02 C db 2 ; FATs 00000011 00E0 C dw 16*14 ; root directory entries 00000013 0B40 C dw 80*2*18 ; sectors 00000015 F0 C db 0F0h ; media 00000016 0009 C dw 9 ; sectors/FAT 00000018 0012 C dw 18 ; sectors/track 0000001A 0002 C dw 2 ; heads 0000001C 00000000 C dd 0 ; hidden sectors 00000020 00000B40 C dd 80*2*18 ; sectors again 00000024 00 C db 0 ; drive C ; db 0 C ; db 29h ; signature C ; dd 44444444h ; serial C ; db 'COLOR FORTH' ; label C ; db ' ' C 00000025 00 C command db 0 00000026 00 C db 0 ; head, drive 00000027 00 C cylinder db 0 00000028 00 C db 0 ; head 00000029 01 C db 1 ; sector 0000002A 02 C db 2 ; 512 bytes/sector 0000002B 12 C db 18 ; sectors/track 0000002C 1B C db 1bh ; gap 0000002D FF C db 0ffh C ALIGN 4 00000030 00000012 C nc dd 18 ; Forth+Icons+blocks 24-161 00000034 0017 C gdt dw 17h 00000036 00000040 R C dd offset gdt0 C ALIGN 8 00000040 0000 0000 0000 C gdt0 dw 0, 0, 0, 0 0000 00000048 FFFF 0000 9A00 C dw 0FFFFh, 0, 9A00h, 0CFh ; code 00CF 00000050 FFFF 0000 9200 C dw 0FFFFh, 0, 9200h, 0CFh ; data 00CF C C ; Code is compiled in Protected 32-bit mode. C ; Hence org $-2 to fix 16-bit words C ; and 4 hand-assembled instructions. C ; and EAX and AX exchanged C ; This code is in Real 16-bit mode C 00000058 B8 00004F02 C start0: mov EAX, 4F02h ; Video mode C org $-2 0000005B BB 00004117 C mov EBX, vesa ; hp*vp rgb: 565 C org $-2 0000005E CD 10 C int 10h 00000060 FA C cli 00000061 66| 33 C0 C xor AX, AX ; Move code to 0 00000064 66| 8B D8 C mov BX, AX 00000067 8C CB C mov EBX, CS 00000069 8E DB C mov DS, EBX 0000006B 8E C0 C mov ES, EAX 0000006D 66| 8B F8 C mov DI, AX 00000070 66| 8B F0 C mov SI, AX 00000073 E8 00000000 C call $+5 ; Where are we? IP+4*CS C org $-2 00000076 5E C loc: pop ESI 00000077 81 EE 00000076 C sub ESI, offset loc-offset start C org $-2 0000007B B9 00000080 C mov ECX, 512/4 C org $-2 0000007E F3/ 66| A5 C rep movsw C ; jmp 0:relocate 00000081 EA C db 0eah 00000082 0086 0000 C dw offset relocate-offset start, 0 C 00000086 C relocate: ; This code is executed from 0 00000086 8E D8 C mov DS, EAX C ; lgdt fword ptr gdt 00000088 0F 01 16 C db 0fh, 1, 16h 0000008B 0034 C dw offset gdt-offset start 0000008D B0 01 C mov AL, 1 0000008F 0F 22 C0 C mov CR0, EAX C ; jmp 8:protected 00000092 EA C db 0eah 00000093 0097 0008 C dw offset protected-offset start, 8 C 00000097 C protected: ; Now in Protected 32-bit mode 00000097 B0 10 C mov AL, 10h 00000099 8E D8 C mov DS, EAX 0000009B 8E C0 C mov ES, EAX 0000009D 8E D0 C mov SS, EAX 0000009F BC 000A0000 C mov ESP, Gods 000000A4 33 C9 C xor ECX, ECX C -- Raymond St. Marie ii, colorforthray.info