Wednesday, December 12, 2007

Installing Windows XP Pro on Gateway ML6230

How to install windows XP on Gateway ML6230

Gateway ML6230 is a entry level laptop that ships with MS Windows Vista Home Basic. Being an entry level notebook hardware, Windows Vista uses up most of the system resources so with the shipped software the whole notebook crawls. Installing XP on the same hardware eases the heavy use of resources.

To install windows XP on the laptop you would need the hardware and software ingredients which are summarized below.

Ingredients:

USB Floppy Drive. I tested with Memorex (part# 3202 3239)

The following drivers had to be downloaded from the respective URLs. It took me some time to find out the authentic URLs fro the drivers instead of just downloading
ICH7 / SATA Controller Driver
Windows XP SP2
Wired Network Interface Driver
Chipset INF Update
Video Drivers

0. Prepare the ICH7 Driver floppy
1. Install Windows XP using the ICH7 Driver Disk
2. Install XP Service Pack2
3. Install Chipset INF Update
4. Install Video Driver
5. Install wired LAN driver
6. Install Wireless LAN driver - Dbl click on the Marvell EXE file
7. Install Media card reader from c:\cabs\D20003-003-001. Double click on setup
8. Install Audio driver from c:\cabs\D00758-001-001. Double click on setup
9. Install Modem driver from c:\cabs\D00624-001-001. Double click on setup
10. Start windows update.


A note about step #1:
To install windows XP with the ICH7 driver, boot with XP CD. When prompted to specify additional driver press F6. When you use the F6 floppy and specifiy a new device when installing, you only see the following:

"Intel(R) 82801HR/HH/HO SATA RAID Controller (Desktop ICH8R)"
"Intel(R) 82801HR/HH/HO SATA AHCI Controller (Desktop ICH8R)"
"Intel(R) 631xESB/632xESB SATA RAID Controller (Server/Workstation ESB2)"
"Intel(R) 631xESB/632xESB SATA AHCI Controller (Server/Workstation ESB2)"

None of them will work.

Use arrow keys to scroll down the list and find this one:

"Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M/DH)"

This one *will* work.

To find this I did some digging and booted with Knoppix CD. Dmesg told that the controller is ICH7 not ICH8. Later I opened the driver inf and txtsetup.oem files provided and they had 11 drivers on the list. I booted with xp again and used the driver file (F6) from the usb floppy.

Sunday, August 19, 2007

Reliving youth

When I was young I used to play Super Mario Bros. on my NES. Recently, I downloaded the emulator "NESTOPIA" on my windows laptop (Ubuntu Linux laptop has zsnes) and started with the Super Mario Bros ROM file. I still own the old Super Mario Bros NES cartridge. It seems that there is a lot that can be squeezed in a 27C256! I had opened some of the game cartridges to find that all of them were custom masked ROMs. Most of them had UMC logo. The original NES was based on MosTek 6502 core produced by Ricoh for Nintendo.

After a long time, I was glad to see the favorite welcome screen showing "Super Mario Bros" :-)

Wednesday, June 14, 2006

Tiny11 iPod Remote Control


After getting an iPod Nano recently, I was thinking about ideas for add-on. Looks like an IR remote control can be easily designed along ATTiny11-6PC and a few discrete components.

iPod uses a protocol "Apple Accessory Protocol" to control iPod. The protocol is standard 19200 baud N81. The shortform protocol specification is here.
Another place to look at the protocol is ipodlinux.org

On the receiver side, AVR410 can be used to decode RC5 IR protocol. Any RC5 compatible remote control can be used.

Overall, the Tiny11 will receive commands from the RC5 IR remote and translate the command into the Apple Accessory Protocol commands (below) 









ButtonString
Play/Pause 0xFF 0x55 0x03 0x02 0x00 0x01 0xFA
Vol+ 0xFF 0x55 0x03 0x02 0x00 0x02 0xF9
Vol- 0xFF 0x55 0x03 0x02 0x00 0x04 0xF7
Skip >> 0xFF 0x55 0x03 0x02 0x00 0x08 0xF3
<< Skip 0xFF 0x55 0x03 0x02 0x00 0x10 0xEB
End Button 0xFF 0x55 0x03 0x02 0x00 0x00 0xFB


I have used AVR410 and AVR305 seperately in the past and have achieved good results. Tiny11 iPod remote firmware is just a matter of combining the two along with a lookup table.

If I get time (hopefully), I'll try to work on this idea :-)

Thursday, January 12, 2006

CVS for code development


Yesterday I configured GNU CVS (Concurrent Versions System) for my PIC and AVR code development. I had the code all over the places including usb memory sticks and was loosing control over the versions. CVS made life a lot easier and now I could easily manage the code.

The CVS server runs Ubuntu Linux, on the client side I use gCVS (linux) and TortoiseCVS (windows) GUIs. The clients are configured to use ssh to communicate with the server.

Torotise CVS
gCVS

Sunday, November 13, 2005

Driving a VFD

VFD FIP8A5RLately I found a VFD tube in my junk box and thought of driving it. Soon realized that it is not as easy as driving an LED display. I have a couple of FIP8A5R VFD tubes manufactured by NEC. The advantage of VFDs over LED display or an LCD display is their unique blueish-green brightness. Each segment of a VFD glows bluish-green and looks great. It does not suffer from the viewing angle problems like LCDs do. The newer superbright LED displays are trying hard to reach to the coolness level of VFDs.

To drive a VFD one would need three inputs:
  • Filament voltage
  • Grid drive
  • Segment drive


I knew that the VFDs operate on the same principle as the vacuum tubes. The filament would warm up and "boil" electrons off of it (cathode). The electrons would be attracted by the anode (segments in this case). To reduce the number of pins on the display, grids are deployed. Grids would allow or disallow the electrons to flow thus controlling digts in multiplexed architecture.

I connected a 3V battery on the filament and it started to glow. Later I connected the G1 (grid of display1) and a segment to positive terminal of the battery. A segment on the display 1 should have lit but it didn't. :-(

I asked for help on Piclist and John DeGood responded with some information on driving them. John reminded that the VFDs operate like a triode tube so I used a different approach like this...

How tubes work

Later, I was able to light up a couple of segments using two batteries. I connected a 3v battery to the filament and connected another 9v battery with positive terminal on the grid and the segment and the negative terminal on the filament where negative terminal of 3v battery was connected.

I didn't connect the filament's positive terminal to the battery
directly, instead I connected the wire momentarily to the filament. I
noticed that when I completed the circuit to the filament, it would
glow dim but once I interrupt the circuit the segment would glow
bright to dim and turn off (like a capacitor). So I need to oscillate
the filament as John suggested.

Prashant from Silicon Junction also shared his experience as he did a similar project that is on his website.