Discussion:
Is there a 32 bit mode?
(too old to reply)
broweo@yahoo.com [hercules-390]
2018-07-28 18:28:50 UTC
Permalink
I am working with hercules poking in 370 instructions and running them from the console. Everything works ok but all of the register and psw displays are 64 bits which is slightly annoying. I have tried archlevel s/370 but that didn't seem to affect anything. Is there another setting or are the displays always 64 bit?
Gregg Levine gregg.drwho8@gmail.com [hercules-390]
2018-07-29 05:34:39 UTC
Permalink
Hello!
An individual who only left his e-mail address posted an interesting
problem. And here is my response.
Let's see if I understand you. You're throwing S/370 instructions at a
Hercules prompt. And seeing the results in the registers and the PSW.
Which is appropriate. And you're wondering why everything is throwing
you back 64 bit responses, as a opposed to 32 bit ones. I believe the
system is actually supposed to do that. It is technically possible to
assemble programs using an external assembler and load the resulting
core image and run it, did you do that? Please explain further.

Oh and why not show us your configuration file please.

Incidentally please include your name in the response.

And now the hard one to ask, Fish, in your capable opinion did I
render that correct and even proper like? I believe this is fastened
on to your earlier one about what our friend saw in the display
earlier.

I can hear the bubbles in the mechanism to bubble air into your tank
from here. Must mean you're thinking harder.

And Vanya feel free to comment.
-----
Gregg C Levine ***@gmail.com
"This signature fought the Time Wars, time and again."
Post by ***@yahoo.com [hercules-390]
I am working with hercules poking in 370 instructions and running them from
the console. Everything works ok but all of the register and psw displays
are 64 bits which is slightly annoying. I have tried archlevel s/370 but
that didn't seem to affect anything. Is there another setting or are the
displays always 64 bit?
________________________________
________________________________
'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2018-07-29 17:16:20 UTC
Permalink
And you're wondering why everything is throwing you back
64 bit responses, as a opposed to 32 bit ones. I believe
the system is actually supposed to do that.
Not really. Both the new panel display (<esc> key) as well as the 'gpr' et al. registers command displays should automatically adjust themselves to the current addressing mode (64-bit vs. 32-bit).
Oh and why not show us your configuration file please.
Seeing the configuration file would certainly be nice, but I myself am more interested in seeing the log file (that includes the output of the 'version' command).
Incidentally please include your name in the response.
Names are good. I hate talking to email addresses. I much prefer to talk to people, not email addresses.
And now the hard one to ask, Fish, in your capable opinion
did I render that correct and even proper like?
You did OK. You just missed asking which version he's using. So many people do that. There are multiple different versions of Hercules out there (some very old, some very new) and they each behave differently.

Far too many people asking for help fail to report which version of Hercules they're using (or bother to include their configuration and/or log files)..

I guess they expect us to be psychic and somehow know without them having to tell us?


https://github.com/Fish-Git/AskForHelp
--
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: ***@softdevlabs.com
Ivan Warren ivan@vmfacility.fr [hercules-390]
2018-07-29 17:46:42 UTC
Permalink
Le 7/29/2018 à 7:16 PM, ''Fish' (David B. Trout)'
Post by '\'Fish\' (David B. Trout)' ***@gmail.com [hercules-390]
And you're wondering why everything is throwing you back
64 bit responses, as a opposed to 32 bit ones. I believe
the system is actually supposed to do that.
Not really. Both the new panel display (<esc> key) as well as the 'gpr' et al. registers command displays should automatically adjust themselves to the current addressing mode (64-bit vs. 32-bit).
(Ivan in Pedantic mode)

Not really.. If you change the ARCHLVL mid flight, correct operating
procedures require a "Power On Reset"  (actually some IBM machines
required an IML)  - Which has nothing to do with addressing mode which
can be 24 (all archs), 31 (ESA & z) or 64 (z Only) - which is governed
by PSW bits). S/370 and ESA/390 use 32 bit regs while z/Arch uses 64 bit
regs of course (regardless of addressing mode which only affects address
calculation).

Changing the archlvl without at least performing a subsequent SYSTEM
RESET is at your own risk !

Starting a system in say z/Arch, then issuing ARCHLVL S/370, storing
data and PSW and pressing the "START" button may yield unpredictable
results.. The more correct procedure is to store the target PSW @ 0 and
then issue a "SYSTEM RESTART" (hercules command "restart") (which ensure
you get at least a SYSTEM RESET 'hercules cmd "reset") .. Not exactly a
Power On Reset (hercules : exit and reissue the command) , but should be
close enough for hercules). The idea is to ensure ALL system components
are made aware of the architecture level change (including the
panel/console).

--Ivan




[Non-text portions of this message have been removed]
'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2018-07-29 19:37:47 UTC
Permalink
Ivan:

FYI:

https://github.com/SDL-Hercules-390/hyperion/commit/04aa0a6c5457169becb6bb106f2f5be8bdc99307


OTHER Herculeses / Hyperions of course may (and likely do!) operate/behave differently.
--
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: ***@softdevlabs.com
Ivan Warren ivan@vmfacility.fr [hercules-390]
2018-07-29 19:39:31 UTC
Permalink
Le 7/29/2018 à 9:37 PM, ''Fish' (David B. Trout)'
Post by '\'Fish\' (David B. Trout)' ***@gmail.com [hercules-390]
https://github.com/SDL-Hercules-390/hyperion/commit/04aa0a6c5457169becb6bb106f2f5be8bdc99307
OTHER Herculeses / Hyperions of course may (and likely do!) operate/behave differently.
Fish,

Makes all the sense in the world !!

--Ivan



[Non-text portions of this message have been removed]
broweo@yahoo.com [hercules-390]
2018-07-29 21:09:59 UTC
Permalink
Apologies for the sloppy question and no name and thanks for the responses. My userid is usually my name but not on this board.

I am using hercules 4.0.0 built with instructions from this thread https://groups.yahoo.com/neo/groups/hercules-390/conversations/messages/83259 https://groups.yahoo.com/neo/groups/hercules-390/conversations/messages/83259


I have been starting hercules without any configuration file - perhaps that's my problem or anyway my solution. I do want to run the emulator without an O/S. For the moment i'm just stuffing in instructions at the console but i'll graduate to ipl'ing my own standalone code.


I've tried to point to a couple of images below which show the GPRs presented as 64 bits. I will try a simple config file with archlvl s/370 and maybe that will clean it up. I had tried the command at the console but i think someone mentioned that won't work on its own. Maybe it will also clear up the red prompt of death.



Bill Rowe
www.olduino.wordpress.com



Loading Image... https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg
Loading Image... https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg

https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg

https://olduino.files.wordpress.com/2018/07/18-07-29-har... https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg


View on olduino.files.wordpre... https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg
Preview by Yahoo






https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg

https://olduino.files.wordpress.com/2018/07/18-07-28-har... https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg


View on olduino.files.wordpre... https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg
Preview by Yahoo
broweo@yahoo.com [hercules-390]
2018-07-29 21:27:11 UTC
Permalink
UPDATE: no. The one line config file seems to set the archlvl ok but the regs still show as 64 bit. I fired up TK4- which shows the regs as 32 bit so it is probably something in my config. I'll copy the TK4- config and start from there.
'Dave Wade' dave.g4ugm@gmail.com [hercules-390]
2018-07-29 21:51:10 UTC
Permalink
Bill,



Why shouldn’t it work on its own? When I change the ARCHLVL the register display changes. I think I am running one of FISH’s pre-built binaries, V4.0.0.8906 and it changes when I change the ARCHLVL and ARCHMODE.

I am not sure what you are trying to do, but if you don’t want to get stuck with a 16Mb memory limit you should start with ARCHLVL ESA/390 as that gives you 13-bit addressing. It does mean that you need to use the SSCH family of IO instructions rather than SIO but the problem state code is broadly the same.



G4UGM



From: hercules-***@yahoogroups.com <hercules-***@yahoogroups.com>
Sent: 29 July 2018 22:10
To: hercules-***@yahoogroups.com
Subject: [hercules-390] Re: Is there a 32 bit mode?





Apologies for the sloppy question and no name and thanks for the responses. My userid is usually my name but not on this board.



I am using hercules 4.0.0 built with instructions from this thread https://groups.yahoo.com/neo/groups/hercules-390/conversations/messages/83259



I have been starting hercules without any configuration file - perhaps that's my problem or anyway my solution. I do want to run the emulator without an O/S. For the moment i'm just stuffing in instructions at the console but i'll graduate to ipl'ing my own standalone code.



I've tried to point to a couple of images below which show the GPRs presented as 64 bits. I will try a simple config file with archlvl s/370 and maybe that will clean it up. I had tried the command at the console but i think someone mentioned that won't work on its own. Maybe it will also clear up the red prompt of death.




Bill Rowe

www.olduino.wordpress.com <http://www.olduino.wordpress.com>



https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg

https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg



<https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg>

<https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg> https://olduino.files.wordpress.com/2018/07/18-07-29-har...




<https://olduino.files.wordpress.com/2018/07/18-07-29-hardcore.jpg> View on olduino.files.wordpre...

Preview by Yahoo










<https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg>

<https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg> https://olduino.files.wordpress.com/2018/07/18-07-28-har...




<https://olduino.files.wordpress.com/2018/07/18-07-28-hardcore.jpg> View on olduino.files.wordpre...

Preview by Yahoo
broweo@yahoo.com [hercules-390]
2018-07-29 22:55:01 UTC
Permalink
I copied the first part of TK4-'s config file (below) down to where device definitions started. The regs definitely show as 32 bit now although i still have the unhappy red status line. I note that this file uses archmode rather than archlvl.

As to what i'm doing, I'm working toward something i'll call Olduino/370. A single board computer like an arduino or pi but using the 360/370 ISA programmed in C. This is not a rational pursuit, it just appeals to me. The high point will probably be a tiny mainframe driving a robot car.






bill rowe
www.olduino.wordpress.com
Ivan Warren ivan@vmfacility.fr [hercules-390]
2018-07-29 23:05:39 UTC
Permalink
Post by ***@yahoo.com [hercules-390]
I copied the first part of TK4-'s config file (below) down to where
device definitions started.  The regs definitely show as 32 bit now
although i still have the unhappy red status line.  I note that this
file uses archmode rather than archlvl.
The RED status line is because you NEVER IPL'ed...

--Ivan


[Non-text portions of this message have been removed]
broweo@yahoo.com [hercules-390]
2018-07-29 23:07:55 UTC
Permalink
haha - thanks! i'd have been poking at config files til the cows came home.
kerravon86@yahoo.com.au [hercules-390]
2018-07-30 04:20:15 UTC
Permalink
Post by ***@yahoo.com [hercules-390]
As to what i'm doing, I'm working toward something
i'll call Olduino/370. A single board computer like
an arduino or pi but using the 360/370 ISA
programmed in C.
Note that PDOS/370 is written mostly in C
if you wish to use that as your stand-alone
operating system, or even just take the
necessary assembler code for a standalone
interface to your own C code.

BFN. Paul.
broweo@yahoo.com [hercules-390]
2018-07-30 11:37:37 UTC
Permalink
Thanks. That's a good find - I'm using GCCMVS and PDPCLIB now.

I came across http://tommysprinkle.com/txxos/ http://tommysprinkle.com/txxos/ yesterday which is an excellent intro to bare metal programming on the 370. I'm going to start with an IPL'able hello world.
kerravon86@yahoo.com.au [hercules-390]
2018-07-30 12:27:47 UTC
Permalink
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.

Here is code (from sapsupa.asm in PDPCLIB)
to do that:

**********************************************************************
* *
* DIAG8 - do a diag 8 *
* *
**********************************************************************
ENTRY @@DIAG8
@@DIAG8 DS 0H
SAVE (14,12),,@@DIAG8
LR R12,R15
USING @@DIAG8,R12
*
L R6,0(R1)
L R4,4(R1)
* DIAG 4,6,0(8)
DC X'83460008'
LA R15,0
*
RETURN (14,12),RC=(15)
LTORG



BTW, can you please quote the message you
are replying to. If you are using the web
interface you need to click on "show message
history" at the bottom.

BFN. Paul.




---In hercules-***@yahoogroups.com, <***@...> wrote :

Thanks. That's a good find - I'm using GCCMVS and PDPCLIB now.

I came across http://tommysprinkle.com/txxos/ http://tommysprinkle.com/txxos/ yesterday which is an excellent intro to bare metal programming on the 370. I'm going to start with an IPL'able hello world.
Dave McGuire Mcguire@neurotica.com [hercules-390]
2018-07-30 12:50:21 UTC
Permalink
Post by ***@yahoo.com.au [hercules-390]
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.
Here is code (from sapsupa.asm in PDPCLIB)
Do you have such an example to run on real hardware?

-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
kerravon86@yahoo.com.au [hercules-390]
2018-07-30 12:58:26 UTC
Permalink
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.
Here is code (from sapsupa.asm in PDPCLIB)
Do you have such an example to run on real hardware?
I'm not certain I understand the question.
PDOS/370 should run on real hardware
too, but I've never tried it because I don't
have real hardware.

On real hardware I don't think DIAG 8 will
work, so you need the more complex
write to the console, which is also available
in sapsupa, function @@CONSWR:

https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdpclib/sapsupa.asm#l590

sapsupa is linked in to the PDOS/370
(and PDOS/380 and PDOS/390) OS.
The first assembler/code that gets
executed is actually sapstart, not
sapsupa.

BFN. Paul.
Dave McGuire Mcguire@neurotica.com [hercules-390]
2018-07-30 23:34:38 UTC
Permalink
Post by ***@yahoo.com.au [hercules-390]
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.
Here is code (from sapsupa.asm in PDPCLIB)
Do you have such an example to run on real hardware?
I'm not certain I understand the question.
Meaning on a mainframe, rather than a mainframe emulator.

Or perhaps under VM.
Post by ***@yahoo.com.au [hercules-390]
PDOS/370 should run on real hardware
too, but I've never tried it because I don't
have real hardware.
Well that's no excuse. ;)
Post by ***@yahoo.com.au [hercules-390]
On real hardware I don't think DIAG 8 will
work, so you need the more complex
write to the console, which is also available
https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdpclib/sapsupa.asm#l590
Thanks, I will take a look!

-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Mike Schwab Mike.A.Schwab@gmail.com [hercules-390]
2018-07-31 01:01:45 UTC
Permalink
For something a little more complex, you might try the
http://www.99-bottles-of-beer.net/language-assembler-(system-370)-48.html

Or try to improve the stand alone prime number program contest we ran
a few years ago.
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.
Here is code (from sapsupa.asm in PDPCLIB)
Do you have such an example to run on real hardware?
I'm not certain I understand the question.
Meaning on a mainframe, rather than a mainframe emulator.
Or perhaps under VM.
Post by ***@yahoo.com.au [hercules-390]
PDOS/370 should run on real hardware
too, but I've never tried it because I don't
have real hardware.
Well that's no excuse. ;)
Post by ***@yahoo.com.au [hercules-390]
On real hardware I don't think DIAG 8 will
work, so you need the more complex
write to the console, which is also available
https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdpclib/sapsupa.asm#l590
Thanks, I will take a look!
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Dave McGuire Mcguire@neurotica.com [hercules-390]
2018-07-31 01:04:58 UTC
Permalink
Oh, now the prime number program contest sounds like serious fun. And
that gives me an idea.

The Z10 here is functional, but lacks DASD. I wonder if there's a way
to load a program (say, a prime number program) into memory and execute
it from one of the service element laptops? I had never attempted such
a thing on the one (a z890) that I had running.

-Dave
Post by Mike Schwab ***@gmail.com [hercules-390]
 
For something a little more complex, you might try the
http://www.99-bottles-of-beer.net/language-assembler-(system-370)-48.html
Or try to improve the stand alone prime number program contest we ran
a few years ago.
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.
Here is code (from sapsupa.asm in PDPCLIB)
Do you have such an example to run on real hardware?
I'm not certain I understand the question.
Meaning on a mainframe, rather than a mainframe emulator.
Or perhaps under VM.
Post by ***@yahoo.com.au [hercules-390]
PDOS/370 should run on real hardware
too, but I've never tried it because I don't
have real hardware.
Well that's no excuse. ;)
Post by ***@yahoo.com.au [hercules-390]
On real hardware I don't think DIAG 8 will
work, so you need the more complex
write to the console, which is also available
https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdpclib/sapsupa.asm#l590
Post by Dave McGuire ***@neurotica.com [hercules-390]
Thanks, I will take a look!
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
--
Dave McGuire, AK4HZ
New Kensington, PA
Mike Stramba mikestramba@gmail.com [hercules-390]
2018-07-31 01:17:39 UTC
Permalink
Post by Dave McGuire ***@neurotica.com [hercules-390]
Oh, now the prime number program contest sounds like serious fun. And
that gives me an idea.
The Z10 here is functional, but lacks DASD. I wonder if there's a way
to load a program (say, a prime number program) into memory and execute
it from one of the service element laptops? I had never attempted such
a thing on the one (a z890) that I had running.
I would love to visit your museum to try to find out.

Has the z10 ever been running ?

If so, what were your options from the SE laptop (i.e. any debugging
services available ?

What does the RTFM say ? :)

(About debugging / loading the IPL program ... other than from DASD ?)

Do you have any card readers ? .... Any card PUNCHES ?

Can the z10 be connected to them?

Is the z10 connected to *any* I/O devices (tape? Can it IPL from tape?

So many questions :)

Mike
Dave McGuire Mcguire@neurotica.com [hercules-390]
2018-07-31 01:26:47 UTC
Permalink
Post by Mike Stramba ***@gmail.com [hercules-390]
The Z10 here is functional, but lacks DASD. I wonder if there's a way
to load a program (say, a prime number program) into memory and execute
it from one of the service element laptops? I had never attempted such
a thing on the one (a z890) that I had running.
I would love to visit your museum to try to find out.
You're always welcome. The z10 isn't in the museum (maybe in another
15-20 years) but it's in another building right around the corner.
Post by Mike Stramba ***@gmail.com [hercules-390]
Has the z10 ever been running ?
We've had it powered up, but not running an OS.
Post by Mike Stramba ***@gmail.com [hercules-390]
If so, what were your options from the SE laptop (i.e. any debugging
services available ?
I do not remember. We powered it up just to see if it was intact and
at least minimally functional. It complained about not finding the HMC,
which we also have, but did not bother at the time to connect, as we had
just gotten it off of the truck and we were all very tired.
Post by Mike Stramba ***@gmail.com [hercules-390]
What does the RTFM say ? :)
Too much work to do to spend much time digging up that
info...somebody's gotta pay the power bills for doing stuff like
experimenting with z10s. ;)
Post by Mike Stramba ***@gmail.com [hercules-390]
(About debugging / loading the IPL program ... other than from DASD ?)
I know most of the zSeries machines can IPL from the service element
laptop's optical drive. I have booted z/VM that way on the z890.
Post by Mike Stramba ***@gmail.com [hercules-390]
Do you have any card readers ? .... Any card PUNCHES ?
No card readers. Only one card punch, an 029. Remember, we are a
DEC- and Cray-heavy museum, as that is my background. And also
remember, the z10 isn't in the museum.
Post by Mike Stramba ***@gmail.com [hercules-390]
Can the z10 be connected to them?
Certainly not to the 029. ;)
Post by Mike Stramba ***@gmail.com [hercules-390]
Is the z10 connected to *any* I/O devices (tape? Can it IPL from tape?
I'd expect that it could IPL from tape, but the only IBM tape
subsystems we have (at the museum..) are channel-attached, and the z10
doesn't have a parallel channel option.

Ah, but I wonder if it has ESCON. I have a few ESCON to parallel
channnel adapters.
Post by Mike Stramba ***@gmail.com [hercules-390]
So many questions :)
:-)

-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Mike Schwab Mike.A.Schwab@gmail.com [hercules-390]
2018-07-31 01:29:27 UTC
Permalink
Get with Conner. He got z/Linux running on his z890 without any dasd.
Might have needed to get a feature code that wasn't on the machine.
Post by Dave McGuire ***@neurotica.com [hercules-390]
Oh, now the prime number program contest sounds like serious fun. And
that gives me an idea.
The Z10 here is functional, but lacks DASD. I wonder if there's a way
to load a program (say, a prime number program) into memory and execute
it from one of the service element laptops? I had never attempted such
a thing on the one (a z890) that I had running.
-Dave
Post by Mike Schwab ***@gmail.com [hercules-390]
For something a little more complex, you might try the
http://www.99-bottles-of-beer.net/language-assembler-(system-370)-48.html
Or try to improve the stand alone prime number program contest we ran
a few years ago.
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by ***@yahoo.com.au [hercules-390]
The simplest "hello world" is (from memory) to do a
DIAG 8 that Hercules recognizes, rather than a more
complex write to a console.
Here is code (from sapsupa.asm in PDPCLIB)
Do you have such an example to run on real hardware?
I'm not certain I understand the question.
Meaning on a mainframe, rather than a mainframe emulator.
Or perhaps under VM.
Post by ***@yahoo.com.au [hercules-390]
PDOS/370 should run on real hardware
too, but I've never tried it because I don't
have real hardware.
Well that's no excuse. ;)
Post by ***@yahoo.com.au [hercules-390]
On real hardware I don't think DIAG 8 will
work, so you need the more complex
write to the console, which is also available
https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdpclib/sapsupa.asm#l590
Post by Dave McGuire ***@neurotica.com [hercules-390]
Thanks, I will take a look!
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
--
Dave McGuire, AK4HZ
New Kensington, PA
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Dave McGuire Mcguire@neurotica.com [hercules-390]
2018-07-31 01:36:59 UTC
Permalink
Get with Conner. He got z/Linux running on his z890 without any dasd.
Might have needed to get a feature code that wasn't on the machine.
Yeah, I was there for much of that. First of all (not to sound
ungrateful, I do appreciate the suggestion) I'm not at all interested in
running Linux on the machine. I am absolutely swimming in Linux
machines here.

Linux will run on a z890 without any "special" (read: proper IBM)
DASD. You can plug a regular grab-it-on-eBay FibreChannel disk array
into a FICON port on a z890 and Linux will run from it.

But for an IBM OS, it needs to have a special feature enabled, which
is enabled via typing a key into the service element, which allows the
machine to present a FibreChannel disk array attached to a FICON port to
an IBM OS as real DASD.

When the z890 was a supported machine (up until December of last
year), you could call up IBM, give them your serial number, and they'd
generate the feature enablement code for you. They don't do that
anymore. And, you guessed it, my z890 doesn't have that feature enabled.

I don't think the z10 can do that at all, but I'm not certain. Either
way, though, the z10 being so recent, and currently supported, I'd have
no way to reasonably get that enabled, as it would surely cost a small
fortune.

-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Mike Schwab Mike.A.Schwab@gmail.com [hercules-390]
2018-07-31 03:12:21 UTC
Permalink
So IBM added a feature to some mainframe model to emulate FICON DASD
on FBA in the mainframe instead of the storage unit? Until I retired
23 months ago I thought the storage units had to have the ESCON /
FICON / ECKD emulator, which made it pretty expensive.
Post by Dave McGuire ***@neurotica.com [hercules-390]
Get with Conner. He got z/Linux running on his z890 without any dasd.
Might have needed to get a feature code that wasn't on the machine.
Yeah, I was there for much of that. First of all (not to sound
ungrateful, I do appreciate the suggestion) I'm not at all interested in
running Linux on the machine. I am absolutely swimming in Linux
machines here.
Linux will run on a z890 without any "special" (read: proper IBM)
DASD. You can plug a regular grab-it-on-eBay FibreChannel disk array
into a FICON port on a z890 and Linux will run from it.
But for an IBM OS, it needs to have a special feature enabled, which
is enabled via typing a key into the service element, which allows the
machine to present a FibreChannel disk array attached to a FICON port to
an IBM OS as real DASD.
When the z890 was a supported machine (up until December of last
year), you could call up IBM, give them your serial number, and they'd
generate the feature enablement code for you. They don't do that
anymore. And, you guessed it, my z890 doesn't have that feature enabled.
I don't think the z10 can do that at all, but I'm not certain. Either
way, though, the z10 being so recent, and currently supported, I'd have
no way to reasonably get that enabled, as it would surely cost a small
fortune.
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Dave McGuire Mcguire@neurotica.com [hercules-390]
2018-07-31 03:29:40 UTC
Permalink
Post by Mike Schwab ***@gmail.com [hercules-390]
So IBM added a feature to some mainframe model to emulate FICON DASD
on FBA in the mainframe instead of the storage unit? Until I retired
23 months ago I thought the storage units had to have the ESCON /
FICON / ECKD emulator, which made it pretty expensive.
They did, and at the drive end, it talks to bog-standard FibreChannel
drives. It supports single point-to-point links to individual drives,
and drives accessed through an FC switch. I know from the documentation
that the z9, z990, and z890 have this functionality in particular, but
later models may have it too. See SG24-7266-00, "Fibre Channel Protocol
for Linux and z/VM on IBM System z".

It's my understanding that Linux running on bare metal doesn't even
require that, but z/VM does.

The one thing I've wondered about, but have not been able to find any
information about, is exactly where in the z890 system the emulation
layer resides. I assume it's code in the PU that is unavailable for
workloads but runs I/O support code, but as this particular thing is a
pretty specialized piece of functionality, I don't know if they'd have
put it there or not. I don't really have any need to know, but I am
curious. The systems-level architecture of these machines is just amazing.

On a related note that you may find interesting. the S/390 Multiprise
2003, which is essentially an S/390 G3 with integrated DASD, uses SCSI
drives and has SCSI host adapters plugged into the I/O backplane. Code
running on the embedded processors within those SCSI host adapters
implements the emulation layer that makes arrays of SCSI drives appear
to the system to be channel-attached 3390s. It's a really interesting
and very flexible setup that seems to have been extremely well thought-out.

-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Mike Schwab Mike.A.Schwab@gmail.com [hercules-390]
2018-07-31 06:52:38 UTC
Permalink
The logical place would be to make the Channel processors send FCP
instead of FICON. Or create I/O routines to use FBA / FCP disk
directly. https://en.wikipedia.org/wiki/FICON

(nice list of manufacturers)
Post by Dave McGuire ***@neurotica.com [hercules-390]
Post by Mike Schwab ***@gmail.com [hercules-390]
So IBM added a feature to some mainframe model to emulate FICON DASD
on FBA in the mainframe instead of the storage unit? Until I retired
23 months ago I thought the storage units had to have the ESCON /
FICON / ECKD emulator, which made it pretty expensive.
They did, and at the drive end, it talks to bog-standard FibreChannel
drives. It supports single point-to-point links to individual drives,
and drives accessed through an FC switch. I know from the documentation
that the z9, z990, and z890 have this functionality in particular, but
later models may have it too. See SG24-7266-00, "Fibre Channel Protocol
for Linux and z/VM on IBM System z".
It's my understanding that Linux running on bare metal doesn't even
require that, but z/VM does.
The one thing I've wondered about, but have not been able to find any
information about, is exactly where in the z890 system the emulation
layer resides. I assume it's code in the PU that is unavailable for
workloads but runs I/O support code, but as this particular thing is a
pretty specialized piece of functionality, I don't know if they'd have
put it there or not. I don't really have any need to know, but I am
curious. The systems-level architecture of these machines is just amazing.
On a related note that you may find interesting. the S/390 Multiprise
2003, which is essentially an S/390 G3 with integrated DASD, uses SCSI
drives and has SCSI host adapters plugged into the I/O backplane. Code
running on the embedded processors within those SCSI host adapters
implements the emulation layer that makes arrays of SCSI drives appear
to the system to be channel-attached 3390s. It's a really interesting
and very flexible setup that seems to have been extremely well thought-out.
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
kerravon86@yahoo.com.au [hercules-390]
2018-07-31 18:11:11 UTC
Permalink
Post by ***@yahoo.com [hercules-390]
Thanks. That's a good find - I'm using GCCMVS and PDPCLIB now.
Can you elaborate on your plans a bit more?

Note that the load modules you produce on
MVS can be run under PDOS/370.

Also note that PDOS/370 is already a
minimal system. But if you wish to run
without even a minimal operating system,
there is another utility of interest -
LOADZERO, which will take your GCCMVS
load module and convert it into a data
file that can be loaded at location 0. That
would basically be a replacement for
PLOAD, the GCCMVS load module that
loads the PDOS OS load module.

LOADZERO can be found here:

https://sourceforge.net/p/mvs380/mvssrc/ci/master/tree/ozpd/c/loadzero.c

BFN. Paul.

kerravon86@yahoo.com.au [hercules-390]
2018-07-29 14:40:39 UTC
Permalink
Post by ***@yahoo.com [hercules-390]
I am working with hercules poking in 370
instructions and running them from the console.
Everything works ok but all of the register and
psw displays are 64 bits which is slightly annoying.
I have tried archlevel s/370 but that didn't seem
to affect anything. Is there another setting or are
the displays always 64 bit?
As far as I know, standard 32-bit Hercules
3.07 when run as archlevel S/370 displays
32-bit registers. The PSW is necessarily
64-bit though.

I don't know what permutations (newer
Hercules, 64-bit Hercules, z/Arch,
Hercules/380) change the 32-bit registers
into 64-bit registers.

I suggest you start with standard Hercules
3.07 32-bit and then try upgrading any of
those things.

The register display I am talking about is
when you press ESC on the Hercules
console to look at registers.

The latest Hercules/380 32-bit beta displays
64-bit registers in S/370 mode, since the
64-bit instructions and registers are enabled
even in S/370 mode. There is no facility to
turn that off.

Another thing that may be of interest is that
there is an AMODE 32 in the latest Hercules/380
too, since you mentioned "32 bit mode". You
can set a setting to make a BSM to 31-bit
mode actually activate 32-bit mode instead.

BFN. Paul.
Joe Monk joemonk64@gmail.com [hercules-390]
2018-07-29 16:05:37 UTC
Permalink
When in S/370 mode, Hercules 3.13 displays the registers as 32-bit:

gpr


GR00=00000000 GR01=00000000 GR02=00000000 GR03=00000000


GR04=00000000 GR05=00000000 GR06=00000000 GR07=00000000


GR08=00000000 GR09=00000000 GR10=00000000 GR11=00000000


GR12=00000000 GR13=00000000 GR14=00000000 GR15=00000000


archmode


HHCPN126I Architecture mode = S/370


When in ESA/390 mode, Hercules 3.13 displays the registers as 32-bit:


gpr


GR00=00000000 GR01=00000000 GR02=00000000 GR03=00000000


GR04=00000000 GR05=00000000 GR06=00000000 GR07=00000000


GR08=00000000 GR09=00000000 GR10=00000000 GR11=00000000


GR12=00000000 GR13=00000000 GR14=00000000 GR15=00000000


archmode


HHCPN126I Architecture mode = ESA/390


When in Z/Arch mode, Hercules 3.13 displays the registers as 64-bit:


gpr


R0=0000000000000000 R1=0000000000000000 R2=0000000000000000
R3=0000000000000000

R4=0000000000000000 R5=0000000000000000 R6=0000000000000000
R7=0000000000000000

R8=0000000000000000 R9=0000000000000000 RA=0000000000000000
RB=0000000000000000

RC=0000000000000000 RD=0000000000000000 RE=0000000000000000
RF=0000000000000000

archmode


HHCPN126I Architecture mode = z/Arch


Joe
Post by ***@yahoo.com.au [hercules-390]
Post by ***@yahoo.com [hercules-390]
I am working with hercules poking in 370
instructions and running them from the console.
Everything works ok but all of the register and
psw displays are 64 bits which is slightly annoying.
I have tried archlevel s/370 but that didn't seem
to affect anything. Is there another setting or are
the displays always 64 bit?
As far as I know, standard 32-bit Hercules
3.07 when run as archlevel S/370 displays
32-bit registers. The PSW is necessarily
64-bit though.
I don't know what permutations (newer
Hercules, 64-bit Hercules, z/Arch,
Hercules/380) change the 32-bit registers
into 64-bit registers.
I suggest you start with standard Hercules
3.07 32-bit and then try upgrading any of
those things.
The register display I am talking about is
when you press ESC on the Hercules
console to look at registers.
The latest Hercules/380 32-bit beta displays
64-bit registers in S/370 mode, since the
64-bit instructions and registers are enabled
even in S/370 mode. There is no facility to
turn that off.
Another thing that may be of interest is that
there is an AMODE 32 in the latest Hercules/380
too, since you mentioned "32 bit mode". You
can set a setting to make a BSM to 31-bit
mode actually activate 32-bit mode instead.
BFN. Paul.
'Shelby Beach' shelby.beach@comcast.net [hercules-390]
2018-07-29 19:02:13 UTC
Permalink
Hi All,

It appears that what the O/P is attempting to do from the Hercules console
is to play with executing various instructions and then examining the
results.

<shamelessplug>
It would seem this could be accomplished much more eloquently using MVSDDT
(http://mvsddt.altervista.org/). Granted this would require bringing up an
MVS system, but that's fairly simple with TK4- (http://wotho.ethz.ch/tk4-/).
Just my unconsidered opinion.
<shamelessplug/>

Of course I suppose that if all one wants to do is play with the "hardware"
with no O/S or S/W involved, the Hercules console is one way to do this.

Shelby
Mike Schwab Mike.A.Schwab@gmail.com [hercules-390]
2018-07-29 19:23:16 UTC
Permalink
How about the stand alone program loader?

Or the instruction testing scripts as a stand alone script?
Post by 'Shelby Beach' ***@comcast.net [hercules-390]
Hi All,
It appears that what the O/P is attempting to do from the Hercules console
is to play with executing various instructions and then examining the
results.
<shamelessplug>
It would seem this could be accomplished much more eloquently using MVSDDT
(http://mvsddt.altervista.org/). Granted this would require bringing up
an MVS system, but that's fairly simple with TK4- (
http://wotho.ethz.ch/tk4-/). Just my unconsidered opinion.
<shamelessplug/>
Of course I suppose that if all one wants to do is play with the
"hardware" with no O/S or S/W involved, the Hercules console is one way to
do this.
Shelby
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
'Dave Wade' dave.g4ugm@gmail.com [hercules-390]
2018-07-29 19:29:52 UTC
Permalink
Personally, if its 370 code then I would have thought VM as that as PER so its easy to trace the instructions..

... and there is also the ASSIST assembler
.



Dave



From: hercules-***@yahoogroups.com <hercules-***@yahoogroups.com>
Sent: 29 July 2018 20:23
To: hercules-***@yahoogroups.com
Subject: Re: [hercules-390] Is there a 32 bit mode?








How about the stand alone program loader?



Or the instruction testing scripts as a stand alone script?



On Sun, Jul 29, 2018 at 2:02 PM 'Shelby Beach' ***@comcast.net <mailto:***@comcast.net> [hercules-390] <hercules-***@yahoogroups.com <mailto:hercules-***@yahoogroups.com> > wrote:



Hi All,



It appears that what the O/P is attempting to do from the Hercules console is to play with executing various instructions and then examining the results.



<shamelessplug>

It would seem this could be accomplished much more eloquently using MVSDDT (http://mvsddt.altervista.org/). Granted this would require bringing up an MVS system, but that's fairly simple with TK4- (http://wotho.ethz..ch/tk4-/ <http://wotho.ethz.ch/tk4-/> ). Just my unconsidered opinion.

<shamelessplug/>



Of course I suppose that if all one wants to do is play with the "hardware" with no O/S or S/W involved, the Hercules console is one way to do this.



Shelby
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Ivan Warren ivan@vmfacility.fr [hercules-390]
2018-07-29 19:36:01 UTC
Permalink
Post by 'Dave Wade' ***@gmail.com [hercules-390]
Personally, if its 370 code then I would have thought VM as that as
PER so its easy to trace the instructions..
Unfortunately,

No PER in VM/370 R6...

--Ivan


[Non-text portions of this message have been removed]
'Dave Wade' dave.g4ugm@gmail.com [hercules-390]
2018-07-29 19:51:10 UTC
Permalink
-----Original Message-----
Sent: 29 July 2018 20:36
Subject: Re: [hercules-390] Is there a 32 bit mode?
Post by 'Dave Wade' ***@gmail.com [hercules-390]
Personally, if its 370 code then I would have thought VM as that as
PER so its easy to trace the instructions..
Unfortunately,
No PER in VM/370 R6...
--Ivan
Its been in the "n-packs" for ages. I can't remember who put it in, but its mod 301...

dave
Mike Stramba mikestramba@gmail.com [hercules-390]
2018-07-30 14:39:27 UTC
Permalink
Post by ***@yahoo.com [hercules-390]
I am working with hercules poking in 370 instructions and running them from
the console.
How are you "poking" ... the instructions ?

I frequently do the same thing with tiny programs.

For "programs" of ~20 or so instructions, I'll just use the "r"
(change memory) command, directly from the console.

For longer programs I'll use the vmR6 six pack assembler, then copy
the assembler listing, and edit the listing, inserting "r" commands
at the beginning of the lines, and putting a "# or *" after the object
bytes, which gives you a "commented script file" that you can run with
the hercules SCRIPT command.

One of these days I'll write a program to parse / edit an assembler listing :/

You could also PUNCH a CMS TEXT file, then use the hercules LOADTEXT command.

The TK4- / MVS assembler could also be used, but I like vm, as it only
takes 5-10 SECONDS to IPL, and CMS is a much "friendlier" environment.

The script command can also be put into the hercules.rc file, to be
run automatically when hercules starts up.

For longer programs / and a (much) more "structured" programming
enviornment, Harold Grovesteen has his "Stand Alone Toolkit" (python
based cross-assembler) :

https://github.com/s390guy/SATK

Mike
broweo@yahoo.com [hercules-390]
2018-07-30 20:34:32 UTC
Permalink
I started out just using "v 0=xxxx.." and i've now graduated to making an IPL'able card deck. I will maybe move on to an absolute loader based on http://tommysprinkle.com/txxos/?p=123 http://tommysprinkle.com/txxos/?p=123

I'm running everything in key 0 supervisor state interrupts disabled and polling for i/o completion. The only problem with that right now is that i get an angry red status line (I think because of disabling all interrupts). I tried enabling interrupts but ended up in lala land maybe because there are timer interrupts all the time?


I'm going to look at some of the standalone support routines because i'm sure this is a well-solved problem.

Bill Rowe
www.olduino.wordpress.com
Post by ***@yahoo.com [hercules-390]
I am working with hercules poking in 370 instructions and running them from
the console.
How are you "poking" ... the instructions ?

I frequently do the same thing with tiny programs.

For "programs" of ~20 or so instructions, I'll just use the "r"
(change memory) command, directly from the console.

For longer programs I'll use the vmR6 six pack assembler, then copy
the assembler listing, and edit the listing, inserting "r" commands
at the beginning of the lines, and putting a "# or *" after the object
bytes, which gives you a "commented script file" that you can run with
the hercules SCRIPT command.

One of these days I'll write a program to parse / edit an assembler listing :/

You could also PUNCH a CMS TEXT file, then use the hercules LOADTEXT command.

The TK4- / MVS assembler could also be used, but I like vm, as it only
takes 5-10 SECONDS to IPL, and CMS is a much "friendlier" environment.

The script command can also be put into the hercules.rc file, to be
run automatically when hercules starts up.

For longer programs / and a (much) more "structured" programming
enviornment, Harold Grovesteen has his "Stand Alone Toolkit" (python
based cross-assembler) :

https://github.com/s390guy/SATK https://github.com/s390guy/SATK

Mike
'Dave Wade' dave.g4ugm@gmail.com [hercules-390]
2018-07-30 21:02:23 UTC
Permalink
Bill,

Excuse me if this is a repeat, but when you read this via e-mail you loose all context. If you mean on the console page, I have never seen it anything other than red..



Dave



From: hercules-***@yahoogroups.com <hercules-***@yahoogroups.com>
Sent: 30 July 2018 21:35
To: hercules-***@yahoogroups.com
Subject: Re: [hercules-390] Is there a 32 bit mode?





I started out just using "v 0=xxxx.." and i've now graduated to making an IPL'able card deck. I will maybe move on to an absolute loader based on http://tommysprinkle.com/txxos/?p=123



I'm running everything in key 0 supervisor state interrupts disabled and polling for i/o completion. The only problem with that right now is that i get an angry red status line (I think because of disabling all interrupts). I tried enabling interrupts but ended up in lala land maybe because there are timer interrupts all the time?



I'm going to look at some of the standalone support routines because i'm sure this is a well-solved problem.


Bill Rowe

www.olduino.wordpress.com <http://www.olduino.wordpress.com>
Post by ***@yahoo.com [hercules-390]
I am working with hercules poking in 370 instructions and running them from
the console.
How are you "poking" ... the instructions ?

I frequently do the same thing with tiny programs.

For "programs" of ~20 or so instructions, I'll just use the "r"
(change memory) command, directly from the console.

For longer programs I'll use the vmR6 six pack assembler, then copy
the assembler listing, and edit the listing, inserting "r" commands
at the beginning of the lines, and putting a "# or *" after the object
bytes, which gives you a "commented script file" that you can run with
the hercules SCRIPT command.

One of these days I'll write a program to parse / edit an assembler listing :/

You could also PUNCH a CMS TEXT file, then use the hercules LOADTEXT command.

The TK4- / MVS assembler could also be used, but I like vm, as it only
takes 5-10 SECONDS to IPL, and CMS is a much "friendlier" environment.

The script command can also be put into the hercules.rc file, to be
run automatically when hercules starts up.

For longer programs / and a (much) more "structured" programming
enviornment, Harold Grovesteen has his "Stand Alone Toolkit" (python
based cross-assembler) :

https://github.com/s390guy/SATK

Mike
Peter Coghlan mailinglists@beyondthepale.ie [hercules-390]
1970-01-01 00:00:00 UTC
Permalink
Post by Dave McGuire ***@neurotica.com [hercules-390]
Get with Conner. He got z/Linux running on his z890 without any dasd.
Might have needed to get a feature code that wasn't on the machine.
Yeah, I was there for much of that. First of all (not to sound
ungrateful, I do appreciate the suggestion) I'm not at all interested in
running Linux on the machine. I am absolutely swimming in Linux
machines here.
Linux will run on a z890 without any "special" (read: proper IBM)
DASD. You can plug a regular grab-it-on-eBay FibreChannel disk array
into a FICON port on a z890 and Linux will run from it.
But for an IBM OS, it needs to have a special feature enabled, which
is enabled via typing a key into the service element, which allows the
machine to present a FibreChannel disk array attached to a FICON port to
an IBM OS as real DASD.
When the z890 was a supported machine (up until December of last
year), you could call up IBM, give them your serial number, and they'd
generate the feature enablement code for you. They don't do that
anymore. And, you guessed it, my z890 doesn't have that feature enabled.
I don't think the z10 can do that at all, but I'm not certain. Either
way, though, the z10 being so recent, and currently supported, I'd have
no way to reasonably get that enabled, as it would surely cost a small
fortune.
If you could run Hercules on z/Linux on your z10, that would be a slightly
roundabout way to get an IBM OS running on it and I think your licenses
would be valid too.

Regards,
Peter Coghlan.
Post by Dave McGuire ***@neurotica.com [hercules-390]
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Mike Stramba mikestramba@gmail.com [hercules-390]
2018-07-31 11:51:50 UTC
Permalink
Post by Peter Coghlan ***@beyondthepale.ie [hercules-390]
If you could run Hercules on z/Linux on your z10, that would be a slightly
roundabout way to get an IBM OS running on it and I think your licenses
would be valid too.
Or see how many z/Linux -> WINE ->windows >vMware >windows >vmWare
Post by Peter Coghlan ***@beyondthepale.ie [hercules-390]
Linux >WINE> Windows> vmWare ........... you can get going :/
Or ....

Get the HMC connected, then -> Single Object Operations -> Support
Element -> the CP -ToolBox -> Alter Storage / Restart is the
"nirvana" of Bare Metal Programming !!

Mike
Loading...