* Config.in help needed
@ 2002-05-24 18:36 Stefke
2002-05-24 20:37 ` Riley Williams
0 siblings, 1 reply; 12+ messages in thread
From: Stefke @ 2002-05-24 18:36 UTC (permalink / raw)
To: linux-8086
hi,
If I have the following code in config.in (in drivers/block)
bool 'SSD disk support' CONFIG_BLK_DEV_SSD
bool 'Internal disk support' CONFIG_BLK_DEV_ID
define_bool CONFIG_BLK_DEV_BIOS n
if [ "$CONFIG_BLK_DEV_SSD" = "y" ]; then
choice 'Size off SSD (in Kb)' \
"128 CONFIG_BLK_DEV_SSD_128\
256 CONFIG_BLK_DEV_SSD_256\
512 CONFIG_BLK_DEV_SSD_512\
1024 CONFIG_BLK_DEV_SSD_1024\
2048 CONFIG_BLK_DEV_SSD_2048" 512
fi
can I use the following code in a program ? (wrt_dsk.c)
#ifdef CONFIG_BLK_DEV_SSD
#ifdef CONFIG_BLK_DEV_SSD_128
#define BLOCKS 2
#endif
#ifdef CONFIG_BLK_DEV_SSD_256
#define BLOCKS 4
#endif
#ifdef CONFIG_BLK_DEV_SSD_512
#define BLOCKS 8
#endif
#ifdef CONFIG_BLK_DEV_SSD_1024
#define BLOCKS 16
#endif
#ifdef CONFIG_BLK_DEV_SSD_2048
#define BLOCKS 32
#endif
#endif
Or do I need to do more ? Can someone give me some feedback on how those
config.in files work ?
Stefaan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Config.in help needed
2002-05-24 18:36 Config.in help needed Stefke
@ 2002-05-24 20:37 ` Riley Williams
2002-05-24 21:43 ` Stefke
0 siblings, 1 reply; 12+ messages in thread
From: Riley Williams @ 2002-05-24 20:37 UTC (permalink / raw)
To: Stefke; +Cc: linux-8086
Hi Stefke.
> If I have the following code in config.in (in drivers/block)
>
> bool 'SSD disk support' CONFIG_BLK_DEV_SSD
> bool 'Internal disk support' CONFIG_BLK_DEV_ID
> define_bool CONFIG_BLK_DEV_BIOS n
>
> if [ "$CONFIG_BLK_DEV_SSD" = "y" ]; then
> choice 'Size off SSD (in Kb)' \
> "128 CONFIG_BLK_DEV_SSD_128 \
> 256 CONFIG_BLK_DEV_SSD_256 \
> 512 CONFIG_BLK_DEV_SSD_512 \
> 1024 CONFIG_BLK_DEV_SSD_1024 \
> 2048 CONFIG_BLK_DEV_SSD_2048" 512
> fi
>
> can I use the following code in a program ? (wrt_dsk.c)
>
#include <linuxmt/config.h>
> #ifdef CONFIG_BLK_DEV_SSD
>
> #ifdef CONFIG_BLK_DEV_SSD_128
> #define BLOCKS 2
> #endif
>
> #ifdef CONFIG_BLK_DEV_SSD_256
> #define BLOCKS 4
> #endif
>
> #ifdef CONFIG_BLK_DEV_SSD_512
> #define BLOCKS 8
> #endif
>
> #ifdef CONFIG_BLK_DEV_SSD_1024
> #define BLOCKS 16
> #endif
>
> #ifdef CONFIG_BLK_DEV_SSD_2048
> #define BLOCKS 32
> #endif
>
> #endif
>
> Or do I need to do more ? Can someone give me some feedback on how
> those config.in files work ?
Providing you have the include line I've added before you make use of
any such variable, that's fine. The config system turns the results of
doing either `make config` or `make menuconfig` into both the .config
file for the Makefiles and the linuxmt/config.h header file for the C
code.
Best wishes from Riley.
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-24 20:37 ` Riley Williams
@ 2002-05-24 21:43 ` Stefke
2002-05-24 22:04 ` pauln
0 siblings, 1 reply; 12+ messages in thread
From: Stefke @ 2002-05-24 21:43 UTC (permalink / raw)
To: linux-8086
Riley,
> #include <linuxmt/config.h>
>
> Providing you have the include line I've added before you make use of
> any such variable, that's fine. The config system turns the results of
> doing either `make config` or `make menuconfig` into both the .config
> file for the Makefiles and the linuxmt/config.h header file for the C
> code.
>
> Best wishes from Riley.
>
That did the trick. Now it compiles just fine.
Thanx
Stefaan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Config.in help needed
2002-05-24 21:43 ` Stefke
@ 2002-05-24 22:04 ` pauln
2002-05-25 9:37 ` Stefke
0 siblings, 1 reply; 12+ messages in thread
From: pauln @ 2002-05-24 22:04 UTC (permalink / raw)
To: linux-8086
On Fri, May 24, 2002 at 11:43:56PM +0200, Stefke wrote:
> That did the trick. Now it compiles just fine.
That's good. If you get a chance you might want to change the location
of the wrt_disk as you need may want a bigger image file size.
However this is currently done in assembler IIRC
/arch/i86/tools/file.s
But changing it to A: shouldn't be too hard.
Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-24 22:04 ` pauln
@ 2002-05-25 9:37 ` Stefke
2002-05-25 10:40 ` pauln
2002-05-25 21:05 ` Riley Williams
0 siblings, 2 replies; 12+ messages in thread
From: Stefke @ 2002-05-25 9:37 UTC (permalink / raw)
To: pauln, linux-8086
Paul,
>
> That's good. If you get a chance you might want to change the location
> of the wrt_disk as you need may want a bigger image file size.
>
> However this is currently done in assembler IIRC
>
> /arch/i86/tools/file.s
>
> But changing it to A: shouldn't be too hard.
>
file_name:
.ASCII "loc::m:\\minix.dsk\0"
This seems the code, right ? ;-) I'm not changing it at the moment, since
I'm using a 2Mb 3c and only a 512Kb Flash. Plenty of room on the psion ;-p
But would it be possible to put something like
"rem::c:\\psion\\elks\\minix.dsk\0" in there ?
Never used assembler before :-(
Stefaan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Config.in help needed
2002-05-25 9:37 ` Stefke
@ 2002-05-25 10:40 ` pauln
2002-05-25 21:05 ` Riley Williams
1 sibling, 0 replies; 12+ messages in thread
From: pauln @ 2002-05-25 10:40 UTC (permalink / raw)
To: linux-8086
On Sat, May 25, 2002 at 11:37:11AM +0200, Stefke wrote:
> file_name:
> .ASCII "loc::m:\\minix.dsk\0"
>
> This seems the code, right ? ;-) I'm not changing it at the moment, since
> I'm using a 2Mb 3c and only a 512Kb Flash. Plenty of room on the psion ;-p
Yup - but 2mg disks is more interesting :)
I'd say leave this as is for now as well...
> But would it be possible to put something like
> "rem::c:\\psion\\elks\\minix.dsk\0" in there ?
I imagine so, Simon Wood did this stuff. It's used by the Psion, I'm
not sure why that bit's in assembler, looks to be for size, although I
can't see it would be that expensive to have in C or OPL.
Some random useful links:
http://www.mungewell.ndirect.co.uk/linux/
http://www.mungewell.ndirect.co.uk/psion/assem.htm
http://www.gumbley.demon.co.uk/crypt.html
http://www.itimpi.freeserve.co.uk/Â
http://www.psionusa.com/Support/Downloads/Samples/Content.html
> Never used assembler before :-(
I've been avoiding learning it until after I get my C sorted.
Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-25 9:37 ` Stefke
2002-05-25 10:40 ` pauln
@ 2002-05-25 21:05 ` Riley Williams
2002-05-25 22:06 ` Stefke
2002-05-26 8:53 ` Stefke
1 sibling, 2 replies; 12+ messages in thread
From: Riley Williams @ 2002-05-25 21:05 UTC (permalink / raw)
To: Stefke; +Cc: pauln, Linux 8086
Hi Stefaan, Paul.
>> That's good. If you get a chance you might want to change the
>> location of the wrt_disk as you need may want a bigger image
>> file size.
>>
>> However this is currently done in assembler IIRC
>>
>> /arch/i86/tools/file.s
>>
>> But changing it to A: shouldn't be too hard.
> file_name:
> .ASCII "loc::m:\\minix.dsk\0"
>
> This seems the code, right ? ;-) I'm not changing it at the moment,
> since I'm using a 2Mb 3c and only a 512Kb Flash. Plenty of room on
> the psion ;-p
I've just tweaked it, and both the disk size and the filename to use are
now defined in a (new) C header file called tools.h in that directory.
The relevant patch is attached, and has been committed to the CVS tree.
> But would it be possible to put something like
> "rem::c:\\psion\\elks\\minix.dsk\0" in there ?
Certainly possible, though I haven't implemented that yet. However, the
relevant code is now in C rather than assembler, so should be easy for
you to implement if you wish to.
> Never used assembler before :-(
Thankfully, I've been using it for years...
Best wishes from Riley.
========================================================================
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/elks/elks/CHANGELOG,v
retrieving revision 1.305
retrieving revision 1.307
diff -u -5 -r1.305 -r1.307
--- CHANGELOG 15 May 2002 20:53:58 -0000 1.305
+++ CHANGELOG 25 May 2002 20:43:37 -0000 1.307
@@ -31,10 +31,20 @@
Simon Wood 6 Jan 2000-12 Jan 2000
Thomas McWilliams tgm9999@yahoo.com 27 Aug 1999- 2 Apr 2001
-------------------------------------------------------------------------------
+Sat May 25 21:30:35 BST 2002 Riley Williams <Riley@Williams.Name>
+
+ * Simplified configuration of SiBO wrt_disk.img utility. The two
+ configuration parameters are now in a separate tools.h header
+ file, and both wrt_disk.c and file.s make use of the values in
+ this header file to achieve the required task.
+ * Made wrt_disk.img use an unsigned long int for the address var
+ rather than the two separate unsigned short ints that were in
+ use previously.
+
Wed May 15 16:00:08 EEST 2002 Harry Kalogirou <harkal@gmx.net>
* Invert the "Is this system call valid" condition in strace.c
so it actually works.
* Added parameters to strace for sys_signal().
Index: arch/i86/tools/tools.h
===================================================================
RCS file: arch/i86/tools/tools.h
diff -N arch/i86/tools/tools.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ arch/i86/tools/tools.h 25 May 2002 20:37:00 -0000 1.1
@@ -0,0 +1,27 @@
+/* Define items that may vary from one configuration to another.
+ * These are as follows:
+ *
+ * DISK_SIZE The size of the flash disk we are writing to
+ * in Kilobytes.
+ *
+ * DRIVE The drive letter the source file is on.
+ *
+ * FILENAME The filename to assume for the source file.
+ *
+ * These last two are put together in the code to create a string similar
+ * to the following...
+ *
+ * loc::m:\\minix.dsk
+ *
+ * ...which would be produced for the following definitions...
+ *
+ * DRIVE 'm'
+ * FILENAME "minix.dsk"
+ */
+
+#define DISK_SIZE 128
+
+#define DRIVE 'm'
+
+#define FILENAME "minix.dsk"
+
Index: arch/i86/tools/file.s
===================================================================
RCS file: /cvsroot/elks/elks/arch/i86/tools/file.s,v
retrieving revision 1.3
retrieving revision 1.5
diff -u -5 -r1.3 -r1.5
--- arch/i86/tools/file.s 27 Nov 2001 12:04:34 -0000 1.3
+++ arch/i86/tools/file.s 25 May 2002 20:45:16 -0000 1.5
@@ -3,33 +3,27 @@
.text
.global _open_file
.global _read_byte
.global _close_file
+ .global _file_name
_open_file:
mov dx, #file_status
- mov al, #0x00
-
- mov ah, #0x00 ;connect to file server
+ mov ax, #0x0000 ; connect to file server.
int 0x87
-
-
- mov bx, #file_name
- mov cx, #0x00 ;binary, readonly
+ mov cx, #0x00 ; binary, readonly.
-
+ mov bx, #_file_name
mov ah, #0x00
int 0x85
-
- mov file_handle, ax
+ mov file_handle, ax ; Save file handle for later.
ret
_read_byte:
mov bx, file_handle
mov cx, #file_buffer
mov dx, #0x01
-
mov ah, #0x11
int 0x86
mov ax, file_buffer
ret
@@ -40,12 +34,10 @@
mov ah, #0x10
int 0x86
ret
.data
-file_name:
- .ASCII "loc::m:\\minix.dsk\0"
file_handle:
.word 0x0000
file_buffer:
.byte 0x00
file_status:
Index: arch/i86/tools/wrt_disk.c
===================================================================
RCS file: /cvsroot/elks/elks/arch/i86/tools/wrt_disk.c,v
retrieving revision 1.4
retrieving revision 1.6
diff -u -5 -r1.4 -r1.6
--- arch/i86/tools/wrt_disk.c 23 Apr 2002 17:57:24 -0000 1.4
+++ arch/i86/tools/wrt_disk.c 25 May 2002 20:50:37 -0000 1.6
@@ -1,20 +1,103 @@
-/* This tool copies a Minix Disk image to the 'B' Flash SSD, it assumes
- * that the disk is a 128K Flash and the source file for the image is
- * LOC::M:\MINIX.DSK
+/* This tool copies a Minix Disk image to the 'B' Flash SSD. The original
+ * assumed that the disk was a 128K Flash and that the source file for the
+ * image was LOC::M:\MINIX.DSK but this version draws both parameters from
+ * a separate header file where they can be configured.
+ *
* It is rather slow at present but uses the SSD driver stuff so should
* pick up any improvements as that developes.
*/
+#include "tools.h"
+
+/* Select method to use - uncomment the following line to use a single long
+ * int for the address, or comment it to use two short ints instead.
+ */
+
+#define LONG_INT
+/****/
+
+/* Pseudotypes we use internally */
+
+#define DWORD unsigned long int
+#define WORD unsigned short int
+#define BYTE unsigned char
+
+/* Common values generated from the parameters */
+
+#define BLOCKS ((WORD) ((DWORD) DISK_SIZE) / 64UL)
+#define SIZE (((DWORD) DISK_SIZE) * 1024UL)
+
+/* Prototypes for local functions */
-/* NOTE: Each time this is run it erases the SSD */
-#define BLOCKS 2 /* set for 128K SSD, 1 Block = 64K */
+void open_file(void);
+BYTE read_byte(void);
+void close_file(void);
+
+char filename[64];
+
+void print_word(WORD data)
+{
+ LCD_WriteChar('0' + ((data & 0xF000) >> 12));
+ LCD_WriteChar('0' + ((data & 0x0F00) >> 8));
+ LCD_WriteChar('0' + ((data & 0x00F0) >> 4));
+ LCD_WriteChar('0' + (data & 0x000F) );
+}
+
+void print_address(WORD high, WORD low)
+{
+ print_word(high);
+ print_word(low);
+ LCD_WriteChar(' ');
+}
+void error(char Pass, WORD data, WORD result)
+{
+ LCD_WriteChar('E');
+ LCD_WriteChar('r');
+ LCD_WriteChar('r');
+ LCD_WriteChar('o');
+ LCD_WriteChar('r');
+ LCD_WriteChar(' ');
+ LCD_WriteChar(Pass);
+ LCD_WriteChar(' ');
+ print_word(data);
+ LCD_WriteChar('/');
+ print_word(result);
+ LCD_WriteChar(' ');
+
+ /* Sleep forever - requires a hard reset */
+ while (1)
+ /* Do nothing */;
+}
+
+void strcat(char *tgt, char *src)
+{
+ while (*tgt)
+ tgt++;
+ while (*src)
+ *tgt++ = *src++;
+ *tgt = *src;
+}
+
+/* NOTE: Each time this is run it erases the SSD */
int main(void)
{
- unsigned int high_address, low_address;
- unsigned char data, result, not_done;
+#ifdef LONG_INT
+ DWORD address;
+#endif
+ WORD high_address, low_address;
+ BYTE data, result;
+#ifndef LONG_INT
+ BYTE not_done;
+#endif
+
+ /* Specify the filename to use */
+ *filename = '\0';
+ strcat(filename, "loc::m:\\");
+ filename[5] = DRIVE;
+ strcat(filename,FILENAME);
/* Connect to SSD in slot 'B' (under 'enter') */
ssd_open4(0x01);
/* pre-program all bits to zero */
@@ -25,10 +108,28 @@
LCD_WriteChar('P');
LCD_WriteChar('r');
LCD_WriteChar('o');
LCD_WriteChar('g');
+#ifdef LONG_INT
+
+ for (address = 0; address < SIZE; address++) {
+ high_address = (WORD) (address >> 16);
+ low_address = (WORD) (address & 0xFFFF);
+ if ((low_address & 0x1F) == 0) {
+ LCD_Position(0, 1);
+ print_address(high_address, low_address);
+ }
+ result = ssd_write4(high_address, low_address, 0);
+ if (result) {
+ LCD_Position(0, 2);
+ error('1', data, result);
+ }
+ }
+
+#else
+
/* for block of 64K write data */
for (high_address = 0; high_address < BLOCKS; high_address++) {
low_address = 0;
not_done = 1;
@@ -38,21 +139,22 @@
print_address(high_address, low_address);
}
result = ssd_write4(high_address, low_address, 0);
- if (result != data) {
+ if (result) {
LCD_Position(0, 2);
- error(data, result);
+ error('1', data, result);
}
low_address++;
if (low_address == 0)
not_done = 0;
}
}
+#endif
/* need to erase each chip in the SSD */
LCD_Position(0, 0);
LCD_WriteChar('E');
LCD_WriteChar('r');
@@ -69,11 +171,11 @@
result = ssd_erase4(0);
if (result) {
LCD_Position(0, 2);
- error(high_address, result);
+ error('2', high_address, result);
}
}
open_file();
@@ -85,10 +187,29 @@
LCD_WriteChar('g');
LCD_WriteChar('r');
LCD_WriteChar('a');
LCD_WriteChar('m');
+#ifdef LONG_INT
+
+ for (address = 0; address < SIZE; address++) {
+ high_address = (unsigned short int) (address >> 16);
+ low_address = (unsigned short int) (address & 0xFFFF);
+ if ((low_address & 0x1F) == 0) {
+ LCD_Position(0, 1);
+ print_address(high_address, low_address);
+ }
+ data = read_byte();
+ result = ssd_write4(high_address, low_address, data);
+ if (result != data) {
+ LCD_Position(0, 2);
+ error('3', data, result);
+ }
+ }
+
+#else
+
/* for block of 64K write data */
for (high_address = 0; high_address < BLOCKS; high_address++) {
low_address = 0;
not_done = 1;
@@ -103,62 +224,31 @@
result = ssd_write4(high_address, low_address, data);
if (result != data) {
LCD_Position(0, 2);
- error(data, result);
+ error('3', data, result);
}
low_address++;
if (low_address == 0)
not_done = 0;
}
}
+#endif
+
close_file();
LCD_Position(0, 2);
LCD_WriteChar('D');
LCD_WriteChar('o');
LCD_WriteChar('n');
LCD_WriteChar('e');
LCD_WriteChar('.');
- /* Sleep for every - requires a hard reset */
+ /* Sleep forever - requires a hard reset */
- while (1);
+ while (1)
+ /* Do nothing */;
- return (0);
+ return 0;
}
-
-int print_address(high, low)
- int high;
- int low;
-{
- /* Print out the address at the current location */
- LCD_WriteChar('0' + ((high & 0xF000) >> 12));
- LCD_WriteChar('0' + ((high & 0x0F00) >> 8));
- LCD_WriteChar('0' + ((high & 0x00F0) >> 4));
- LCD_WriteChar('0' + (high & 0x000F));
-
- LCD_WriteChar('0' + ((low & 0xF000) >> 12));
- LCD_WriteChar('0' + ((low & 0x0F00) >> 8));
- LCD_WriteChar('0' + ((low & 0x00F0) >> 4));
- LCD_WriteChar('0' + (low & 0x000F));
-
- LCD_WriteChar(' ');
-}
-
-int error(data, result)
- int data;
- int result;
-{
- LCD_WriteChar('E');
- LCD_WriteChar('r');
- LCD_WriteChar('r');
- LCD_WriteChar('o');
- LCD_WriteChar('r');
-
- LCD_WriteChar(' ');
- print_address(data, result);
-
- while (1);
-}
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-25 21:05 ` Riley Williams
@ 2002-05-25 22:06 ` Stefke
2002-05-26 8:53 ` Stefke
1 sibling, 0 replies; 12+ messages in thread
From: Stefke @ 2002-05-25 22:06 UTC (permalink / raw)
To: Linux 8086
>
> Hi Stefaan, Paul.
>
>
> I've just tweaked it, and both the disk size and the filename to use are
> now defined in a (new) C header file called tools.h in that directory.
> The relevant patch is attached, and has been committed to the CVS tree.
>
>
> Best wishes from Riley.
Ok, I'll give this a try first thing tomorrow morning.
Stefaan
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-25 21:05 ` Riley Williams
2002-05-25 22:06 ` Stefke
@ 2002-05-26 8:53 ` Stefke
2002-05-26 9:39 ` Riley Williams
1 sibling, 1 reply; 12+ messages in thread
From: Stefke @ 2002-05-26 8:53 UTC (permalink / raw)
To: Riley Williams, Linux 8086
Riley,
> I've just tweaked it, and both the disk size and the filename to use are
> now defined in a (new) C header file called tools.h in that directory.
> The relevant patch is attached, and has been committed to the CVS tree.
>
> Best wishes from Riley.
>
I just got the latest CVS tree, and can't get it to compile anymore....
make[3]: Entering directory `/usr/src/elks/arch/i86/tools'
ld86 -0 -i -D 0x400 -H 0x800 -o wrt_disk.tmp \
wrt_disk.o file.o \
../drivers/char/con_asm.o \
../drivers/char/font.o \
../drivers/char/key_asm.o \
../drivers/block/ssd_asm.o
undefined symbol: lcmpul
undefined symbol: _file_name
make[3]: *** [wrt_disk.tmp] Error 1
make[3]: Leaving directory `/usr/src/elks/arch/i86/tools'
make[2]: *** [toolkit] Error 2
make[2]: Leaving directory `/usr/src/elks/arch/i86'
make[1]: *** [Image] Error 2
make[1]: Leaving directory `/usr/src/elks'
make: *** [elks] Error 2
Any ideas ?
Stefaan
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-26 8:53 ` Stefke
@ 2002-05-26 9:39 ` Riley Williams
2002-05-26 19:21 ` Stefke
0 siblings, 1 reply; 12+ messages in thread
From: Riley Williams @ 2002-05-26 9:39 UTC (permalink / raw)
To: Stefke; +Cc: Linux 8086
Hi Stefaan.
>> I've just tweaked it, and both the disk size and the filename to use
>> are now defined in a (new) C header file called tools.h in that
>> directory. The relevant patch is attached, and has been committed to
>> the CVS tree.
> I just got the latest CVS tree, and can't get it to compile anymore...
Stupid thinko on my part - now fixed and committed to CVS...
Best wishes from Riley.
==========================================================================
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/elks/elks/CHANGELOG,v
retrieving revision 1.307
diff -u -5 -r1.307 CHANGELOG
--- CHANGELOG 25 May 2002 20:43:37 -0000 1.307
+++ CHANGELOG 26 May 2002 09:28:58 -0000
@@ -23,17 +23,22 @@
Mario Frasca 20 Jan 2000-14 Feb 2000
Paul Nasrat pauln@truemesh.com 29 Oct 2001-24 Apr 2002
Per Olofsson MagerValp@cling.gu.se 25 Feb 2000
Peter L Vachuska pvachusk@nconnect.net 13 Aug 2001
Richard Wallman murkygoth@murkygoth.uklinux.net 2 Apr 2002
-Riley Williams Riley@Williams.Name 16 Nov 1998-13 May 2002
+Riley Williams Riley@Williams.Name 16 Nov 1998-26 May 2002
Roman Festchook roma@polesye.net 27 Oct 2001
Simon Weijgers simon@weijgers.com 16 Sep 1998-15 Nov 1999
Simon Wood 6 Jan 2000-12 Jan 2000
Thomas McWilliams tgm9999@yahoo.com 27 Aug 1999- 2 Apr 2001
-------------------------------------------------------------------------------
+
+Sun May 26 10:25:01 BST 2002 Riley Williams <Riley@Williams.Name>
+
+ * Fixed thinko in wrt_disk.img simplification. It now compiles.
+ * Converted open_file in file.s to take filename as parameter.
Sat May 25 21:30:35 BST 2002 Riley Williams <Riley@Williams.Name>
* Simplified configuration of SiBO wrt_disk.img utility. The two
configuration parameters are now in a separate tools.h header
Index: arch/i86/tools/Makefile
===================================================================
RCS file: /cvsroot/elks/elks/arch/i86/tools/Makefile,v
retrieving revision 1.15
diff -u -5 -r1.15 Makefile
--- arch/i86/tools/Makefile 5 May 2002 10:12:16 -0000 1.15
+++ arch/i86/tools/Makefile 26 May 2002 09:28:58 -0000
@@ -56,11 +56,12 @@
ld86 -0 -i -D $(DATA_SEG) -H $(HEAP_SEG) -o wrt_disk.tmp \
wrt_disk.o file.o \
../drivers/char/con_asm.o \
../drivers/char/font.o \
../drivers/char/key_asm.o \
- ../drivers/block/ssd_asm.o
+ ../drivers/block/ssd_asm.o \
+ ../lib/lib86.a
wrt_disk.img: wrt_disk.tmp imgconv
./imgconv wrt_disk.tmp wrt_disk.img
build: build.c
Index: arch/i86/tools/file.s
===================================================================
RCS file: /cvsroot/elks/elks/arch/i86/tools/file.s,v
retrieving revision 1.5
diff -u -5 -r1.5 file.s
--- arch/i86/tools/file.s 25 May 2002 20:45:16 -0000 1.5
+++ arch/i86/tools/file.s 26 May 2002 09:28:58 -0000
@@ -3,18 +3,20 @@
.text
.global _open_file
.global _read_byte
.global _close_file
- .global _file_name
_open_file:
mov dx, #file_status
mov ax, #0x0000 ; connect to file server.
int 0x87
mov cx, #0x00 ; binary, readonly.
+ push bp
+ mov bp, sp
- mov bx, #_file_name
+ mov bx, 4[bp]
+ pop bp
mov ah, #0x00
int 0x85
mov file_handle, ax ; Save file handle for later.
ret
Index: arch/i86/tools/wrt_disk.c
===================================================================
RCS file: /cvsroot/elks/elks/arch/i86/tools/wrt_disk.c,v
retrieving revision 1.6
diff -u -5 -r1.6 wrt_disk.c
--- arch/i86/tools/wrt_disk.c 25 May 2002 20:50:37 -0000 1.6
+++ arch/i86/tools/wrt_disk.c 26 May 2002 09:29:02 -0000
@@ -27,15 +27,15 @@
#define BLOCKS ((WORD) ((DWORD) DISK_SIZE) / 64UL)
#define SIZE (((DWORD) DISK_SIZE) * 1024UL)
/* Prototypes for local functions */
-void open_file(void);
+void open_file(char *);
BYTE read_byte(void);
void close_file(void);
-char filename[64];
+static char filename[64];
void print_word(WORD data)
{
LCD_WriteChar('0' + ((data & 0xF000) >> 12));
LCD_WriteChar('0' + ((data & 0x0F00) >> 8));
@@ -175,11 +175,11 @@
LCD_Position(0, 2);
error('2',high_address, result);
}
}
- open_file();
+ open_file(filename);
/* lets create the disk image */
LCD_Position(0, 0);
LCD_WriteChar('P');
LCD_WriteChar('r');
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-26 9:39 ` Riley Williams
@ 2002-05-26 19:21 ` Stefke
2002-05-26 19:38 ` Stefke
0 siblings, 1 reply; 12+ messages in thread
From: Stefke @ 2002-05-26 19:21 UTC (permalink / raw)
To: Linux 8086
Riley,
>
> Hi Stefaan.
>
> >> I've just tweaked it, and both the disk size and the filename to use
> >> are now defined in a (new) C header file called tools.h in that
> >> directory. The relevant patch is attached, and has been committed to
> >> the CVS tree.
>
> > I just got the latest CVS tree, and can't get it to compile anymore...
>
> Stupid thinko on my part - now fixed and committed to CVS...
>
Ok, it compiles fine now, but it wont execute on the psion anymore :-(
Set DISK_SIZE in tools.h to 512, program compiles just fine, moved it over
to psion (3c 2MB, french).
Psion gives the following error after executing :
Programme quitte
Numero de sortie 72
Meaning something like :
Program ended
Exit code 72
Stefaan
> Best wishes from Riley.
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: Config.in help needed
2002-05-26 19:21 ` Stefke
@ 2002-05-26 19:38 ` Stefke
0 siblings, 0 replies; 12+ messages in thread
From: Stefke @ 2002-05-26 19:38 UTC (permalink / raw)
To: Linux 8086
>
> Ok, it compiles fine now, but it wont execute on the psion anymore :-(
> Set DISK_SIZE in tools.h to 512, program compiles just fine, moved it over
> to psion (3c 2MB, french).
> Psion gives the following error after executing :
>
> Programme quitte
> Numero de sortie 72
>
> Meaning something like :
>
> Program ended
> Exit code 72
>
>
> Stefaan
Just a quick remark, it won't run either if I change DISK_SIZE to 128 again,
same error.
Stefaan
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2002-05-26 19:38 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-24 18:36 Config.in help needed Stefke
2002-05-24 20:37 ` Riley Williams
2002-05-24 21:43 ` Stefke
2002-05-24 22:04 ` pauln
2002-05-25 9:37 ` Stefke
2002-05-25 10:40 ` pauln
2002-05-25 21:05 ` Riley Williams
2002-05-25 22:06 ` Stefke
2002-05-26 8:53 ` Stefke
2002-05-26 9:39 ` Riley Williams
2002-05-26 19:21 ` Stefke
2002-05-26 19:38 ` Stefke
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox