Re: [Ql-Users] QL USB Interface

2009-10-29 Thread ZN
On Thu, 29 Oct 2009 09:59:55 +0100, Adrian D. Ives  
adrian.i...@ntlworld.com wrote:



Tony,

I'm able to do the hardware side, but my area is really in the
software. If you were able to knock up some kind of interface between
the superHermes (which I have) and the USBWiz I'm prepared to put in
the time to look at the software.



TF The only obvious silly aspect of the hardware design is that there is
TF serial but no RS232 voltages.
TF It needs a Maxim style chip.


The reason why they do serial at TTL levels is that in general MAX232  
style drivers don't do well over 230400. Surprisingly waveforms look just  
fine at 230400, suggesting 4-5x higher speeds are possible, but it won't  
do even twice that. First hand knowledge since I am dealing with a 1 or 2  
megabit seril link here on a daily basis...


Nasta
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL USB Interface

2009-10-29 Thread ZN
On Thu, 29 Oct 2009 15:46:34 +0100, Tony Firshman t...@firshman.co.uk  
wrote:



Hallo Nasta - nice to see you are reading this (8-)#


I am, when i can - not only does time not permit it often, but my provider  
tends to lose a lot of messages, either receiving or transmitting :(



Thanks for the input.
Well sH is max (sorry for the pun) 230400 (I think) so the max style
driver is just fine.
I will use my existing stock of the sH MC145407.

Tony



MC145407 seems to do better. Also, what Malcolm said - things like this  
are not intended to be connected with long cables so that RS232C levels  
are needed. Over short distances TTL (actually HCMOS) will do fine just  
keep in mind the driver chips perform signal inversion.

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Unknown expansion board

2007-10-10 Thread ZN
On Wed, 10 Oct 2007 18:53:50 +0200, Francois Lanciault  
[EMAIL PROTECTED] wrote:

 This board is unknown to me; for what I can see in the picture
 anyway. What does it do ?

Looks like a SuperQBoard without the RAM controller and RAM chips...
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Memory contention (CPU / ULA)

2007-08-22 Thread ZN
On Tue, 21 Aug 2007 19:39:50 +0200, Palenicek Jan [EMAIL PROTECTED] wrote:

 Hi Nasta, Thanks for great info.
 Thanks, thinking more about it, I should still address my time critical  
 routines into this slow-ULA memory rather than to expanded memory,  
 because slow memory is equally slow on all QLs, is it?

Not if there is a GC or SGC. Then the memory is only slowed down when  
writing to it, because the GC/SGC actually maps a 'shadow' memory area to  
the same place. The way it works is that when data is written to those  
addresses, it is written both to the RAM driven by the ULA and the  
appropriate area of GC/SGC RAM. The slowest one dictates the speed, so  
that's the ULA. When data is read, it is only read from the fast GC/SGC  
RAM at the same address. This way code is executed (very) much faster from  
those addresses, but the ULA also gets a copy of all the data taht needs  
to be displayed on the screen.

 logic must have been a really tight squeeze because it would have been
 very easy to add a screen 2 and 3...

 And that would be really great to have more than two screens, no  
 blinking Flash bit...etc.

It is actually possible to add screen 2/3 switching with external logic.  
The ULA has two memory CAS signals, one for each bank of 64k. It also has  
a signal that is activated when the ULA is doing screen refresh. Screen  
refresh is always done in the bank selected by the CAS0 signal, if  
external logic activates the CAS1 signal instead, the ULA will address the  
top 64k of the built-in memory to do screen refreshes.

 Ok, I have discovered interesting ULA behavior. I cannot change screen  
 mode earlier than on the ~5th line of the screen. ULA simply ignores  
 status of the port. Do you know why?

I have never seen this, it is possible that the fram interrupt routine  
forces data into the control port, so your data gets overwritten.

N.
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Karsten Engstler ist außer Haus.

2007-08-22 Thread ZN
On Tue, 21 Aug 2007 15:03:23 +0200, MB [EMAIL PROTECTED] wrote:

 Donaudampfschiffahrtsgesellschaft

I challenge you to translate that into less than 5 English words :)
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[Ql-Users] Status

2007-08-21 Thread ZN
Sorry to use the list in this way but it seems some people have sent me  
amil and it got filtered as spam by my ISP.

Romaldo Parodi asked what happened with my web site - it has gone down  
with the spodmail ISP (don't know what happened to them exactly). I still  
ahve a copy and will look into putting it back on-line at some other host.

Someone has also asked me about schematics and other data for the Qubide.  
This is still available in the file section of the Qlhardware yahoo group  
at http://groups.yahoo.com/group/QLhardware/

Nasta
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Memory contention (CPU / ULA)

2007-08-20 Thread ZN
On Tue, 14 Aug 2007 09:35:43 +0200, Palenicek Jan [EMAIL PROTECTED] wrote:

 Thanks Marcel!

 I'm no hardware guy, but I'm pretty sure the ULA locks ALL internal
 memory during screen refresh, i.e. depending on model (EU/US) 50 or 60
 times per second. The CPU cannot access anything at all during these
 times.

 OK, I will measure read/write time in the vram anyway. ULA should  
 somehow share bus with CPU, it should not lock memory the whole TV frame  
 refresh.

The actual sharing is quite complex and effectively slows down the CPU  
access buy some 40% or so, unless there is shadowing involved, like with  
the GC and SGC.
The ULA actually requests the bus only during the active display portion  
of the whole screen raster generated. The total raster generated is  
640x312 of which 512x256 is used, so the ULA requests the bus about 66% of  
each frame (one frame takes 20ms).
During this time the ULA reads screen RAm bytes in bursts of 4 bytes each,  
to it's internal buffer. It uses page mode DRAM access to do so, otherwise  
it would take approximately twice the time. Depending on the synch between  
the CU bus cycles and the ULA timing, at best the CPU can get 50% of  
available memory bandwidth, and usually less. When all is said and done,  
you come out with about 50-60% bandwidth long term.
It shoul dbe mnoted that this is true for the whole 128k of internal RAM,  
even though the screen memory cannod reside in the second 64k - the ULA  
logic must have been a really tight squeeze because it would have been  
very easy to add a screen 2 and 3...

 Some memory expansions like the Trump Card are not as limited, you
 do not get any delays accessing the extended RAM there.

Most RAM expansions (the notable exception being some schemes which used  
internal piggy-back RAM expansion also driven by the ULA) are considerably  
faster. Expanderam/TrumpCard are not as fast as they could be but a great  
deal faster than the ULA addressed RAM. SuperQboard was known as the  
fastest, running at the full speed of the CPU.

Best,

N
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] Size for QXL.win Files

2005-07-14 Thread ZN
On 08/07/05 at 11:23 P Witte wrote:

 John Gilpin writes:
 4Gb per QXL.win file...

I only get 2GB with QPC2: FORMAT win8_4000 fails while win8_2000 doesnt.
Even then the file allocation block is a massive 32k. It seems to me that
4GB must be the theoretical limit for the current mapping scheme. The
minimum space taken by a file on disk would then be a whopping 64k

Per

Per is right, IIRC QLWA may have a 2G limit, even though 4G would be the
theoretical maximum.
There are two possible reasons for it:
1) Maximum number of allocation blocks (think of them as a sort of
super-sector) is a 16 bit word, unfortunately, some implementations and
versions took it a s a signed integer instead of unsigned.
2) Maximum size of one allocation block is a 16 bit word, again some
implementations and versions used signed arithmetic to point to a byte
within the block, which reduces it's maximum size to 32k.
IIRC the first error is the more likely to crop up. When QUBIDE was being
maintained, these cropped up, but I do not remember the speciffics any
more.
4G is a sort of double limit as the system implies that the whole QLWA
partition can be used up by a single file. Since the file pointer is a 32
bit unsigned (hopefully!) integer, the maximum size of a file is 4G, and so
is the size of the partition (64k blocks each 64k in size = 4G).
The serious limitiation here is that one file always takes up at least 1
allocation block (even if the file is empty!) and the less serious one is
that there can be max 64k files. The first is quite restrictive in QL terms
as files are, in general, much shorter than 64k. This produces a lot of
wasted space.
If you want to be absolutely sure, 1G QXL.WIN, with 32k allocation block
size is the way to go, it avoids all the possible pitfalls...

Nasta

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[ql-users] Palm-top 'QL' design progress...

2005-01-17 Thread ZN
Since I accidentally leaked that I would be designing such a thing a few
months ago, I suppose it's fair to say something about the progress of the
project.

So far, processors (68SZ328), Flash and RAM have been secured, I'm waiting
for some Philips USB chips too.
Working specs are:
* 68SZ328 Dragonball derivative CPU at 66MHz
* 40 or 64M SDRAM (probably 64)
* 16M Flash ROM (OS boots from there)
* Aurora-style 256 color graphics via VGA connector or TFT LCD (Still
looking for a cheap source of these, only have 2 for testing at the
moment), with touch panel support. 16 bit color is possible but resolution
is limited. A rather odd 680 x 510 maximum should be possible in 256
colors, if we stick to 4:3 aspect ratios.
* Built in MMC/SD Flash card slot and one CompactFash slot. The later is
wired so that a sort of cartridge-type expansion is possible, for instance
a CF to IDE adapter is simple to do, as well as other things like a small
Ethernet, USB or modem card that plugs into this slot.
* 1 standard serial port plus 1 IRDA port
* A/D and D/A converter for voiceband sound record/playback (there may be a
small speaker and microphone on board as well)
* 8x8 matrix keyboard support (like on the original QL)
* QL compatible expansion port (see notes below)
* misc. features available in the 68SZ328 like real time clock, alarm,
power down, etc...
* very low power operation suitable for battery powered applications
To be determined:
* either USB-to-go (that can act as both USB device and host) on board or
second CF slot where an USB adapter can be plugged in
* PS2 keyboard/mouse support
* Extra space for a NAND flash chip (128 Mbyte or 256 Mbyte)

Size goal: approx. the size of an Aurora board, will depend on the
availability of LCD displays as the idea is to mount a LCD display and
computer board together.

Notes:
This is intended as a development platform, and the finished products will
diverge into QL market ones and ones for different other markets. As such,
they may not have the same complement of IO capabilities or connectors.
Non-QL versions will not have the QL expansion port, for instance. In any
case, this is a stand-alone machine and the QL expansion port is intended
mainly for initial developement since the machine does not have a floppy
controller and cannot directly use for instance a Qubide driver (needs
slight modification) or have a romDisq connected to it. the port will
implement a superset of the QL's address map alowing even old peripherals
(but NOT QEPIII unless it is modified!, or RAM boards which I doubt anyone
will need with the 40 or 64 meg already provided) to be used.
8x8 (and possibly more) keys are supported, this is a design requirement
for the persons who are sponsoring this. PS2 keyboard/mouse support will
depend on the ability to use the 68SZ328's SPI port for this purpose - in
theory, it should work. Also, in theory there is no difference between
theory and practise, so... ;-)
256 color display is natively supported on this hardware. It also provides
16 bit color support for reduced resolutions. 16 and 4 color support is
possible for monochrome LCDs but 4 color is not compatible with the QL
representation. Therefore, old mode 4 and 8 is emulated.
The Flash ROM footprint on the board is capable of using anything from 2
megs up to 32 megs, depending on the availability of the chips. For now, we
have 16M chips already in stock, and are looking into getting the full 32M.

A very limited number will initially be available for developers willing to
port SMSQ/E (or for that matter any OS), modify crucial driver code or
write the few crytical applications...

Comments and ideas welcome...

Nasta



___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] Nasta's new email ?

2005-01-06 Thread ZN
On 5.1.2005 at 18:31 Brane2 wrote:

Hi to all.

I have tried to contact Nasta (Zeljko Nastasic) through email, but it 
seems that his email on QL related pages is invalid. His site works, but 
all data is pretty stale (1999 and older date) and his email account 
doesn't exist anymore.

Does anyone here have his new email and care to share it ?

TIA,

Branko

brankob at avtomatika dot com

Sure: here it is - zeljkoDOTnastasicATzgDOThtnetDOThr

Nasta ;-)



___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] Holiday Music For All !!

2004-12-25 Thread ZN
On 24.12.2004 at 22:23 Paul Holmgren wrote:

http://www.inet.hr/~sazivano/Move/Farting_Santas.htm

And on a Croatian site, no less - someone has too much time on their hands
in this country ;-)

Season's greetings, everyone, and all the best in the new year!

Nasta

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: Re: [ql-users] Trump Cards and FORMAT

2004-12-10 Thread ZN
On 10/12/04 at 12:24 [EMAIL PROTECTED] wrote:

1. Qubide II - definitely. Whether QL expansion is SGC or whatever, Qubide
remains the only option for hard disk expansion via IDE from a QL or
Aurora systems.

This is doable, but requires a minor and/or major upgrade to the driver.

The minor part is centered about keeping the driver and the disk format the
same, just catering for minor differences in the hardware (line not needing
to set any jumpers at all and the capability to work with romDisq).
Possibly, the initialization sequence could be simplified. All of this
assumes that the Qubide source (latest version) is available, and AFAIK, it
is (Roy? What is the legal status of it?), and also assumes a person that
can look into said source, understand the necessary bits, and change as
needed. It may be prudent to start a repository of sources, perhaps best at
the official SMSQ site?

The major part is more radical. It is high time that hard drive partitions
and formats be unified on QL platforms, and in fact, it is only Qubide that
does not directly conform to the norm. It should be possible (indeed, it
should not be much work) to convert the SMSQ/E win drivers for Qx0 to run
on Qubide hardware. The problem here is the lack of utilities. Qubide's
format and partition utilities are, to my knowledge, far more than is
available to the Qx0 user. Still more radical, it should be possible to
support both types of partitions as well, but that requires a lot of work
on the driver(s).

There are also issues associated with both drivers, namely use of slave
blocks and keeping the disk map (FAT or derivatives) in memory...

2. Ethernet - no use for it myself, but people have said on this list they
want it.

The hardware here is almost trivial, but the software isn't, unless one
limits oneself to a modified NET driver that can run on Ethernet hardware.
One gets a quick QL network but nothing else... OTOH supporting TCP/IP
could in due time expand the usefulness of such hardware imensely.

3. SGC-type expansion. Something is needed, whether you go down the
traditionalist path for a plug in and go Miracle-style expansion, or a
much more radical path...
You have to decide if you wish to go the expansion route (i.e. plug into
QL or Aurora) or go for some completely new hardware such as the one you
said you are developing for your employer.

Actually, it is likely that both will be made available.

The 'low end' system would be ehat my employer wants:
Very close to a fully kitted out black box QL and then some, as we can make
it now. The difference is, that everything is integrated and it is very
small - about the size of an Aurora. Functionality is not a quantum leap
over that, but it is higher than what we already have - most notably RAM is
increased to 32 or 64M, on-board 16M (with support for future 32M chip
incuded) Flash for program and data storage is provided, up to 50% more
speed than SGC (so still a far cry from Q40), built-in graphics that is
similar in some respects and improved in others compared to the Aurora (eg,
you can't have more than 512 pixels vertical but you can have 256 colors in
all resolutions, and 16 bit color in some, including standard VGA 640x480).
Varioous standard ports are included. New features are MMC flash cards, and
USB (possibly also ethernet), sampled sound support (mono). CF card support
has been seen before, the difference is that connecting a standard IDE
drive involves a CF to IDE adapter is needed, not the other way around as
would be traditional. It will probably also have a QL type expansion port
for peripherals ONLY at least on prototypes - in order to connect a floppy
interface or Qubide, to transfer data when setting up the system. It does
NOT have a floppy interface - one can be added externally. The video output
can also be used as an interface to a TFT LCD, including a touch-screen
option. So, it's some of the old with some of the new, in a nice small
package - usable as anything from an interesting toy to an industrial
controller. Obviously, many features will need to be supported in the OS,
either through modified existing drivers, or through completely new ones.

The 'high end' is a version of GoldFire or a re-hash of that design using a
top of the line ColdFire V4e CPU. In either case, the designs have
radicalityt to them:

GF design introduces dual processors (I have been going on about this for
years now and lo and behold this is the next step the mainstream is taking,
admittedly with dual core CPUs instead of dual CPUs, but the idea is
similar if not equivalent), along with a full stack of new hardware
features, which also involve additions to things like interrupts (by
introducing dedicated interrupt levels for fast peripherals and having the
ability to route them to either of the two CPUs). Lots of OS and driver
work that should prove essential in the future (if there is to be one).
This one has the disadvantage of using 68060, which is now officially
obsolete, so 

Re: Re: [ql-users] Trump Cards and FORMAT

2004-12-10 Thread ZN
On 10/12/04 at 10:46 Phoebus Dokos wrote:

[Qubide driver changes]

 Possibly, the initialization sequence could be simplified. All of this
 assumes that the Qubide source (latest version) is available, and AFAIK,
 it is

Yes it is :-)
The latest QubIDE v.2.02 is already incorporated in QDOS Classic btw :-)

Great, so we do have someone who knows how to poke around the source. In
essence, the only truly important thing to do is change the IO addresses to
a fixed value for GC/SGC systems. It uses a small area in the QL's IO
block, which to the best of my knowledge doesn't interfere with anything.
Also, the initial copying of the ROM to RAM is handled slightly
differently, there is more space available and once the ROM is copied from
it's initial address that switches off the ROM slot, it restores the ROM
slot and whatever is in it should then be initialized as usual (the
procedure is outlined in both the extended UM and the technical guide).

 The major part is more radical. It is high time that hard drive  
 partitions and formats be unified on QL platforms...
 does not directly conform to the norm. It should be possible (indeed, it
 should not be much work) to convert the SMSQ/E win drivers for Qx0 to
run
 on Qubide hardware. The problem here is the lack of utilities.

Absolutely true... and when the QubIDE software is run on a Q40 or Q60  
thanks to the wonderful work of Derek Stewart, many of the problems  
experienced with the regular QubIDE software (ie Not a QubIDE partition  
message appearing out of nowhere) are now gone.

Same would be true for the new Qubide. Signal integrity is well taken care
of.

However in all truth, there is a GREAT SMSQ/e partition tools only it  
doesn't run under SMSQ/e... it runs under Linux (atari-fdisk) and it's  
worth to boot a ram-based linux only for atari-fdisk :-)

Actually, if the driver was extended to support direct sector access (ah,
shades of metadevices again!), porting that or even using modified Qubide
tools would be possible. It strikes me as quite strange that no-one has
done this yet for the Qx0...

 Still more radical, it should be possible to
 support both types of partitions as well, but that requires a lot of
work
 on the driver(s).

I am not sure if it feasible without major changes in the QubIDE software

Not necessairly - internally, QubIDE partitions are stand alone just like
Atari style ones - they could fairly easily be made conformant with the
FAT16 style partition table, there are very few places in the Qubide driver
where this is accessed (notably win_use, either explicit or implicit at
initialization time). From there on, two drivers could exist, win and
something else (qub?), with win_use and qub_use commands. The usual win_use
parameters would apply to both, but each driver would only link in a
partition if it was the required type (QLWA or QLW0 respectively). Even so,
we really need to unify the format at some point...

[Ethernet]

 The hardware here is almost trivial, but the software isn't, unless one
 limits oneself to a modified NET driver that can run on Ethernet  
 hardware.

For that it is most likely that Peter's work on QlwIP will be almost  
trivial to adapt to a new EtherIDE (AFAIK Peter's hardware driver is for  
the Realtek chipset which is IIRC what you were going to use too)

Actually, I use the SMSC LAN91C96 which is similar but also different from
the Realtek. The Realtek has turned out to be a dead end - they only have
PCI versions now and they are not compatible with the ISA based one used on
the Qx0. Also, this assumes that Peter would be willing to do the work,
which I am not sure he would (and I hope I get to be proven wrong). SMSQ/E
licencing issues are likely to rear their head again but this could be
circumvented by supplying the module separately, though it should REALLY be
a part of both OSs.

 3. SGC-type expansion... a plug in and go Miracle-style expansion, or a
 much more radical path...

 Actually, it is likely that both will be made available.

When is the keyword here :-D

I'm looking at 10 68SZ328 chips right in front of me at the moment, SDRAM
and Flash are scheduled to arrive in a few weeks. PCB design is still to be
started once a definitive spec is drawn...

 The video output can also be used as an interface to a TFT LCD,

Without an inverter or is it a DVI output?

It's a raw digital output to connect directly to a TFT panel, and I do have
a supplier for same plus inverters... in the USA... but I haven't as yet
been able to find a nice small 640x480 color TFT with touch screen...
As such, this digital output can be used to connect a DVI transmitter chip
as well, so that option is also covered.

 GF design introduces dual processors (I have been going on about this
for
 years now and lo and behold this is the next step the mainstream is  
 taking, admittedly with dual core CPUs instead of dual CPUs...
 ...Lots of OS and driver work that should prove essential in the
future...

 Stop it you make 

Re: [ql-users] Trump Cards and FORMAT

2004-12-09 Thread ZN
On 09/12/04 at 12:35 P Witte wrote:

Life should have a pause button! Nasta?

And during the pause, I need to get a passable facsimily of me made to
handle day to day affairs, while I concentrate on things I really like
doing, like designing hardware for the QL ;-)

On 09/12/04 at 08:04 Phoebus Dokos wrote:

 Well I would love to know as well - all I do know is that Super Gold
Cards
  are soon snapped up as soon as people know that they are available.

 Even at 80 plus pounds a piece (which shows how badly a new standard  
 expansion card is needed (Nasta?)

Or at least more SGCs...

Why do you think I posted  the lengthy messages about ColdFire vs 68k?

At this point designing a new standard card requires a rather major
decision involving a problem quite similar to what was being discussed in
the original thread, namely, leaving some of the past IN the past. Even the
GoldFire design (even though, in it's last iteration, it did not have much
to do with ColdFire CPUs) was intended to run QMSQ/E exclusively, or at
least as the first option. Of course, no one would be stopped from porting
QDOS classic on it or indeed anything they saw fit - which is why the
documentation was freely available. It can still be made with the original
pair of 68060s (one required, one optional). The performance would be
slightly faster than Q60 as it utilizes faster RAM, and this is certainly
quite powerful in QL terms. Redesigning for CF V4e would push the
performance up by a factor of 4, ASSUMING the differences in architecture
are suitably handled - and note that at this point, 'suitably' is
signifficantly complicated by the nead to provide near 100% compatibility.

All of this means that the OS developers Marcel mentioned in his astute
email (in fact, I don't remember Marcel ever NOT being astute and to the
point in any email), would certainly get space to develop. But even if they
do and all the extra nice hardware features are supported, nothing will
happen if applications actually don't use them.

Now, there are two ways about this:

Either I design what i think I should, even breaking compatibility in
places where it's the sensible thing to do, and ignore the rants of the
sticklers-to-the-old, inviting the formation of yet another rift in the
shrinking community. A sort of this is the medicine, take it or leave it
approach. Lots of time and money involved, and most certainly not only for
me. I could get back into 68k programming with months needed to tackle the
SMSQ/E sources so I can actually do rudimentary support for all the
newfangled bits - which in practical terms means it probably would never
see the light of day - or I can ask for help (and I have), and write good
specs and documentation for developers to follow. At one pont, the can't
make omlet without breaking eggs addage becomes all to apparent...

Or: I attempt to get the 'feel' of what people in the community want (as
oposed to what they need) and in effect this is, all told, a net zero
vector - so I just pack it in regarding any even slightly radical
developement, or even all developement altogether. At this moment, I could
solely concentrate on a few simple things i could do - an Ethernet board, a
simplified Qubide II of sorts - things that I know I can do because they
require comparatively less investment (parts available, 2-layer PCBs, etc).
Sales would be very limited, but so would the investment. Alas, even these
assume at least GC if not SGC.

So, what should I do?

N.

PS - in a recent mail someone said that most users that do not want to
upgrade to SMSQ/E don't want it because theyt would have to use the PE. To
my knowledge SMSQ/E does not come with a built in bomb that explodes if one
does not use thge PE part of SMSQ/E, I just don't see what part of it would
MAKE them use it? Oh, and I have no doubt that quite a lot of the same lot
use Windows on a daily basis am I the only one who sees this as ironic?

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] Trump Cards and FORMAT

2004-12-08 Thread ZN
On 8.12.2004 at 1:09 Mike MacNamara wrote:

The latest CPUs need a lot of amps on the +12v lines, the AMD64s need at 
least 18 amps barebones just to post. but 30amps will run them OK.

OK, let me sort this one out so that we can go back to QL things:

Actually, that may not have anything to do with it. The motherboard
components do not use 12V directly, and in some cases not at all. What this
is about is the core voltage supply for the CPU. Even though this is a low
1.5 - 1.75V in most modern CPUs, the current needed is quite astounding -
50 to 60 Amps is not uncommon. In oreder to get this sort of power supply
to a CPU from an external power supply, one would need wires and connectors
with a cross section abut the same as those connecting a car battery to the
starter - i.e. some 10mm in diameter - completely impractical.
This is why the required voltage is supplied from an on-board converter. It
is left to the board designer to decide wether this converter runs off the
5V line or the 12V line. Depending on that decision, running a fast CPU on
a given motherboard may require the power supply to provide extra Amps on
the 5V or 12V line. If your motherboard uses an ATX2 additional 12V power
connector (kind of like a shorter, almost square version of the usual large
ATX power connector, with only 4 wires, two black and two yellow), your
power supply needs more current capacity on the 12V line. If not, then on
the 5V line.
It may be worth noting that the on-board converter(s) operate like true
transformers - Volts out times Amps out (=power output) equals Volts in
times Amps in (=power input), minus conversion loss (10-15%). What this
means is that using 12V to power the converter requires less amps than
using 5V. This is the reasoning behind the small extra ATX2 connector (also
known as the P4 connector) - connector contacts also have current limits.
Unfortunately, driving the converter off 12V also has other consequences,
but this is truly well outside the scope of this message. As a rule of
thumb, for the purposes of supplying power to the CPU, every 1 Amp on the
12V line counts as 2.4A on the 5V line. All of this assumes that no other
components are signifficant loads on these lines - in reality, they are not
large loads, but may just be what trips the current limit in the power
supply.
Also, AGP graphics can be a demanding load on the 3.3V line...

OK, now that you know everything about choosing the PCs power supply, we
can go back to QL thematics ;-)

Nasta

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] ColdFire vs 68000

2004-12-03 Thread ZN
On 03/12/04 at 02:19 Marcel Kilgus wrote:

 For the fun of it I did some greps over the whole sources on my first
 WIN partition (mostly SMSQ/E and some stuff like QPAC2, EasyPtr etc)
 to have some data:

dbcc: 324  exg: 474cmpm: 24rol: 168
ror: 367   roxl: 25roxr: 45
ori2ccr: 7
eori2ccr: 1andi2ccr: 5

It would be interesting to see where the EXG, ROL, ROR, ROXL, ROXL
instructions occur. I would bet quite a few in the graphics driver...

 Long-word forms only:  Most arithmetic and logical instructions can act
on Long words only

add: 3417  adda: 222   addi: 36addq: 
1853
addx: 225  asl: 48 asr: 80 cmpa: 12
eor: 175   eori: 14lsl: 803lsr: 804
neg: 314   negx: 1 not: 270or: 847
ori: 67sub: 1685   subi: 43subq: 
2504
subx: 4

These are much more difficult to sort out - the big question is, wether the
actual operation must be .B or .L, in other words, the upper bits of the
register need to remain unchanged. And, of course, it is one thing if an
emulated instruction EXECUTES seldomly (as opposed to appears in the source
code) or is executed often, and/or nesteed in loop(s). Rewriting the latter
code to be CF compliant is well worth investing into, the rest can always
be left to emulation.

Well, but basically I see two classes of instructions: the ones that
are seldom used and therefore emulation is fast enough and the ones
that are so often used that it is not manageable to exchange them...

Actually, it's not as simple as that. There are 4 basic cases:
Emulated/replaced * source_available/source_not_available.

For the cases where source is available, one can opt for automated
cross-assembly, using for instance MicroAPLs portASM68k. This is a tool
that ypu can download for free after you fill in a web registration form at
freescale.com. It is worth noting that MicroAPL offers other portASM
products, and indeed CPU emulators (called MIMIC) as well as
cross-compilers that can take 68k asm source and cross-compile them into C.
Freescale/Motorola is obviously very keen on getting CF to occupy a larger
share of the embedded market as these MicroAPL products are normally VERY
expensive. For instance, MIMIC that emulates 68k on PowerPC chips costs
$5500 as a developement system and over $1000 as a deployment licence.
Anyone attempting to write an emulator, or indeed, that has written or is
using an emulator, should look at these figures...
Even though PortASM68k is free, it is quite well documented and it is
probably well worth unleashing on selected parts of SMSQ/E source and then
looking carefully at the output and log files. It is actually a rather
clever program, however, someone deeply involved in the source could
probably do a better and far more optimal modification by hand. The big
question as always is the tradeoff between suboptimal code that takes a
fairly short time to produce using an automated translator, or optimal code
that takes a longer time to produce by hand. IMHO optimisations are sure to
follow once an automated translation starts working - and some (possibly
considerable) hand optimizing will take place. The crux of the matter is,
does it actually take any longer to get the finished product (as opposed to
working product) if optimizing by hand was done from the start for the most
critical sections of code, without the automation ever being used?
The real test of how well such translation performs would be passing the
sources for SMSQ through it, assembling them, and running them on the same
machine (the differences re USP/SSP and associated stack behaviour should
be left alone, portASM provides for this), then comparing code size and
performance.

At some point, whoever is doing either the cross-assembly or the manual
changes might decide, on a case to case basis, not to bother with certain
code fragments, and assume there is an emulator present.

For the cases where the source is not available, emulation is the only
recourse, but no doubt cases will crop up where emulation fails. Work will
have to be done to find the cause and patch the offending code by hand. One
would expect that these will be relatively rare occurences, but it is also
plausible to expect these cases to be tough nuts to crack.

What it comes down to is this:
1) How good is PortASM at what it does?
2) How good is the emulation library and what instruction set should be
emulated?

The first needs to be tried and evaluated. The second is a different case
and for it, I propose something like an address extended 68000 but with
limited FPU support. I have just looked at V4e user's manual and it appears
that the FPU is in fact semi-compatible to the 68060 implementation,
however it only does double precision. IIRC this can be converted to 

Re: [ql-users] The hardware

2004-12-01 Thread ZN
On 30.11.2004 at 18:21 Marcel Kilgus wrote:

 The SGC can actually access the Aurora ROM chip proper... what  is
unclear is if it can also generate write cycles on the bus
 for those addresses.

Can't one see that in the chip code Keith has recovered?

 YES!

So didn't you get them? I had a brief look at them ages ago
and had the understanding that they're on their way to you.

No, never got them... I only saw them when Keith oiginally got them and
they were really faxed through and quite unreadable at that point. I have
no idea what happened to them after that.

 1) CPU
 a) 68k (semi)compatible or an alternative - the latter requiring
 a complete re-write of nearly everything or at least a very
 capable emulator.

 I don't see much use in an alternative CPU. In that case better
 get a cheap PC and get some emulator whose name just slipped my
 mind.

That would be the most logical choice for a regulat 'home use' machine, but
not at all for something which can also be sold on the embedded market.
SMSQ/E could be interesting in such markets even if emulated, but not at
the price of involving PC hardware (although price is OK, reliability is
questionable as is the cumbersome nature of it).

 b) 68060 or Coldfire - 68060 being the obvious compatible choice
 but suffers from obsolescence...  Coldfire has the
 semicompatibility problem.

You probably just have to wait another few months and they'll get
completely compatible again ;-)

Actually, Motorola/Freescale just announced data for their V5 core. They
did put back a few more things but most of the semi-compatibility remains.
Even so, if you had the time to look at that long email on this issue, it's
a whole lot more manageable if you restrict things to emulaing 68000 plus a
few choice extensions.

 2) Format
 a) PC influenced or industial - in other words, uATX (flexATX or  ITX)
or Euro/halfVME.

 Just my feeling, but I'd opt for small and something like a Euro
 card.

Yes, I like small put fun toys too ;-)

 The ATX/BAT market is already served by the Qx0.

Actually only BAT and that is very much dead. I'm thinking of even smaller.

 b) Fully integrated or expandable... integrated with minimal
 expansion but also fairly costly solution

Does it make that much difference price wise?

For the finished product, no - the PCB is a fairly minor investment, 30% or
so savings on it will not make it much cheaper. On the finished product you
just don't populate the board with the bits you don't need. The
developement is where you have to put lots more money - you cannot really
split the project into segments and have actual hardware released one
segment at a time. In the long run the costs are quite likely the same, but
short term, the integrated approach requires much more $ at once to develop
and set-up manufacturing.

 flexATX is that part of a regulap PC ATX motherboard that has
 the serial, parallel, USB, keyboard, mouse and sound connectors

Roughly 23 x 19cm, I gather.

No, actually smaller. Think ATX with all the slots taken off. In fact, if
you take an ATX motherboard and look at it so that the IO connectors are
along the top righthand edge, and the PCI etc. slots on the lefthand side,
you will see it has 6 main fixing holes. Take the 4 rightmost - 2 near the
IO connectors and 2 usually just in front of the RAM sockets - they ruyghly
delimit  the size of a FlexATX board. So, it's about 17 x 18cm.

N.

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] The hardware conflict...

2004-12-01 Thread ZN
On 30.11.2004 at 11:25 Dave P wrote:

 I know a bit about the romdisq and it sounds like an interesting
 piece of hardware.
 How does the romdisq compare to a cut-down qubide with space for
 one or many CF cards? Not that there's much to 'cut down' on the
 already very sparse qubide!

If a dedicated CF-only Qubide was made, it would be signifficantly sparser,
indeed - if it went onto the expansion bus or onto the ROM slot of an
Aurora (that one has the requisite 'write' signal unlike the standard
port), it would need one CF connector, one GAL and some means to hold the
boot code, perhaps a small Flash. The nice thing about romDisq is that
having a true ROM mode means you can actually get the driver for romDisq
onto romDisq itself and still have the QL see it and initialize it
correctly at start-up. Not at all easy (verging on impossible) with CF so
you need another form of ROM to hold the driver. Also, on a dedicated CF
adaptor, one more chip would have to be used if the CF card itself is to be
hot-swapable, however it is doubtfull this would be needed as the hardware
itself would only be slightly larger than the CF connector, and therefore
only very slightly larger than ROMdisq. With an approach like romDisq, the
hardware would stay very similar to romDisq - one programmable logic chip,
one ROM-like device for the driver, and a CF connector.

N.

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] Aurora screen resolution

2004-11-30 Thread ZN
On 30/11/04 at 04:02 James Hunkins wrote:

 LCD panels have a 'native' resolution where every pixel is physically 
 represented by an element within the panel. Lower resolutions are 
 'scaled' down either by the graphics drivers or by hardware (panel or 
 graphic driver chip).  Lower resolutions will never be as 'clear' and 
 the native.

With only one exception: when they are exact whole number multiples of the
native resolution. This is actually quite difficult to do as there are no
lower resolutions used in the PC world that would scale properly into
1024x768 (most common resolution for 14 and 15 LCDs), unless of course you
own a QL (512 x 384 - but NOT 512x256, see below). For 17 and 19 LCDs, the
most common native resolution is 1280 x 1024. This is actually even worse
because it's aspect ratio is 5:4, not the standard 4:3 or wide screen 16:9.
On such a screen not a single Aurora resolution will look it's best.

CRTs are better as they are very scalable up to their max resolution.  
But I personally will never go back to them as the better panels today 
are just so awesomely brilliant and sharp (now that you no longer have 
to allign a moving electron gun, along with scattering/bleeding issues, 
etc that are inherent to CRTs).

I will do the same just as soon as I can get a 2048 x 1536 LCD for $300 or
thereabouts ;-) But that being said I do own a 17 wide screen, 1280x768
LCD ;-)

 unlike CRTs some (at least some, if not most) LCD panels have a
preferred 
 resolution and have difficulty with anything else.

This is actually a shamefull show of corner cutting. Because of my job I
had to look at the specs for many LCD monitors and bare panels, and EVERY
SINGLE ONE uses a scaler chip that can scale any resolution (including ones
far odd-er than provided by Aurora!) up to some maximum (usually 1280x1024)
to the standard LCD panel resolutions. It's just that manufacturers do not
bother with providing the simplest math to program the scaler properly -
and I might add, math for which they alrady have all the data about the
resolutions, frequencies etc provided by the signal source, and which is
far more difficult to measure. Some of the programming I've seen in this
area is just horribly incompetent - more proof that PC style programming
(memory leak = go buy more RAM and  learn to write propper code) is
killing the art...

N.

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] The hardware conflict...

2004-11-30 Thread ZN
 performance
at the expense of low code density... This all means that programs compiled
for RISC processors tend to be substantially larger than those compiled for
CISC architectures such as the 680x0. This penalty does not greatly matter
for powerful servers or workstations with 64MB or more of RAM, but for some
embedded applications it can be a significant disadvantage, both in terms
of system cost and power consumption. The ColdFire architecture... is
optimized for code written in C or C++, and instructions which are not
frequently generated by compilers are amongst those removed from the
instruction set... In order to regularize the instruction stream, ALL
COLDFIRE INSTRUCTIONS ARE EITHER 2, 4
OR 6 BYTES WIDE, this is why certain combinations of source and destination
operands are not available.

Missing addressing modes:
The ColdFire addressing modes are quite similar to those of the original
68000, i.e. without the extensions introduced in the 68020 and later
processors, but with some differences in indexed addressing. Compared with
a 68020 or later processor, the comparison is as follows:

Fully supported:
Data Register DirectD0
Address Register Direct A3
Address Register Indirect   (A5)
Post-increment  (A1)+
Pre-decrement   -(A7)
Displacement (16-bit displacement)  100(A2)
PC Displacement (16-bit displacement)   100(PC)
Absolute Short  ($100).W
Absolute Long   ($220E0).L
Immediate   #3

Partially supported:
Indexed (10,A2,D3.L*4)
PC Indexed  (0,PC,D2.L*2)
The restrictions on these two modes are:
(a) The displacement constant is 8-bit only
(b) 'Zero-suppressed' registers are not supported
(c) The Index register can only be handled as a Long. Word-length index
registers are not supported.
(d) The scale factor must be 1, 2, or 4. Scale factors of 8 are not
supported.

Not implemented at all:
Memory-indirect post-indexed([12,A3],D2*W,1000)
Memory-indirect pre-indexed ([12,A3,D2*W],1000)
PC-indirect post-indexed([12,PC],D2*W,1000)
PC-indirect pre-indexed ([12,PC,D2*W],1000)

NOTE THAT FURTHER RESTRICTIONS MAY BE IMPOSED ON THE ADDRESSING MODES
SUPPORTED BY PARTICULAR INSTRUCTIONS, EVEN IF A PARTICULAR ADDRESSING MODE
IS ITSELF AVAILABLE ON COLDFIRE.

Missing instructions:
A number of instructions are not implemented at all under ColdFire. These
include:

DBcc, EXG, RTR, RTD, CMPM, ROL, ROR, ROXL, ROXR, MOVE16, ABCD, SBCD, NBCD,
BFCHG, BFCLR, BFEXTS, BFEXTU, BFFFO, BFINS, BFSET, BFTST, CALLM, RTM, PACK,
UNPK
CHK, CHK2, CMP2, CAS, CAS2, TAS (supported in V4 core), BKPT, BGND, LPSTOP,
TBLU, TBLS, TBLUN, TBLSN, TRAPV, TRAPcc, MOVEP, MOVES, RESET, ORI to CCR,
EORI to CCR, ANDI to CCR

In addition, DIVS and DIVU (with some differences from the 680x0
equivalents) are available on some ColdFire processors but not others. MULU
and MULS producing a 64-bit result are not implemented, but 16 x 16
producing 32-bit, and 32 x 32 producing (truncated) 32-bit, are available.

[Comment by ZN: Out of the above, DBcc, ORI EORI ANDI to CCR are obvious
problems, and ROL ROR ROXL ROXR although seldom used do appear in QL code.
Most of the others are no great loss... although some bit field
instructions would have been nice...]

Long-word forms only:
Most arithmetic and logical instructions can act on Long words only. This
applies to:

ADD, ADDA, ADDI, ADDQ, ADDX, AND, ANDI, ASL, ASR, CMP*, CMPA, CMPI*, EOR,
EORI, LSL, LSR, NEG, NEGX, NOT, OR, ORI, SUB, SUBA, SUBI, SUBQ, SUBX
*For the ColdFire Version 4 core the CMP and CMPI instructions are fully
supported.

[Comment by ZN: these are a serious problem as they are very often used.
They can be enulated but emulation can be particulairly inefficient if one
absoultely needs to calculate the V flag]

MOVEM.W has also been removed from the instruction set in all versions.
In fact, the only instructions which do act on the full set of byte, word
and long operands are CLR, MOVE and TST, together with CMP and CMPI for the
V4 core. EXT.W, EXTB.L and EXT.L survive in all versions, as do MULx.W and
MULx.L

Instructions which act only on registers, not on memory:
Some arithmetic instructions cannot act directly on memory - the
destination must be a register. This applies to:

ADDI, ADDX, ANDI, CMPI, ASL, ASR, LSL, LSR, NEG, NEGX, NOT, EORI, ORI,
SUBI, SUBX, Scc

Note that ADDQ and SUBQ can act directly on memory.

Restrictions on addressing modes for particular instructions:
Even where a particular memory addressing mode does exist in ColdFire, some
instructions are subject to further restrictions. Often, this is because of
the limit of six bytes as the maximum length of a single instruction.
Specific restrictions include:

(a) Some combinations of addressing modes for MOVE are disallowed:
If the source

Re: [ql-users] The hardware

2004-11-29 Thread ZN
OK, let's see if my email is FINALLY working right!

Phoebus Dokos and Marcel Kilgus wrote:

 The Aurora CAN display 256 colours on 640x480 but the Super Gold
 Card prevents that by taking some of its addressing space.

 Check your facts. This is simply wrong. The memory organization in 256
 colour mode is 512 bytes per line, there CAN'T be a 640x mode.

 There is also a special diagnostic mode that can go up to 1920 x
 something - I have used it ONCE so can't remember much any more -
 Refer to Nasta's epic emails for more details :-)

This is also wrong. The diagnostic mode is 1024x960, so just a few
more lines.

Marcel

To make things clear:

The absolute maximum resolutions of the Aurora, assuming no limitations of
monitors, refresh rates or address space are as follows:

4 colors (QL format): 1024 x 1024
8 colors (QL format): 512 x 1024 (I know, silly, but that's how the QL
format works)
16 colors: 1024 x 512
256 colors: 512 x 512

The only and unfortunately unavoidable reason for this is that there are
only 256kB of addresses available to hold the Aurora screen memory area.
Thus, 1024 x 1024 x 2 bits = 2Mbits = 256k, as is 1024 x 512 x 4 bits and
256 x 256 x 8 bits. Predictably, the Aurora uses one 2Mbit VRAM (a special
dual port dynamic ram intended for frame buffers on graphics cards),
organized as 156k x 8 bits, in other words, a 256kbyte RAM.

Other limitations force the actual resolutions that the Aurora actually
displays even though the above ones are possible in theory. One is that you
can get a theoretical maximum of 2500 bytes a second out of the second
port on the VRAM, in other words, this is the maximum speed at which bytes
representing pixels can go out of the RAM to be drawn on a screen. Also,
the maximum speed at which pixels can be generated (nothe that one pixel
only equals one byte in 256 color mode) is 6000 pixels a second. These
two limitations as well as the pixel arrayt organisations above and the
size of the VRAM cannot be circumvented with current hardware.

However there are things that can be changed, and without too much work, I
might add. For one, assuming one can reduce all additional expansion save
the Aurora to the ROM port, the full resolutions could be used if the EPROM
marked SCAN is loaded with slightly different code. In fact, the existing
code can be altered so that for standard, VGA and SVGA monitors the Aurora
behaves as it does now, but the final setting, that for Multisynch monitors
(in fact all available today should support this setting), has an unused
option, which is Multisynch Interlaced. When this is activated via the
monitor type jumpers, 1024 x 768 in 4 colors will actually display the
diagnostic mode, 1024 x 960, however, this will be in interlaced, as the
6000 pixels per second limit forces this. This setting could be fairly
easily replaced by a new monitor definition that would use all the
available memory.

Also, there is a possibility of using a Flash ROM instead of the EPROM that
holds the OS. A half meg device could easily hold QDOS, Minerva and SMSQ/E.
This however needs a bit more work, in particular with the (SIC!) GC/SGC
ROM. Also, there are some things unclear in the way SGC decodes memory
which may make it impossible to program the Flash ROM in the Aurora - it
may need to be programmed on a chip programmer. Finally, there seems to be
a world-wide shortage in such chips hosed in teh standard DIP 32 package,
but PLCC 32 (far smaller and require an adaptor, which, fortunately, is not
expensive to make) are easily and cheaply found. Finally, a small change in
the logic of the large programmable chip is needed to enable the in-circuit
programming of the Flash chip on the Aurora (when the Aurora was designed,
such chips were still quite exotic).

There is a batch of about 20 remaining Auroras for shich I am working on to
include this functionality. It would be possible to modify all existing
ones to include it as well.

That would about stretch the capabilities of the Aurora as far as they
could possibly go.

One other improvement could be possible assuming a replacement is made for
the INGOT20 programmable chip on the SGC - it would speed up data transfer
between the SGC and Aurora (and indeed other expansion cards that could use
it) by a factor of at least 2. Unfortunately, very little if any SGC
documentation remains. Such a replacement would entail desoldering the
INGOT20 socket and connecting a special small adapter PCB with a different
and new programmable chip. Assuming larger capacity RAM is available in a
ZIP package, it would also be possible to expand the SGC RAM to 15Mb or so,
using the same replacement INGOT20.

Nasta

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] The hardware

2004-11-29 Thread ZN
On 29/11/04 at 15:56 Marcel Kilgus wrote:

ZN wrote:
 OK, let's see if my email is FINALLY working right!

Hooray :-)

Ditto = finally!!!

 This setting could be fairly easily replaced by a new monitor
 definition that would use all the available memory.

But which would only result in even queerer resolutions like
1024x1024? Especially with the trend clearly going to LCDs I don't
think this is worth it. I only have LCDs in the house and while
developing the driver it was difficult enough to test modes like
512x480...

I actually have a LCD for testing purposes and will probably at some point
ammend the SCAN ROM for better compatibility. Or, failing that, I will
explain how it works and someone else can create the necessary contents ;-)
Of course, you do have a point there. About the only useful extra
resolution to have would be 1024 x 512 in 16 colors but since there is no
driver, it's a moot point.
There is another possibility that I have been toying with that would be
VERY simple to incorporate if the MAC programmable chip is reporgrammed,
which is what it needs to implement Flash ROM compatibility - and that
would be re-enabling two screens even in higher resolutions and colors. The
whole memory area would be enabled and could hold up to 2 x 1024x512 in 2
colors (fairly useless), 2x 512x512 (used as 512x256 or 512x384) in 16
colors (also fairly useless) but also 2 x 512 x 256 in 256 colors. Maybe we
get an arcade style game for the Aurora out of it ;-)

 Also, there is a possibility of using a Flash ROM instead of the EPROM
 ...Also, there are some things unclear in the way SGC decodes memory
 which may make it impossible to program the Flash ROM in the Aurora - it
 may need to be programmed on a chip programmer.

Which is not really an option, is it? It's probably okay for QDOS and
Minerva, they haven't been updated for ages, but with SMSQ/E you'd be
back to status quo, having to load it from a device after booting
another OS.

Agreed. This is why some exploration is needed...
The SGC can actually access the Aurora ROM chip proper (and the SGC ROM
chip as well) at alternate addresses (starting at $40 IIRC), what is
unclear is if it can also generate write cycles on the bus for those
addresses. Obviously, these write accesses are needed to write the new
contents of the Flash ROM. If yes, adding Flash capability is a nice bonus.
If not, the last 20 or so Auroras get sold as bog standard Auroras and not
a 'Special Edition' ;-)

 One other improvement could be possible assuming a replacement is made
 for the INGOT20 programmable chip on the SGC - it would speed up data
 transfer between the SGC and Aurora (and indeed other expansion cards
 that could use it) by a factor of at least 2.

I'd say better invest the time in a complete replacement for the SGC ;-)

I would tend to agree - but some facts should be mentioned as well:
1) All of the above are fairly trivial things and therefore can be used as
stop-gap measures
2) There are a number of Auroras and SGCs out there and such mods are very
cheap, unlike a whole new replacement - this has to do with the required
critical mass of users, mostly.

Nasta

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] The hardware conflict...

2004-11-29 Thread ZN


*** REPLY SEPARATOR  ***

Dilwyn Jones wrote:

 I use a ROMDisq in this situation, though a new 128MB ROMDisq would
 solve the problem.
 Technically I could make a 16mb RomDisq with the existing hardware.
 Unfortunately the minimum chip buy is about UKP5,000, so not on.

This all sounds a bit silly when you consider that a cheap compact
flash card and reader for the PC costs about £12.
...CF crad readers which work with Qubide do exist

In fact, the Flash chip market is swamped by huge overdemands - right now
it has become even more difficult getting small amounts of chips because
orders of several tens of thousands are not uncommon. In the case of flash
ROM used in USB keys and CF cards etc (which are of different type but
actually more suited for something like romDisq - unfortunately they were
in their infancy when romDisq was designed), it is nearly impossible to get
samples - the best wai is to find a cheap flash key and take it appart -
and for small runs, the cheapest too. I have recently corresponded with a
Samsung sales representative and they told me that I could get my parts in
a year or so (a few hundred) unless i ordered several hundred thousand in
which case they would bump down another large customer on the waiting list!
The chips in question are 1Gbit capacity (128M bytes), the most common chip
used in USB flash storage. In the end I got my sample by dissasembling a
brand new USB flash, one of the older types which was large, easy to
dissasemble and quite cheap too ;-)

That being said, it seems that I will be getting a few samples of the new
16Mbyte (128Mbit) regular flash, which are to be used in the small porta-QL
design I talked about at QL2004. These are selectable byte/word
organisation devices, alas not directly usable on romDisq...

Nasta

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] The hardware conflict...

2004-11-29 Thread ZN
On 25/11/04 at 21:07 Dave P wrote:

 The QL uses such minimal power that unless we are using Coldfire this
 can be ignored.

Not so. On the typical PC laptop motherboard is a charge control circuit
to regulate the current to the battery, and power monitoring to select
whether the battery is charged, used, or ignored.

Actually, the QL uses quite a lot of power by today's standards for low
power devices, but definitely negligible compared to today's laptops. Using
a Coldfire CPU (which has it's own problems I may find time to discuss in
another email), things can only get better - the most power-hungry Coldfire
uses only about 2W of power. To give you some perspective, it could run for
approximately an hour and a half on an average mobile phone Li-ion battery.

hard to disagree this point) then what is really in demand is an embedded
QL-compatible platform that can be a desktop or laptop board, or used for
control/monitoring functions, etc. It would need to be a board of two
halves, logically speaking. A standard processing, OS, memory and required
interfaces half and a custom interfaces half (if that counts as half).
Ironically, this is more-or-less what Nasta designed as the Aurora II.

Heh... but sometimes I really hate being right about some things ;-)
As it happens, my current employer needs precisely such a device, though
not as powerful computing-wise as the combo of GoldFire and Aurora II. QL
compatibility is actually one of the goals - time and time again, I have
demonstrated that it is a very valuable tool, usually by writing small
snippets of Sbasic on QPC2 to develop control algorithms for some of his
hardware (and in this case I do mean hardware, as in motors, magnets and
the like).
To this end I now have on my table 10 68SZ328 fully 68k compatible 'systems
on a chip' - commonly known as the last DragonBall CPU, used in Palm's last
series of 68k based palm-pilots. This chip is still in production, and
aside for not being extremely fast (it's a 66MHz 68000), it fits the bill
quite nicely. The next project we are alrerady looking at is something
similar using the new V4e Coldfires. The 68SZ328 'QL' will be a small
4-layer board slightly wider than the Aurora (say, the size of the printed
Quanta mag). 16M of Flash (Replaced by 32M when larger chips become
available) and 64M of RAM will come as standard. Also a VGA or TFT LCD
interface, CF and MMC memory card slots, serial ports, and quite possibly
USB and/or Ethernet. The intention is to make these available almost at
cost to the QL community in exchange for porting SMSQ/E etc. First
prototypes will probably also have a QL compatible expansion port, and all
can be affixed to a small VGA resolution (640 x 480) TFT LCD.

My only discomfort over Nasta's design is that he is extremely concerned
about efficiency of space. Therefore, he's crammed an awful lot into a
very small 6-layer PCB.

Actually, it's 4 layer ;-)
6 Layer is not that much more expensive though - 15 to 20% has been quoted
to me by the manufacturer. The only problem with said manufacturer is that
it's the next country over, now part of the EU, which makes it necessary to
go through rather complex customs procedures, but as my employer is looking
at moving to multilayer boards anyway, it may be possible to do a 'where 4
can fit, the 5th can usually be easily shoed in' thing.

Nasta is just too efficient for his own good ;)

Looking back, I'm not really that efficient at all ;-( but I hope I will
improve...

BTW with recent experience in doing 2 layer boards running CPUs and RAM at
100MHz, I am convinced more than ever that ANYTHING can be fitted into 4
layers ;-)
Oh, and one more thing - the same recent experiences have shown again that
autorouters are still abysmal at doing any sort of efficient PCB design. At
least the ones I can afford... Doing the routing manually, which took about
a week, admittedly, I have managed to squeeze one 160x100mm 4-layer board
and one 40x100mm 2 layer board (both autorouted) onto a single 120 x 70mm
2-layer board, almost 3x less area and about 7x lower cost of manufacture.

Nasta

PS, special note to TF: Aurora II and GF are routed with 8.333mil wide
tracks and 8.333mil spacing - so not quite to romDisq standards but then,
both sides are completely covered by components ;-)

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] The hardware conflict...

2004-11-29 Thread ZN
On 25/11/04 at 13:18 Dave P wrote:

Most elements of Nasta's Aurora II design are tried and tested, but the
ethernet part is completely new. I would be inclined to suggest a short
run of prototype ethernet only QL-standard expansion cards to go to
developers. Once the hardware exists, it becomes an option to form a
working group to produce drivers and a friendly API.

We're looking at a few hundred pounds for the hardware, and
hundreds-thousands of hours for the drivers...

Dave

Actually, the Ethernet part is integrated onto Qubide II, named EtherIDE.
The IDE part is a slightly expanded and completely updated Qubide, and the
Ethernet part is actually only a very small area on that borad - it was
integrated literally because there was left-over space and cost of putting
it over there equals cost of Ethernet chip plus magnetics plus connector.

Because of this, it is easily 'transportable' onto a different project or
on a stand-alone board. It is certainly possible to produce such board in
small quantity and relatively cheaply (I am in fact looking into it right
now). However, this supposes several things about the system in which it is
to be used:

1) SGC
2) Aurora
3) Backplane

And also, it relies on usage of the external interrupt pin (similar to
superHermes). There are only a few people that would know how to use this,
Lau Reeves foremost ;-)
The hardware is 10BaseT, so 10 Mbit, fortunately, the manufacturer also
makes a software compatible 100Mbit chip.

One more thing connected with EtherIDE - it would actually be more
straightforward to integrate a USB interface onto the Qubide II instead of
Ethernet. Some time ago a Philips USB chip was discussed on this list. This
uses a 16-bit data bus, and the only place this is currently available on a
QL is on the IDE connector of a Qubide. The local Philips distributor has
promised a few samples of this by the end of the year...

N.

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] QXL RAM

2004-11-29 Thread ZN
Dave P and Phoebus Dokos wrote:

 My question is regarding an overclocked QXL. Mine is currently at 33MHz
 but my 68040 is for 40 (therefore an 80 MHz crystal could be installed)
 but I do not know if the ram could take that!

70ns FPM memory will support 50 or 60MHz bus speeds with ease. If it's
only running at 40MHz I would anticipate a large reduction in heat output
and current drawn.

70ns should be fine for 33MHz. The problem here is not really the RAM but
the GLUE chip on the QXL - it's already 'cheating' even at 20MHz, and uses
passes through it's logic array to generate delays for RAM timing. As bus
speed increases, differences from one GLUE to the next and differences in
operating temperature make the timings more and more crytical, 60ns RAM
just gives added leeway for timing mismatches courtesy of the GLUE chip.

N.

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[ql-users] 68SZ328

2004-07-05 Thread ZN
Hi,

Well, by the graces and capabilities of my employer I have managed to get a
hold of 10 samples of the 68SZ328. The prise is about 17EUR plus VAT and
carriage but I won't know for sure untill I get the info from the
accountant as he ordered other things with them.
As we discussed, he wants to build a small machine that would drive a CRT
or LCD monitor, could be easily programmed, and would run some games. The
idea of running it under SMSQ/E was discussed and he seems very interested
in this as it's small and relaively easy to program. I've also roped in
another 68k programmer that used to program Atari STs etc, and he is very
impressed by the docs I gave him on SMSQ/E - he also downloaded the source.
I plan to drag him by his heels if needed, to QL2004 later this year...
he's the kind of guy that is capable of doing anything if only he finds it
interesting ;-)

I also have a small 640x480 TFT LCD, unfortunately only one but I think it
would be sufficient for experimenting - a VGA output will be provided for
sure, it's one fo the design goals to have it. The idea is to make a board
about the size of the LCD that the LCD would bolt onto, and that would be
the whole computer. Since I will have to design this board for work, I have
discussed the possibility to make a number of them available to the QL
community in return for work done on porting SMSQ/E, which I think would be
beneficieal for all.

The board itself is going to implement most if not all of the SZ functions
- Most probably the largest possible RAM size would be used (that would be
2 banks of 32M, but depends on what chips I can get as the SZ uses a 16 bit
bus), a decent size Flash ROM for booting from (2M at least, probably more
depending on part prices), a MMC or SD memory card socket and probably USB
will be included, ditto serial ports, VGA out, some sort of matrix keyboard
(probably 8x8 like the original QLs, makes things easy), sound (most
probably mono due to the limitations of the SZ), and anything else of use
that comes to mind. The SZ literally has tons of functions...

Not an easy board to make as the SZ has 196 pins on a small square chip, a
14x14 grid of ball contacts on a .8mm pitch. It is truly very small. The
board will be 4 layers for sure, possibly 6. Graphics could be very easily
made to be compatible with Aurora 256 color, and 16 color - the slight
problem is that there is no capability to faithfully emulate old QL
graphics but I think a screen emulation scheme could work, though it would
only be for initial developement.

Things to decide:
* There is also a 16 bit color mode but it uses up a lot of the memory
bandwidth for usable resolutions, which would slow down the CPU, so
resolutins might be limited. This however remains to be tested
experimentally. I'm leaning towards not using this mode as the CPU is after
all only a 68000, even if clocked at 66MHz - it's alot of data to move
around.
* I'm not sure yet about implementing a QL compatible (or semi-compatible
with some extensions) expansion port, but it might be usefull for
developement purposes. If nothing else, one could put an old floppy
controler on it to transfer files. Problems with this include accurately
emulating QL timing (I think this could be done), and power considerations
- the SZ is a 3.3V CPU. Additional buffer chips are a given for this, but
they can be omitted together with the connector for apps where no expansion
port is needed. An additional consideration is routing of the signal lines.
* Use of one of the serial ports as IRDA - depends on the availability,
price and power consumption of IRDA RX/TX modules.
* Use of the SPI interface for, eg. a PS2 mouse port. Questions: software,
power consumption...
* USB - the SZ implements a USB slave device, which should not be terribly
difficult to program a driver for, but as usual, doing a driver is a
problem...
* CF or IDE interface - very easy to do but again requires routing wires
and extra buffer chips (fortunately, not many of them). Depends on PCB
realestate, the SZ has so many functions that just providing connectors for
all of them uses up masses of board space. Also, would require some changes
in the drivers (either native SMSQ/E or Qubide).
* Touch screen support - the SZ has it built in, and I will leave
connectors for it, but supporting it will depend on wether I can get a
touch screen panel of the right size without paying for it through the
nose.

The SZ also has some quite nice features for debugging, it can be
boot-loaded from the serial port - a toolkit to do this could be easily
written in Sbasic. The added advantage of using SMSQ/E is that my employer
will certainly need a number of QPC licences as well as other QL software
;-)

Oh, yes - another thing: my current email address will stop working
sometime in September as the ISP has changed it's domain name, so instead
of zeljkoDOTnastasicATzgDOTtelDOThr it will be
zeljkoDOTnastasicATzgDOThinetDOThr. The latter already works, I just need

Re: [ql-users] 68SZ328

2004-07-05 Thread ZN
On 5.7.2004 at 15:51 Wolfgang Lenerz wrote:

 this would be a very intesresting topic to discuss during the
 Eindhoven meeting! By all means, try to get your guy there (and
 yourself, too!).
 I would certainly try to lend a hand at adapting SMSQE, if at all
 possible.
 Wolfgang

Eh, sorry for this, the message was not intended for the list... but I
suppose now that I've let some sort of cat out of the bag, any comment is
welcome.

Regarding this piece of hardware, I am trying to sort of skid around on the
edge of a blade - trying to make it both what my employer wants it to be,
as well as a product for the QL community. He is willing to pay for the
hardware side of the developement, and this hardware could then be made
available to the QL community essentially at cost, which is what the
community needs. On the other hand my employer needs the expertise people
of the community have regarding porting of the OS and some applications.
The end product could then be marketed in several markets.

Don't ask me about costs yet, I have no idea as it's all under
developement. I know that boards are going to be made in neighbouring
Slovenia, which is now part of the EU.

General specs are as follows:

* 66MHz 68SZ328 CPU (performance should be about 50% faster than SGC)
* VGA monitor output (640 x 480 resolution or slightly over - theoretical
limit is 1024x512 + there is a virtual screen feature) graphics in 256
colors (65536 is possible but only for lower resolutions due to memory
bandwidth limitations)
* Integrated small LCD display (6-7 diagonal) option to make a palm sized
computer, stylus digitizer hardware included for touch sensitive displays.
* 32 or 64M of RAM built in (not expandable)
* 2M (at least) of Flash built in
* MMC or SD flash card for storage (Sony Memory Stick is also possible but
as this is less proliferant, more expensive, and larger, it will probably
not be used)
* 2 serial ports (or one serial and one IRDA) with high baud rate support.
* Matrix keyboard (8x8, probably compatible with QL keyrow assignments)
* USB device port (NOT host controller - the board would be a device to be
connected to a host for data transfer)
* Mono sound in/out
* Real Time Clock
* Low power
* (possible extra features like a QL compatible expansion bus, CF or IDE
port, parallel port, dimensions that make it fit a regular QL case, etc).

___
QL-Users Mailing List
http://www.quanta.org.uk/mailing.htm


Re: [ql-users] Nasta

2004-04-12 Thread ZN
On 11.4.2004 at 21:28 Marcel Kilgus wrote:

 I'm no hardware guy, but just for the sake of argument this chip
 looks like it could provide USB host functionality with a not too
 complex CPU interface. There's even a document with complete
 schematics that describes on how to interface it with a DragonBall
 CPU.

http://www.semiconductors.philips.com/cgi-bin/pldb/pip/ISP1161a.html

I have no clue how difficult the software side would be.

Marcel

To be honest, I have not looked at Philips for USB chips, having had rather
nasty experiences recently with CAN bus chips - that let's make things
better motto should really sometimes be, let's leave things alone...

I had a quick look and downloaded the files - great tip. I had previously
looked at the ISP1160 (which is only a host adapter, not a combined host /
device), which can be used to provide USB functionality on an ISA card - a
host-only adapter would already be sufficient. It may even be possible to
connect this chip onto a regular QL. I will try to get some data on the
cost and availability of the chip, unfortunately Philips does not offer an
on-line quote for this chip either (just like they didn't for the 1160).

As far as the software side goes, I think it would be extremely difficult
if not impossible to put up a complete host stack under SMSQDOS without
some serious changes to SMSQDOS (which it admittedly needs badly), as we
again have a lack of clear layering - something that is a common thread
from file systems down to TCP/IP.
Let me make this clearer: it is not possible to cleanly have one driver
interface with another and then operate as a driver stack (in this case
'driver' refers to the way SMSQDOS defines the term), which is paramount
with things such as USB, where only a hardware interface is defined, and
not it's ultimate function. To illustrate: the functions of a USB printer
are rather different than the ones of a USB storage device, or a USB mouse,
yet they all communicate using a USB interface, but all the possile
functions cannot be integrated into one monolythic drivers, mostly because
they are not known in advance. Because of this, with each new device, a
'driver stack' is created with pre-existing drivers, and new, device
speciffic drivers, which interface with each other.
Simplifying this down to SMSQDOS-speak: a complete USB driver stack has a
hardware driver, and, a set of 'sub-drivers' if you will, that handle
various classes of devices, and then a set od 'sub-sub drivers' that handle
various devices of the same class, and then, we can have a 'sub-sub-sub
driver', for instance to set up a file system on a suitable device within a
suitable class, etc.
Under SMSQDOS it is very difficult (AFAIK impossible cleanly) for multiple
drivers to address a single piece of hardware, without some sort of
arbitrating mechanism 'on the side' which operates unbeknownst to the OS
and just between the drivers themselves. Alternatively, a hardware
abstraction driver could be made, that provides a multiple access virtual
device, to which the various other drivers then interface, and manages the
arbitration as to which drivers can do what and when to the hardware or
each other - although this is possible, it is subject to all sorts of silly
limitations, as soon as a directory device enters the picture (slaving,
DEFBs, name lengths etc).

All that being said, it may well be possible to _relatively_ simply
interface to a single class of devices, for instance, USB storage devices
such as USB Flash keys or hard drives, but probably NOT USB flash card
readers per se. This is because a 'stack' of sorts for a speciffic class of
devices can be 'fused together' into a single device driver, that could
operate under the confines of SMSQDOS, in it's current state. Even so,
there would be no guarantees that every generic device of the storage class
would work, so if you go out and just buy a USB Flash key, wether it works
or not may depend on what kind of internal circuitry it has.

___
QL-Users Mailing List


Re: [ql-users] Nasta

2004-04-11 Thread ZN
Now I get to be the subject on an email list ;-) - well, there is always
that first time, i suppose ;-)

People monitoring this list will have noteced that my posts are few and far
between these days - for two reasons: one, I have two jobs, and two, I have
the same problem with emails Jochen seems to have, but even worse. As my
ISP seems to be an originator of SPAM, many ohers simply ignore emails sent
from it. I am rather delighted to see that the last message got through to
the list, since it was changed over, but I have no idea how long this will
last. As one would immagine, it is most frustrating to be only able to read
emails, AND have 95% of them be SPAM lately (I get 100 emails a day).

Regarding a formal business proposal to Quanta, this will be complicated
for me without an intermediary. Let me remind you that I live in Croatia
now, which is not a part of the EU (and currently regarded far too backward
a country to become a member, apparently), which means that proposing any
kind of business that has to deal with trans-border stuff is a real
problem. If I were to, for instance, detail the channels that I would use
to procure parts, most would definitely find them arcane (to put it mildly)
but that is how things work here. Let me make it clearer - I _can_ get
practically any part I want, assuming I can talk (twist arms and necks etc)
of the suppliers to get me these in small quantity, and am willing to wait
an indeterminate amount of time - hardly something that would seem sound in
a formal business proposal. Secondly, some services have to be procured
elsewhere - for instance, there are a gazzilion facilities that can produce
quality two-layer PCBs in Croatia at very reasonable prices, but none that
do multilayer boards - for that I have to go to Slovenia, which will,
sometime in the next 3 months, become an EU member, at which point any
arrangements made may become a bit more complex - or simpler, the fact is,
I don't know and no-one else seems to, either (list members from countries
that use the Euro will no doubt remember the price fluctuations on nearly
all markets when the Euro changeover took place - a similar thing will
happen in Slovenia). Most of the market for a product such as GoldFire is
in the UK, which, even while being a member of the EU has it's own rules of
sorts when finances are concerned, and the rest of the market is
distributet amongst other EU countries and the US. For me, this means that
I have to go through hoops to import parts which will be exported as a
product, all while not being a company, but a private individual. In order
to do so, I would have to find an intermediary here, which makes things far
more complicated. Last but not least, I have two jobs at the moment, which
for obvious reasons (such as being able to afford a living at least at the
very basic food and lodging level) have to take precedence. Hardly a
situation that makes it possible to just sit down and write a formal
business proposal, and have it not sound insane...

Fortunately, things are not as dark as they may seem. Due to the
arrangement I have at work, I can use the resources of my employer with
regards to parts and service sourcing, at their cost. Secondly, my employer
has a keen interest in ColdFire based single-board computers. In fact, we
have done some preliminary discussions on two possible projects, one based
on the V4 coldfire, and another, based on the 68VZ328 Dragonball CPU (the
latter is fully 68k compatible and runs at 66MHz, and includes a ton of
peripherals on-chip, including a LCD/CRT controller).

For the people that have suggested giving me room and board as it were,
things are a bit more complex than that at the moment. I can do the
developement where I am now, however, a modest amount of cash and a rather
larger amount of time is necessary for this.

Nasty question number 1 (For Nasta):  To what stage of physical hardware
has Goldfire developed, or is it still all on paper?

This question is not as nasty as much as it stems from a misconception. The
answer comes in two parts:
1) Apart from a set of parts for prototypes (and some parts that I have in
sufficient numbers for a 50 piece production run), GoldFire is still only
'on paper' or rather as designs and simulations in relevant CAD programs,
plus reference documentation.
2) There is no way to breadboard* this design, so 99.95% of the
developement is carried out 'virtually' - it is impossible to produce a
true prototype design without it being so close to the final design to be
virtually indistinguishable, or, an attempt to make it as a 'breadboard'
prototype would result in a non-functional design because of the required
technology to insure signal integrity at such speeds.

* Breadboarding is the process of completing a design on a 'breadboard',
i.e. a 'universal' PCB that is then hand-wired point to point. Chips used
on the GoldFire cannot be used in this manner with any reasonable
expectations of proper functionality,