[SCM] applications.git branch, master, updated. 676a902425dd32f84226308aa601f4c7d6227b15
ontologiae
ontologiae at gmail.com
Mon Nov 22 18:53:54 UTC 2010
The following commit has been merged in the master branch:
commit 676a902425dd32f84226308aa601f4c7d6227b15
Author: ontologiae <ontologiae at gmail.com>
Date: Mon Nov 22 19:52:44 2010 +0100
install compiles
diff --git a/isaacos/x86/bootloader/boot.li b/isaacos/x86/bootloader/boot.li
index 7e7ee8e..f4ef4ec 100755
--- a/isaacos/x86/bootloader/boot.li
+++ b/isaacos/x86/bootloader/boot.li
@@ -52,24 +52,24 @@ Section Mapping
+ sectors_per_fat:UINTEGER_16;
+ sectors_per_track:UINTEGER_16;
+ nb_head:UINTEGER_16;
- + hidden_sectors:UINTEGER_32
- + nb_sectors_big:UINTEGER_32
+ + hidden_sectors:UINTEGER_32;
+ + nb_sectors_big:UINTEGER_32;
// ( Fat 32bits )
- + sectors_per_fat32:UINTEGER_32 // Nbr Secteur par FAT - 1
+ + sectors_per_fat32:UINTEGER_32;// Nbr Secteur par FAT - 1
+ flags_fat:UINTEGER_16;
+ version_fat:UINTEGER_16;
- + cluster_start_root:UINTEGER_32
- + reserved_00:UINTEGER_32
- + reserved_01:UINTEGER_32
- + reserved_02:UINTEGER_32
- + reserved_03:UINTEGER_32
+ + cluster_start_root:UINTEGER_32;
+ + reserved_00:UINTEGER_32;
+ + reserved_01:UINTEGER_32;
+ + reserved_02:UINTEGER_32;
+ + reserved_03:UINTEGER_32;
// Drive information
+ bios_drive:UINTEGER_8;
+ reserved_04:UINTEGER_8;
+ ext_boot_signature:UINTEGER_8; // 29h
- + serial_number:UINTEGER_32
+ + serial_number:UINTEGER_32;
+ vol_label_00:CHARACTER;
+ vol_label_01:CHARACTER;
@@ -94,16 +94,16 @@ Section Mapping
// Isaac data
- + sector_cluster:UINTEGER_32 // First cluster position.
- + sector_root :UINTEGER_32 // Root position.
- + sector_fat :UINTEGER_32 // FAT position.
- + cluster :UINTEGER_32 // Cluster current.
+ + sector_cluster:UINTEGER_32; // First cluster position.
+ + sector_root :UINTEGER_32; // Root position.
+ + sector_fat :UINTEGER_32; // FAT position.
+ + cluster :UINTEGER_32; // Cluster current.
Section Public
- is_fat32:BOOLEAN <- (ext_boot_signature=29h);
- - put_isaac_data begin_partition:UINTEGER_32drive drv:UINTEGER_8 <-
+ - put_isaac_data begin_partition:UINTEGER_32 drive drv:UINTEGER_8 <-
// Static Compute `sector_cluster', `sector_root' and `sector_fat'.
(
bios_drive:=drv;
diff --git a/isaacos/x86/bootloader/install.li b/isaacos/x86/bootloader/install.li
index 9c20379..243a853 100755
--- a/isaacos/x86/bootloader/install.li
+++ b/isaacos/x86/bootloader/install.li
@@ -14,9 +14,8 @@
///////////////////////////////////////////////////////////////////////////////
Section Header
- - name := INSTALL;
+ + name := INSTALL;
- - category := MACRO;
- bibliography := "http://www.lisaac.org";
- author := "Sonntag Benoit (benoit.sonntag at lisaac.org)";
@@ -103,7 +102,7 @@ Section Private
+ isaac_head:UINTEGER_8;
+ isaac_cylinder:UINTEGER_16;
+ isaac_sector:UINTEGER_16;
- + isaac_begin_partition:UINTEGER_32
+ + isaac_begin_partition:UINTEGER_32;
//
// Generic manager.
@@ -169,7 +168,7 @@ Section Private
drive := isaac_drive;
storage := buf.storage;
- `biosdisk(0x02, at drive, at head, at cylinder, at sector,1, at storage)`:BOOLEAN(TRUE,FALSE).if {
+ `biosdisk(0x02, at drive, at head, at cylinder, at sector,1, at storage)`:BOOLEAN{TRUE,FALSE}.if {
crash_with_message "Error read bios disk 13h.\n";
};
);
@@ -180,7 +179,7 @@ Section Private
drive := isaac_drive;
storage := buf.storage;
- `biosdisk(0x03, at drive, at head, at cylinder, at sector,1, at storage)`:BOOLEAN(TRUE,FALSE).if {
+ `biosdisk(0x03, at drive, at head, at cylinder, at sector,1, at storage)`:BOOLEAN{TRUE,FALSE}.if {
crash_with_message "Error write bios disk 13h.\n";
};
);
@@ -270,7 +269,8 @@ Section Private
} else {
read_sector (isaac_head,isaac_cylinder,isaac_sector) in buffer;
};
- boot := BOOT.force_conversion (buffer.storage);
+ // brutforce
+ boot := CONVERT(NATIVE_ARRAY(UINTEGER_8),BOOT).on (buffer.storage);
boot.display_all;
// Saving old boot sector.
(isaac_drive=080h).if {
@@ -328,9 +328,9 @@ Section Private
// Write Boot signature.
buffer2.put 055h to 510;
buffer2.put 0AAh to 511;
-
+
// Calcul isaac data.
- boot:=BOOT.force_conversion (buffer2.storage);
+ boot:= CONVERT(NATIVE_ARRAY(UINTEGER_8),BOOT).on (buffer2.storage);
boot.put_isaac_data isaac_begin_partition drive isaac_drive;
"New boot Isaac :\n".print;
@@ -393,11 +393,12 @@ Section Public
\\t\t= Isaac install for x86 (01/2006) =\n\
\\t\t=====================================\n\n".print;
- title "Choice drive.";
+ /* title "Choice drive.";
choice := choice
"1. Hard Disk.\n\
\2. Floppy Disk.\n\
- \Choice: " from '1' to '2';
+ \Choice: " from '1' to '2';*/
+ choice='1';
(choice='1').if {
title "Partition manager.";
@@ -410,6 +411,7 @@ Section Public
isaac_sector:=1;
isaac_begin_partition:=0;
};
+
title "Boot manager.";
boot_manager;
diff --git a/isaacos/x86/bootloader/int13h.li b/isaacos/x86/bootloader/int13h.li
index e7779d3..e1d5956 100755
--- a/isaacos/x86/bootloader/int13h.li
+++ b/isaacos/x86/bootloader/int13h.li
@@ -38,31 +38,31 @@ Section Inherit
Section Mapping
- + packet_size:USMALLINT;
- + reserved:USMALLINT;
+ + packet_size:UINTEGER_8;
+ + reserved:UINTEGER_8;
- + nb_sector:USHORTINT;
+ + nb_sector:UINTEGER_16;
- + offset_buffer :USHORTINT;
- + segment_buffer:USHORTINT;
+ + offset_buffer :UINTEGER_16;
+ + segment_buffer:UINTEGER_16;
- + sector_lba:ULONGINT;
+ + sector_lba:UINTEGER_64;
Section Public
- - read buf:FAST_ARRAY(USMALLINT) sector sec:ULONGINT :BOOLEAN <-
- ( + buffer_adress:USHORTINT;
- + packet_adress:USHORTINT;
- + storage:NATIVE_ARRAY(USMALLINT);
- + result:USHORTINT;
+ - read buf:FAST_ARRAY(UINTEGER_8) sector sec:UINTEGER_64 :BOOLEAN <-
+ ( + buffer_adress:UINTEGER_16;
+ + packet_adress:UINTEGER_16;
+ + storage:NATIVE_ARRAY(UINTEGER_8);
+ + result:UINTEGER_16;
storage := buf.storage;
`{
int (buffer_selector1,buffer_selector2);
__dpmi_regs registres;`;
- buffer_adress := `__dpmi_allocate_dos_memory(32,&buffer_selector1)`:USHORTINT; // Alloc DOS 512 bytes
- packet_adress := `__dpmi_allocate_dos_memory( 1,&buffer_selector2)`:USHORTINT; // Alloc DOS 16 bytes
+ buffer_adress := `__dpmi_allocate_dos_memory(32,&buffer_selector1)`:UINTEGER_16; // Alloc DOS 512 bytes
+ packet_adress := `__dpmi_allocate_dos_memory( 1,&buffer_selector2)`:UINTEGER_16; // Alloc DOS 16 bytes
packet_size := 10h;
reserved := 0;
@@ -79,7 +79,7 @@ Section Public
`registres.x.si=0`;
`__dpmi_int(0x13,®istres)`;
- result := `registres.x.ax`:USHORTINT;
+ result := `registres.x.ax`:UINTEGER_16;
`dosmemget(@buffer_adress*16,512, at storage)`;
@@ -89,19 +89,19 @@ Section Public
result = 0
);
- - write buf:FAST_ARRAY(USMALLINT) sector sec:ULONGINT :BOOLEAN <-
- ( + buffer_adress:USHORTINT;
- + packet_adress:USHORTINT;
- + storage:NATIVE_ARRAY(USMALLINT);
- + result:USHORTINT;
+ - write buf:FAST_ARRAY(UINTEGER_8) sector sec:UINTEGER_64 :BOOLEAN <-
+ ( + buffer_adress:UINTEGER_16;
+ + packet_adress:UINTEGER_16;
+ + storage:NATIVE_ARRAY(UINTEGER_8);
+ + result:UINTEGER_16;
storage := buf.storage;
`{
int (buffer_selector1,buffer_selector2);
__dpmi_regs registres;`;
- buffer_adress := `__dpmi_allocate_dos_memory(32,&buffer_selector1)`:USHORTINT; // Alloc DOS 512 bytes
- packet_adress := `__dpmi_allocate_dos_memory( 1,&buffer_selector2)`:USHORTINT; // Alloc DOS 16 bytes
+ buffer_adress := `__dpmi_allocate_dos_memory(32,&buffer_selector1)`:UINTEGER_16; // Alloc DOS 512 bytes
+ packet_adress := `__dpmi_allocate_dos_memory( 1,&buffer_selector2)`:UINTEGER_16; // Alloc DOS 16 bytes
packet_size := 10h;
reserved := 0;
@@ -119,7 +119,7 @@ Section Public
`registres.x.si=0`;
`__dpmi_int(0x13,®istres)`;
- result := `registres.x.ax`:USHORTINT;
+ result := `registres.x.ax`:UINTEGER_16;
//`dosmemget(@buffer_adress*16,512, at storage)`;
--
applications.git
More information about the Lisaac-commits
mailing list