OZ v5
Ideas about the next Z88 Operating System (OZ)
v1.1 - 20.12.98 (Thierry Peycru, Gunther Strube, Vic Gerhardi)
- Hardware considerations
- One Flash card is needed for supporting OZ in slot one
- A second will certainly be necessary in slot 3 for file
storage
- Internal RAM must be 128K, upgrade is very very easy to do for
less than £5
- External RAM will be inserted in slot 2
- Minimum 128K for internal RAM will be explained further
- Kernel
- User Defined Interruption
An interruption could be available for applications. It could be done by
addressing it via an handle. Opening, using... and closing an interruption.
This should be a little fragment of code, copied in a special area of the
system RAM. For implementing it, we could insert in the IM0 interruption
(keyboard, serial port, card manager...) a fragment of code like this :
;the IM0 interruption entry
.int_entry
ld hl,(interruption_address) ;this address is the code area
ld a,h
or l
jp z,no_user_defined_interruption ;if zero, no user interruption installed
jp (hl) ;jump to it
.no_user_defined_interruption
...
Of course, it will only be a maskable interruption. It could be very dangerous
but very useful too, for example, it could be the basis of the TCP/IP routine,
refreshing a game screen...
- Filing system : cluster of 256 bytes
Actually when the filing system is based on 64 bytes blocks. They are
got from 256 bytes blocks allocated with the filing system handle,
they are then divided in 4 parts and then formatted... Erasure,
linking is very slow... These blocks must have 256 bytes like the
allocated memory blocks, this would increase performance, reduce the
FS code (very complex). That would be transparent for the end-user or
the programmer because the Fileio routines would be the same.
- Filing system : allow ROM/EPROM mounting
We could define a new way to access to files on ROM (not the file
eprom format). That would be useful for using some files on the ROM,
like the Printer drivers, the help, some useful Basic programs... Some
directories would have a 'Read-Only' access and would contain some
system files like printer drivers, help, config files...
- Filing system : file attributes
The file attributes, already existing in DORs, should be implemented.
Particulary, allowing Read-Only, System, Executable, Compressed
attributes.
- Internal RAM : 128K minimum
All the system RAM should be internal. No more screens or UDG on RAM.1,
nor swap memory for bad applications. An amount of 64K is required, i.e.
4 banks :
- 8K for system variables, handles, buffers, restarts
- 2K for HIRES0, 512 bytes for LORES0, 2K for the screen base file
- 40K for the swap for bad applications
- 11K left for new purposes
The 11K left could be useful for new features like :
- other graphic screens (HIRES0)
- user defined interruptions
- the TCP/IP stack
- memory buffers allocated by a handle available for applications
- Serial port : high speeds, TCP/IP stack
The 19200 and 38400 bauds speed are supported. Garry spoke about a
TCP/IP stack. That would be a marvellous thing, probably very
difficult to implement.
- Keyboard : international support
In 1MEG we have enough space to store the various foreign keyboard and
character tables. 'just' have to modify the jump of the keyboard
scanning routine and the screen driver. Easy to say, hard to do...
This could be changed from the Panel, saved in a config file read on
soft reset.
- ISO LATIN I character set
Each foreign version could have its own characters but it seems
impossible to implement the whole character set wuth each font
(normal, tiny, bold). The blink only supports 448 characters. A
critical choice has to be decided... For more read 'ScrDrv.html'. The
'Euro' symbol is added.
- RAM based applications support
The installer features are added as 'commands' in the Index. APu files
are stored in a special directory. Now, you wont need external
application cards anymore. Just load the files from the FlashEprom and
install in RAM. If you wish to keep the application forever, just add
it to the OZ rom with the RomCombiner.
- New libraries
As described is 'OZ_calls.html', there is enough place to implement
new OZ routines. These will support :
- Flash Eprom library
- Graphic library
- Sound library
- ZIP File compression library
- Large contigous memory block allocation library
- WAV play routine (and thus having a pretty bell)
- Foreign system messages
We can dream... why not implement different langages for the system
messages. It could be selected from the Panel.
- System applications
- Panel
Would be more pretty, more powerful by adding new features : Keyboard
selection, Printer driver selection, keeping a system RAM image when
saving (it could be recovered after a crash)
- Printer driver editor
Would just edit the driver filter. A lot of different could be added
directly in the Rom. These driver would include the full ISO
translations, printers supported could be :
- IBM Proprinter
- Epson LQ
- HPCL
- Canon BJ
- Filer
It would be boosted by the new filing system. Access to the Flash
eprom device, with partitioning features. Allow 'on-the-fly' or not
ZIP file compression.
- Other applications
- Pipedream
- Add the RTF format option for more compatibility.
- Accept the whole ISO LATIN 1 for sorting order.
- Calculator
Add scientific options by implementing the FPP routines and adding
some base conversions useful for programmers.
- Diary
The Diary would benefit from being more word-processor-like in
entering text. Currently, it is based around the GN_SIP system call
which manages the input of a single line. The Diary should at least
have wordprocessing facilities like PipeDream. Several Diary
Applications are necessary as well - a single app is too limited. This
is fairly easy, since only the DOR structure needs to be changed…
- ImpExport
Imrove the transfer protocoles, and implement the Easylink protocoles.
Why not use directly Easylink ?(If Gunther agrees).
- BBC Basic
It would be nice to add the patch to the basic and create the BBC
v4.0. I've the patch sources, I've began to do that, still some
problems with ram variables. Menu could be added too (like FILE
LOAD,SAVE, RUN...).
- New applications
- HTML browser
Started, much work has still to be done. Useful for help files viewing
and, why not, web browsing.
- WAV file player
I'd like so hear my lovely computer say 'Z88 forever!'
- Text editor
Would be appreciated with a spell checker with some facilities, like
compilator shortcuts, HTML tags...
- Documentation
- Sources
All the sources would be available on each release. They could be used
under a license like the GPL. Just for lovers, no commercial use.
- Help
All the help and developper notes must be maintained, it is the only
way if we want to see new software or improvments. They should be
written in HTML.
For any more ideas, contact thierry.peycru@libertysurf.fr
More on OZ5
Technical information
Back to the Z88 home page