16P by xguru 2023-07-12 | favorite | 댓글 11개
  • 90년대 개발자들이 어떻게 환경을 꾸미고 개발했는지 경험해 보기
  • 386 에뮬레이터인 86Box에 Windows 95를 설치하고 MSVC로 헬로월드 컴파일 하는것 까지

하드웨어 스펙 잡기

  • AMD Am486DX4(100Mhz, PGA 168소켓) (칩 위에 Designed for Windows 95라고 인쇄되어 있음)
  • ASUS PVI-486SPX3C(SiS 496 노스브리지, 497 사우스브리지 칩셋). 듀얼채널 IDE, 1 플로피, 3 PCI, 4 ISA(1개가 VLB), 패러럴 포트1, 시리얼 포트2, PS/2 포트 하나
  • EDO-RAM 16MB
  • 2.88MB 플로피 디스크 컨트롤러
  • 2GB 디스크 드라이브
  • Zip 드라이브와 CD-ROM (둘다 SCSI 인터페이스 사용)
  • 그래픽 카드는 VLB 슬롯에 S3 Vision964. 별도 가속기 없이 MPEG-1 을 디코딩 가능
  • 사운드 카드는 Sound Blaster 16(ISA 슬롯)
  • SCSI 는 BusLogic PCI BT-958D 카드에 Zip 드라이브와 CD-ROM 드라이브 연결

OS 와 설치 소프트웨어들

  • 전제 조건: Microsoft DOS 6.22
    • 대부분의 마더보드는 CD에서 부팅이 되지 않음. SCSI는 말할 것 없고
    • 그래서 Windows 98가 달리 Windows 95를 설치하려면 Microsoft DOS 6.22가 필요함
    • 플로피 디스크로 부팅해야 하는데, 드보락 자판을 위해서 DVORAK.SYS 를 AUTOEXEC.BAT에 넣어서 자동 로딩해야함
    • SCSI에 붙은 CDROM을 쓰려면 BusLogic의 드라이버와 Microsoft 의 MSCDEX가 필요함
      • CONFIG.SYS에 btdosm.sys, btcdrom.sys 를 로딩하고
      • mscdex.exe 로 CDROM을 D에 마운트
  • Windows 95 OSR 2.5 설치
    • CD를 넣고 D드라이브에서 SETUP 실행해 윈도우 설치 마법사 시작
  • 개발도구
    • Visual Studio Enterprise 97 디스크에서 Visual C++ 설치
    • 설치 화면중에 COM(Component Object Model)을 지원하는 컴파일러라고 홍보문구가 나옴
    • 개발 문서가 필요하다면 MSDN CD를 구해서 설치하는 것도 좋음. (이번엔 간단한것 개발할것이라 필요없음)

코딩

  • Microsoft Developer Studio 에서 "Win32 Application"을 선택한 뒤 "Empty Project"로 생성
  • Main.cpp 만들고 'WinMain' 함수 작성
  • 첫번째 Windows API인 MessageBox 호출해서 'Hello, World' 보이기

결론

  • Windows 95는 Microsoft가 만든 첫번째 풀 32Bit Windows
  • 기존 세대 윈도우와 차별화해서 32비트 개발을 도입(기존엔 Windows NT에서만 가능했음)
  • Windows 에서 C/C++로 코딩하는 것은 콘솔기반 C/C++ 어플리케이션 개발과 달랐음

다른건 익숙한데, 2.88MB FDD는 정말 처음이네요;;;ㅎ

저도 3.5" HD - 1.44MB는 익숙한데 2.88은 생소해서 찾아보니,
HD가 아니라 ED라고 붙은 제품이 이 나온적이 있었는데 사실상 실패해서 보기는 힘들었을거라고 하네요.
http://209.68.14.80/ref/fdd/formatKB2880-c.html
아마 저자가 그 당시 기억이 정확하지 않아서 찾아서 조합하다 보니 저걸 언급하게 된게 아닐런지..

그렇군요. 제 경험상, 3.5" FDD는 너무나 데이터가 잘깨졌어요. (5.25" FDD에 비해서)... 2.88MB 였으면 훨씬더 잘 깨졌을것 같네요;;;

뭔 얘긴지 하나도 모르겠지만, 일단 국민학교 동창들한테 보내줬습니다 ㅋㅋㅋ

역사 박물관에 온 것 같아요... 전부 하나도 모르겠네요

추억돗네요. 저거보다 전에 프로그래밍 시작한건 비밀

ZIP드라이브에 SCSI 인터페이스는 호사죠;
전 병렬포트에 연결해서 사용했는데. Console 기반으로 개발하다가 Win용 VC++ 사용하면서 개념이 낯설었던 기억이 있네요. 하긴 비주얼베이직도 어마어마한 충격으로 다가왔었는데 말이죠. BC++ 참 좋은 IDE였는데..VC에 밀려서 ㅠㅠ

위에 설명없이 적힌 "윈도우 95 OSR 2.5"

OSR은 OEM Service Releases (OSR) 인데요.

버전번호가 왜 이러냐면, 윈도우 95 첫 버전은 95년도에 판매용 패키지(박스에 비닐 쌓여져있는)것으로만 출시가 되었습니다. 그리고 그 다음 업그레이드 버전들은 OEM 업체들한테만 별도로 제공되었습니다. 그래서 OSR 1 / OSR 2 / OSR 2.1 / OSR 2.5 까지 나왔는데요.

OSR 2.5는 97년 11월에 나온 윈도우95의 최종 버전으로, 여기에 인터넷 익스플로러 4.0이 탑재 되어있습니다. 첫버전인 윈도우95 리테일 버전에는 IE가 없었고, OEM 버전에만 IE 1.0이 탑재, OSR1에는 IE 2.0, OSR2 에는 IE 3.0 이 들어가 있었습니다.

저 이거 다 쓰던건데.. 개발 경력 15년 이상이 아닌 사람들은 잘 모르겠구나 싶네요.
이게 뭐라고 향수가 느껴지지..

다 알면 아재인증 인가요? ㅎㅎ

"모래요정 바람돌이"의 '추억방울' 하나를 터뜨린 느낌입니다.
감성충만이네요~