Enterprise Forever  |  Enterprise fórum  |  Enterprise fórum  |  Programozás  |  Topic: EP-s FDISK fejlesztése
Author Topic: EP-s FDISK fejlesztése  (Read 10439 times)« previous next »
Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« on: 2006.May.16. 00:37:25 »

Code:

  100 PROGRAM "FDISK.BAS"
  110 REM version 0.0
  120 CLEAR SCREEN
  130 EXT "ideread 41,0000,0,00000000,01"
  140 PRINT "BOOT TYPE","  START   SIZE"
  150 FOR I=1 TO 4
  160   CALL INFO(I)
  170 NEXT
  180 END
  190 DEF INFO(SORSZAM)
  200   LET MUTATO=446+(SORSZAM-1)*16
  210   LET AKTIV=SPEEK(65,MUTATO)
  220   LET TIPUS=SPEEK(65,MUTATO+4)
  230   LET KEZDET=SPEEK(65,MUTATO+8)+SPEEK(65,MUTATO+9)*256+SPEEK(65,MUTATO+10)*256*256+SPEEK(65,MUTATO+11)*256*256*256
  240   LET MERET=SPEEK(65,MUTATO+12)+SPEEK(65,MUTATO+13)*256+SPEEK(65,MUTATO+14)*256*256+SPEEK(65,MUTATO+15)*256*256*256
  250   IF AKTIV=0 THEN
  260     PRINT " NO  ";
  270   ELSE
  280     PRINT " YES ";
  290   END IF
  300   SELECT CASE TIPUS
  310   CASE 0
  320     PRINT "Undefinied",
  330   CASE 1
  340     PRINT "FAT-12",
  350   CASE 4
  360     PRINT "FAT-16",
  370   CASE 5
  380     PRINT "Extended",
  390   CASE 6
  400     PRINT "BigDOS",
  410   CASE ELSE
  420     PRINT "Other",
  430   END SELECT
  440   IF TIPUS<>0 THEN
  450     PRINT USING "#######":KEZDET;
  460     PRINT USING "#######":ROUND(MERET/2,0);
  470     PRINT "Kb"
  480   ELSE
  490     PRINT
  500   END IF
  510 END DEF

Logged

Enterprise Forever
« on: 2006.May.16. 00:37:25 »

 Logged

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #1 on: 2006.May.16. 13:39:38 »

Quote from: "Povi"
Nagy vagy Zozo! (Ö... mit is csinál ez a program?  Smiley )

Belolvassa a 41H szegmens 0 címétől kezdve a 0-ás vinyó 0. szektorát (1 darabot), azaz a particiós táblát.
Ezután sorban kiírja a 4 bejegyzéshez tartozó adatokat.
Egyelőre még csak a friss IDEREAD utasítás tesztelése, de lesz ebből még tényleges FDISK is (előbb kell még egy IDEWRITE is Smiley )
Logged

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #2 on: 2006.May.17. 20:13:23 »

Kicsit tovább fejlesztve
Code:
 100 PROGRAM "FDISK.BAS"
  110 REM version 0.0
  120 ALLOCATE 9
  130 CODE GETSEGMENT=HEX$("F7,18,67,69,C9")
  140 CODE FREESEGMENT=HEX$("4D,F7,19,C9")
  150 LET WS=USR(GETSEGMENT,0)
  160 CLEAR SCREEN
  170 EXT "IDEINFO "&HEXA$(WS,2)&",3FF0"
  180 LET MAXDRIVE=SPEEK(WS,16374)
  190 IF MAXDRIVE=0 THEN
  200   PRINT "No Harddisk!"
  210   GOTO 340
  220 END IF
  230 PRINT "IDE ROM at "&HEXA$(SPEEK(WS,16369),2)
  240 PRINT "RAM area from "&HEXA$(SPEEK(WS,16370),2)&":"&HEXA$(SPEEK(WS,16372),2)&HEXA$(SPEEK(WS,16371),2)
  250 PRINT "Detected: ";SPEEK(WS,16373);"controllers, ";MAXDRIVE;"disks"
  260 PRINT "BOOT TYPE","  START   SIZE"
  270 FOR I=0 TO MAXDRIVE-1
  280   PRINT "HDD-";I
  290   CALL READS(0,I,0,1)
  300   FOR J=1 TO 4
  310     CALL INFO(J)
  320   NEXT
  330 NEXT
  340 CALL USR(FREESEGMENT,WS)
  350 END
  360 DEF INFO(SORSZAM)
  370   LET MUTATO=446+(SORSZAM-1)*16
  380   LET AKTIV=SPEEK(WS,MUTATO)
  390   LET TIPUS=SPEEK(WS,MUTATO+4)
  400   LET KEZDET=SPEEK32(MUTATO+8)
  410   LET MERET=SPEEK32(MUTATO+12)
  420   IF AKTIV=0 THEN
  430     PRINT " NO  ";
  440   ELSE
  450     PRINT " YES ";
  460   END IF
  470   SELECT CASE TIPUS
  480   CASE 0
  490     PRINT "Undefinied",
  500   CASE 1,11
  510     PRINT "FAT-12",
  520   CASE 4,20
  530     PRINT "FAT-16",
  540   CASE 11,12,27,28
  550     PRINT "FAT-32",
  560   CASE 5,15
  570     PRINT "Extended",
  580   CASE 6,14,22,30
  590     PRINT "BigDOS",
  600   CASE ELSE
  610     PRINT "Other",
  620   END SELECT
  630   IF TIPUS<>0 THEN
  640     PRINT USING "#######":KEZDET;
  650     PRINT USING "#######":ROUND(MERET/2,0);
  660     PRINT "Kb"
  670   ELSE
  680     PRINT
  690   END IF
  700 END DEF
  710 DEF HEXA$(SZAM,HOSSZ)
  720   NUMERIC I,M
  730   STRING H$*8
  740   LET H$=""
  750   FOR I=1 TO HOSSZ
  760     LET M=MOD(SZAM,16)
  770     LET SZAM=(SZAM-M)/16
  780     IF M<10 THEN
  790       LET H$=CHR$(M+48)&H$
  800     ELSE
  810       LET H$=CHR$(M+55)&H$
  820     END IF
  830   NEXT
  840   LET HEXA$=H$
  850 END DEF
  860 DEF READS(C,D,SS,SN)
  870   EXT "IDEREAD "&HEXA$(WS,2)&","&HEXA$(C,4)&","&HEXA$(D,1)&","&HEXA$(SS,8)&","&HEXA$(SN,2)
  880 END DEF
  890 DEF SPEEK32(M)
  900   LET SPEEK32=SPEEK(WS,M)+SPEEK(WS,M+1)*256+SPEEK(WS,M+2)*65536+SPEEK(WS,M+3)*16777216
  910 END DEF


* DSCF3939k.jpg (141.48 KB, 800x600 - viewed 308 times.)
Logged

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #3 on: 2006.May.18. 22:09:26 »

Már ilyet is tudunk

(jó szar a fotó, de tán látszik a lényeg)
Logged

MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2081




View Profile WWW
New Posts
« Reply #4 on: 2006.May.18. 22:35:05 »

Quote from: "Zozosoft"
Már ilyet is tudunk

Hú, de izgalmasan néz ki! Hajrá!
Logged

Ep128
EP lover
*
Offline Offline

Hungary

Posts: 776




View Profile WWW
New Posts
« Reply #5 on: 2006.May.19. 00:51:30 »

Nagyon klassz!!!! Grat!
Logged


geco
EP lover
*
Offline Offline

Hungary

Posts: 680




View Profile
New Posts
« Reply #6 on: 2006.May.19. 02:24:14 »

szimpatikus, amit a képernyőn látok.Smiley
Logged

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #7 on: 2006.May.22. 23:07:52 »

Na már tudunk particiót csinálni, igaz még csak meglehetősen fapados és ellenőrizetlen módon (INPUT MERET és hasonlók )

* FDISK.BAS (4.85 KB - downloaded 95 times.)
Logged

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #8 on: 2006.May.24. 22:18:10 »

Lassan kezd valahogy kinézni is


* DSCF4372k.jpg (100.32 KB, 800x600 - viewed 343 times.)
Logged

Ep128
EP lover
*
Offline Offline

Hungary

Posts: 776




View Profile WWW
New Posts
« Reply #9 on: 2006.May.24. 23:51:32 »

Csodálatos!  GRATULA! (Hátha itt reagálsz is...  :-D)
A BigDos -on mit is értünk egyébként...?
Logged


MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2081




View Profile WWW
New Posts
« Reply #10 on: 2006.May.25. 08:25:08 »

Quote from: "Zozosoft"
Lassan kezd valahogy kinézni is

Szép színes! :-D
Logged

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #11 on: 2006.May.25. 10:18:10 »

Quote from: "Ep128"
A BigDos -on mit is értünk egyébként...?

Anno már részletesen kifejtettem az Indexen
Bigdos a 32 bites logikai szektorcímzést  használó FAT16 partició, azaz 32 megánál nagyobb. Hivatalosan 1988-ban az MSDOS 4.0-val lett bevezetve.
Na ilyet nem fogunk EP-n használni, még egy jó darabig...
Logged

gafz
EP lover
*
Offline Offline

Hungary

Posts: 708




View Profile WWW
New Posts
« Reply #12 on: 2006.May.25. 11:55:31 »

És 16 bites logikai szektorcímzésű FAT16 partitiot mikor fogunk használni? Smiley
Logged

Enterprise Forever

Zozosoft
EP addict
*
Offline Offline

Hungary

Posts: 3918




View Profile
New Posts
« Reply #13 on: 2006.May.25. 12:30:22 »

Quote from: "gafz"
És 16 bites logikai szektorcímzésű FAT16 partitiot mikor fogunk használni? Smiley

Valamivel elöbb ahhoz csak kicsit kell majd árirni az EXDOS-t...
De elöbb mindenképpen teljesen, újrafordíthatóra vissza kell fejteni.
Logged

gafz
EP lover
*
Offline Offline

Hungary

Posts: 708




View Profile WWW
New Posts
« Reply #14 on: 2006.May.25. 13:01:30 »

Kézzelfogható hardware mikor lehet belőle?
Logged

Enterprise Forever

Enterprise Forever
« Reply #14 on: 2006.May.25. 13:01:30 »

 Logged
Tags:
Enterprise Forever  |  Enterprise fórum  |  Enterprise fórum  |  Programozás  |  Topic: EP-s FDISK fejlesztése

Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks

Template made by Mr.Prise
Page created in 0.316 seconds with 26 queries.
Google visited last this page 2010.February.22. 04:14:17