Difference between revisions of "User talk:ForOldHack"

From Computer History Wiki
Jump to: navigation, search
(Real mode: added a few refrences.)
(Refrence summary: Added only the Xenix systems from benchmark)
 
(22 intermediate revisions by 3 users not shown)
Line 10: Line 10:
  
 
: Please don't forget; I can add the sig manually, but it's easier for you. Thanks! [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:52, 22 March 2019 (CET)
 
: Please don't forget; I can add the sig manually, but it's easier for you. Thanks! [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:52, 22 March 2019 (CET)
 +
 +
: A reminder... [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 19:19, 11 January 2024 (CET)
 +
 +
::Thank you, I appreciate it. I thought it was a Bot, but after I saw the change, I started again with the [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 00:09, 12 January 2024 (CET) habit.  [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 00:09, 12 January 2024 (CET)
  
 
== Note ==
 
== Note ==
Line 29: Line 33:
 
:Verses ATT SYS V, I guess I see through the eyes of my first C teacher, Barry Kercheval, who liked Sun workstations, because of their OS, and their compiler. The MS-DOS C compilers at the time were hacks, Microsoft C was bad, Aztek C was a bit better, Manx C would make code easy to port from Amiga to PC, and we would get constant diffrences between those and XENIX, and the other boxes we would remote into to look at their compilers. [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 11:52, 12 April 2019 (CEST)
 
:Verses ATT SYS V, I guess I see through the eyes of my first C teacher, Barry Kercheval, who liked Sun workstations, because of their OS, and their compiler. The MS-DOS C compilers at the time were hacks, Microsoft C was bad, Aztek C was a bit better, Manx C would make code easy to port from Amiga to PC, and we would get constant diffrences between those and XENIX, and the other boxes we would remote into to look at their compilers. [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 11:52, 12 April 2019 (CEST)
  
:: The way I'd handle OS's where they were released on different dates on different hardware would be to put multiple entries in the 'Date released' box (sort of like the mutiple entries under 'Capacity' [[RL0x disk drive|here]]); one line for each type of hardware. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 16:20, 16 April 2019 (CEST)
+
:: The way I'd handle OS's where they were released on different dates on different hardware would be to put multiple entries in the 'Date released' box (sort of like the mutiple entries under 'Capacity' [[RL01/02 disk drive|here]]); one line for each type of hardware. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 16:20, 16 April 2019 (CEST)
  
 
:For RT-11, A list of boxes that it could run on, and the corresponding CPUs and memory cards that would support it, would be useful. i.e. It would not run on this hardware, but certainly would run on the current hardware of the day. [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 11:52, 12 April 2019 (CEST)
 
:For RT-11, A list of boxes that it could run on, and the corresponding CPUs and memory cards that would support it, would be useful. i.e. It would not run on this hardware, but certainly would run on the current hardware of the day. [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 11:52, 12 April 2019 (CEST)
Line 55: Line 59:
  
 
:: Actually, I didn't write that - someone else at MIT did (don't recall who). The only humour thing I did was the first "Alice's" hack - Alice's PDP-10, maybe? [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:36, 13 April 2019 (CEST)
 
:: Actually, I didn't write that - someone else at MIT did (don't recall who). The only humour thing I did was the first "Alice's" hack - Alice's PDP-10, maybe? [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:36, 13 April 2019 (CEST)
 +
 +
 +
Practice makes perfect [https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Linking Wikipedia manual of style: Links]
  
 
== new user ==
 
== new user ==
Line 146: Line 153:
  
 
I've never heard the term 'real mode' applied generally to machines, only to x86 machines. A quick Web search seems to confirm this; see e.g. [https://en.wikipedia.org/wiki/Real_mode Wikipedia]. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:47, 2 July 2020 (CEST)
 
I've never heard the term 'real mode' applied generally to machines, only to x86 machines. A quick Web search seems to confirm this; see e.g. [https://en.wikipedia.org/wiki/Real_mode Wikipedia]. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 14:47, 2 July 2020 (CEST)
 +
:I would be in favor of renaming the page to something else than "Real mode" - it *is* x86 specific and it should therefore be named accordingly - not sure what's the best title, but e.g. "x86 Real Mode Memory Model" maybe? Or something better. Or a general "x86 Memory Models" with a section "Real Mode"? [[User:Tor|Tor]] ([[User talk:Tor|talk]]) 16:17, 13 August 2020 (CEST)
 +
 +
:: Real Mode Memory x86(only)
 +
 +
:::https://devblogs.microsoft.com/oldnewthing/20200728-00/?p=104012
 +
 +
:::https://devblogs.microsoft.com/oldnewthing/20171113-00/?p=97386
 +
 +
:::"This makes for a bit of trouble if you’re writing a program that needs to run in both real mode and protected mode. When you reach the end of the first 64KB block, how much do you increment the segment/selector by to reach the next 64KB block?
 +
 +
Enter the __AHINCR variable.
 +
 +
The __AHINCR variable is a variable exported from KERNEL. In real mode Windows, the value is 0x1000. In protected mode Windows, the value is 0x0008. When your program reaches the end of a 64KB block, it uses the __AHINCR value to decide how much to increment the segment/selector by in order to reach the next 64KB block.
 +
 +
Most programmers never saw this variable. It was hidden inside the code generated by the compiler.
 +
 +
With the introduction of enhanced mode Windows, the memory manager did a little more. Enhanced mode Windows used the 80386, “Now with 32-bit registers!✨” This means that the offset portion of a selector:offset address can be a 32-bit value."
 +
  
 
"Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20-bit segmented memory address space (giving exactly 1 MiB of addressable memory) and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels. "
 
"Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20-bit segmented memory address space (giving exactly 1 MiB of addressable memory) and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels. "
Line 151: Line 176:
 
:The word memory, occurs 5 times, and address occurs twice. I/O Does not have addresses, it has numbered ports.  
 
:The word memory, occurs 5 times, and address occurs twice. I/O Does not have addresses, it has numbered ports.  
 
Real mode does not apply to x64 CPUs.  
 
Real mode does not apply to x64 CPUs.  
 +
Something else applies: and DEC was one of the first, and all others followed:
 +
Memory partitioning: VMS Partitions the 4GB address space into 4 parts, P0 ~ P4:
 +
 +
"VAX has a byte-addressable 32-bit virtual address space divided in 512
 +
byte pages. The page is basic unit of mapping and protection. The
 +
address space of a process is divided into P0, P1, P2 regions each 1GB.
 +
P2 is the system address space that is shared between all processes. "
 +
 +
"The address space is split so that 2 GB of address space is directly accessible to user-mode processes (applications, for example your Opera Browser and the other 2 GB is only accessible to kernel-mode processes (Windows operating system, drivers, etc.)."
 +
 +
From Raymond Chen: [https://devblogs.microsoft.com/oldnewthing/20200728-00/?p=104012 A look back at memory models in 16-bit MS-DOS]
 +
 +
<blockquote>Yep. All of these memory models are still possible in protected mode (and still useful on the 286). But when the first OSes written for the 386 showed up, they basically all decided to make all the segments† 4GB large covering the entire (virtual) address space, which is technically the same as the Tiny model. Then when AMD designed x86-64 long mode, they pretty much deleted support for the other models. It doesn’t matter nowadays, because the segments point into the same virtual address space, so the other models really don’t have much benefit except for a very small number of edge cases.
 +
 +
† In protected mode, segments are regions of memory described by descriptors in the GDT or LDT and identified by selectors loaded into the *S registers; that’s my position on the terminology as backed up by the Intel IA-32 Architecture Software Developer’s Manual, Raymond.</blockquote>
 +
 +
 +
VAX for the Win. Much more flexible and much more responsive, it can cache VM for both Applications and DATA, as well as for system processes. Which leaves it up to the OS to manage the caching for databases. I wonder what the benchmarks say...
  
 
:That is what I had thought. Keep in mind, I have over 50 edits on the Wikipedia IBM PC page, mostly to reflect IBMs documentation, after all, they made the machine. The same is true of Intel, I quote the manual, because they made the processor.
 
:That is what I had thought. Keep in mind, I have over 50 edits on the Wikipedia IBM PC page, mostly to reflect IBMs documentation, after all, they made the machine. The same is true of Intel, I quote the manual, because they made the processor.
 +
 +
[https://courses.cs.washington.edu/courses/csep551/04wi/Messages/paper20/0020.html Review for VAX/VMS Virtual Memory Management paper]
  
 
There are a number of other errors (e.g. it's not ''just'' about addressing, as the intro currently implies), and the new revision is poorly organized. I was going to fix it, but as I started to do that, I realized it would take a lot of time, and I have other things I have to get to this morning, I can't just disrupt my entire day to jump on this. So I' going to have to leave it in its current state for the moment. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 15:16, 2 July 2020 (CEST)
 
There are a number of other errors (e.g. it's not ''just'' about addressing, as the intro currently implies), and the new revision is poorly organized. I was going to fix it, but as I started to do that, I realized it would take a lot of time, and I have other things I have to get to this morning, I can't just disrupt my entire day to jump on this. So I' going to have to leave it in its current state for the moment. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 15:16, 2 July 2020 (CEST)
Line 158: Line 203:
 
:If "it's not ''just'' about addressing." and your citation says "also called real address mode" I fail to see why you cited an article that compelling supports the case.
 
:If "it's not ''just'' about addressing." and your citation says "also called real address mode" I fail to see why you cited an article that compelling supports the case.
 
:If you would prefer only finished articles, I can edit offline, and make my own scratch pad, and citations.
 
:If you would prefer only finished articles, I can edit offline, and make my own scratch pad, and citations.
:I am mostly interested in the GDT of the 286 used by XENIX right now.  
+
:I am mostly interested in the GDT of the 286 used by XENIX right now. ( The port of GNU C to 286 Xenix is still in limbo, while the Port of GNU C, was done a long time ago, and is kept current. Microsoft crippled 286 Xenix just to sell more software at $500.00 a pop. ( The College paid for 1 copy, and installed it 6 times. Since the computers were not networked, they had no way to complain.
  
 
::No its just just about addressing, and included both register file, and virtual IO, which are now features of the Intel Processor line.
 
::No its just just about addressing, and included both register file, and virtual IO, which are now features of the Intel Processor line.
Line 166: Line 211:
  
 
:Less errors https://www.singlix.com/trdos/archive/OSDev_Wiki/Protected%20Mode%20Software%20Architecture.pdf
 
:Less errors https://www.singlix.com/trdos/archive/OSDev_Wiki/Protected%20Mode%20Software%20Architecture.pdf
 +
"
 +
 +
== AIX for PS2 ==
 +
http://ohlandl.ipv7.net/AIX_1-3/AIX_Index.html      ; Many broken links but there are mirrors.
 +
 +
::AIX 1.3 ( there were 1.1, 1.2, and 1.3 versions for ) PS/2 Model 80, and later It was installed on a Model 70, - 386 only.
 +
 +
::Disk source [ https://winworldpc.com/product/aix/aix-ps2 AIX for the PS/2 Model 80 ]
 +
 +
::Running under emulation [ https://www.youtube.com/watch?v=27AnJ8MWBGc&ab_channel=DigitalArchaeologist AIX 1.3 on VirtualBox ] [[User:ForOldHack|ForOldHack]] ([[User talk:ForOldHack|talk]]) 00:16, 12 January 2024 (CET)
  
== Real Mode test ASM ==
+
= AIX for PS/2 RS6000 S/370 =
NVIRT8086.BIN    ; The "E" and "F" lines below create the EXE header.
+
Documentation
E100 'MZ'
+
http://ps-2.kev009.com/aixps2/boo2pdf/
E102 B1 00 02 00 01 00 20 00 11 00
+
 
E10C FF FF 0C 00 00 01 00 00 00 00
+
RT for MCA
E116 00 00 3E 00 00 00 00 01 FB 30
+
http://ohlandl.ipv7.net/CPU/RT_Accelerator.html
E120 CA 72
+
 
F122 13D 00
+
Where all the books are:
E13E 01
+
http://ps-2.kev009.com/tavi/ps2pages/aix.html
F13F 2FF 00
+
 
A300
+
Timeline for OSs
MOV  AX,0003
+
https://en.wikipedia.org/wiki/Timeline_of_operating_systems
MOV  DS,AX      ;next line is MOVE EAX, CR0
+
 
DB    0F 20 CG
+
== Scratch space for VMS E ==
DB 66
+
ftp://nic.funet.fi/pub/msdos/games/strategy/
TEST  AX,0001    ;with line above & below, TEST EAX, 00000001H
+
 
DB 99 99
+
https://volafile.org/r/1en13tpxw
JZ 325           ;jump to GotReal if protection disabled
+
 
NOP
+
http://www.loper-os.org/
NOP
+
 
MOVE  DX,0000   ;offset of 'protect w/ no paging' message   
+
http://piotrkosoft.net/pub/windows/addons/gta3/mods/?C=S;O=D
DB 66
+
 
TEST  AX,0000    ;with line above & below, TEST EAX, 00000000H
+
http://www.kevra.org/TheBestOfNext/NeXTProducts/NeXTSoftware/NeXTSoftware.html
DB 00 80
+
 
JZ    328        ;jump to WriteIt if no paging
+
https://ia600306.us.archive.org/30/items/TheOriginalShareware1992V1/file_listing-ls.txt
NOP
+
 
NOP
+
https://unicom.crosenthal.com/pw/faq/sco-xenix.faq
MOV  DX,033       ;offset of 'protect w/ paging' message
+
 
JMP  0328         ;jump to WriteIt
+
http://www.nj7p.org/Manuals/PDFs/Intel/461830-001.pdf
NOP
+
 
 +
= Real Mode test ASM =
 +
 
 +
There are several errors in this, its from PC TECH Magazine, TECH notes, but I do not know the issue number,
 +
and I am trying to find it. verified errors will have a E in front of them.
 +
What is seriously missing is a hex dump of this program, so I can fix the x86 assembly.
 +
Found a hex dump, and am disassembling it now.
 +
 
 +
The actual archive is located here: http://www.ittnnet.com/downloads/PCMAG/VOL11N20.ZIP
 +
Volume 11 of PC TECH Journal. ( 1988 )
 +
File is VIRT8086.EXE, Assembly file is VIRT8086.ASM ( that you use an assembler on ), and VIRT8086.SCR, which is a debug script that contains the errors, shown here.
 +
 
 +
NVIRT8086.BIN    ;This (N)ames the file VIRT8086.BIN so you can rename it later.
 +
E100 'MZ'        ;The "E" and "F" lines below create the EXE header.
 +
E102 B1 00 02 00 01 00 20 00 11 00
 +
E10C FF FF 0C 00 00 01 00 00 00 00
 +
E116 00 00 3E 00 00 00 00 01 FB 30
 +
E120 6A 72        ; Binary shows '6A' not 'CA'
 +
F122 13D 00   ; This should continue the entering of data into hex location E122, but it does not, and 13D is not a valid hex byte.
 +
E13E 01           ; Consistent with binary.
 +
F13F 2FF 00   ; This should enter the data into E13F but it does not.
 +
A300
 +
MOV  AX,0003
 +
MOV  DS,AX      ;next line is MOVE EAX, CR0
 +
DB    0F 20 C0
 +
DB   66
 +
TEST  AX,0001    ;with line above & below, TEST EAX, 00000001H
 +
DB   99 99
 +
JZ   325         ;jump to GotReal if protection disabled
 +
NOP
 +
NOP
 +
MOVE  DX,0000   ;offset of 'protect w/ no paging' message   
 +
DB   66
 +
TEST  AX,0000    ;with line above & below, TEST EAX, 00000000H
 +
DB   00 80
 +
JZ    328        ;jump to WriteIt if no paging
 +
NOP
 +
NOP
 +
MOV  DX,033     ;offset of 'protect w/ paging' message
 +
JMP  0328       ;jump to WriteIt
 +
NOP
 
       ;next line is label GotReal
 
       ;next line is label GotReal
MOVE  DX, 0065    ;offset of 'real mode' message
+
MOVE  DX, 0065    ;offset of 'real mode' message
 
       ;next line is label WriteIt
 
       ;next line is label WriteIt
MOV  AH,09
+
E    MOV  AH,09
INT  21
+
INT  21
MOVE AH,4C
+
E    MOV AH,4C
INT  21
+
INT  21         ;return to DOS, after printing message.
 +
      ; Message area;
 +
E 330 'CPU IS RUNNING IN PROTECTED MODE...PAGING DISABLED$'
 +
E 363 'CPU IS RUNNING IN PROTECTED MODE...PAGING ENABLED$'
 +
E 395 'CPU IS RUNNING IN REAL MODE$'
 +
RCX              ;This is supposed to put 2B1 bytes into the CX register.
 +
2B1
 +
W                ;This writes the file to disk
 +
Q                ;This quits the debugger.
 +
 
 +
You must rename VIRT8086.BIN  to VIRT8086.EXE and execute from the command line.
 +
 
 +
( note: Running in V86 or Protected mode, slows Video, by 50 to 70% ).
  
E 330 'CPU IS RUNNING IN PROTECTED MODE...PAGING DISABLED$'
+
Xenix Benchmarks:
E 363 'CPU IS RUNNING IN PROTECTED MODE...PAGING ENDABLED'
+
From: https://web.archive.org/web/20141202093953/http://wiretap.area.com/Gopher/Library/Techdoc/Bench/dhryst.txt
E 395 'CPU IS RUNNING IN REAL MODE$'
 
RCX
 
2B1
 
W
 
Q
 
  
You must rename NVIRT8086.BIN to NVIRT8086.EXE and execute from the command line.
+
MANUF      MODEL      PROC    CLOCK NOREG  REG OS,COMPILER,NOTES
 +
-----      -----      ----    ----- -----  --- -----------------
 +
IBM        PC/AT      80286    9.05  696  692 XENIX SCO SVR2.1,cc  large,
 +
IBM        PC/AT      80286    9.05  1464  1484 XENIX SCO SVR2.1,cc  small,
 +
Intel      Inboard 38 80386    16.00  4603 4922 SCO XENIX 386 Beta 6/16/87,cc Beta ,cache on, 32 bit memory
 +
NCR        PC-8      80286    8.00  653  649 XENIX SCO SVR2.0.4,cc  large,
 +
NCR        PC-8      80286    8.00  981  983 XENIX SCO SVR2.0.4,cc  middle
 +
NCR        PC-8      80286    8.00  1283  1299 XENIX SCO SVR2.0.4,cc  small,
 +
Spectrix M Series 10  68000    10.00  571  592 Xenix ,Greenhills 1.7.14 -O,
 +
TANDY      3000HD    80286    10.00  1318  1346 XENIX System V/286,cc  large,
 +
TANDY      3000HD    80286    10.00  2071  2164 XENIX System V/286 Xenix,cc  small,
 +
Tandy      6000      68000    8.00  1286  1362 XENIX 3.1,cc 1.0 ,
 +
Tandy      6000      68000    8.00  1288  1366 XENIX 3.0.0,cc 3.0.0 NONE,Tandy Ver. 3.1.2
 +
Tandy      3000      80286    8.00  1455  1543 Xenix 2.00,cc  ,

Latest revision as of 22:47, 7 August 2024

Sigs on Talk: pages

We generally try and follow the Wikipedia style of signing posts on Talk: pages (so that people reading them will know straight off, without having to look in the history, who made comments, and when). There's even special Wiki syntax to do this easily; just add ~~~~ to the end of your post, and it will be automagically transformed in this sig, with the user and time. Jnc (talk) 13:21, 11 March 2019 (CET)

Hmm, something else is going on. 'ForOldHack (talk) 01:41, 12 March 2019 (CET)' gives me date and time, and ~~~~ gives me 4 tildies.
Oh, now I understand to escape the wiki process and get tildies, use ~~~~, but to get the sig use ForOldHack (talk) 01:42, 12 March 2019 (CET)
I have not seen such a funny time stamp in 34 years, when we were using uwasa.fi as a mail relay. ( Time is Wasausa, Finland ) ForOldHack (talk) 01:45, 12 March 2019 (CET)
Please don't forget; I can add the sig manually, but it's easier for you. Thanks! Jnc (talk) 14:52, 22 March 2019 (CET)
A reminder... Jnc (talk) 19:19, 11 January 2024 (CET)
Thank you, I appreciate it. I thought it was a Bot, but after I saw the change, I started again with the ForOldHack (talk) 00:09, 12 January 2024 (CET) habit. ForOldHack (talk) 00:09, 12 January 2024 (CET)

Note

I would like to print to npib78003.local ForOldHack (talk) 05:45, 27 March 2019 (CET)

Infobox line captions

The captions in info boxes are specified in the template, as are the argument names; trying to change either in the invocation has no effect.

If you want to change the 'Year introduced' caption, I'd be OK with that, but just to 'Introduced' I think might be potentially confusing without something to indicate that it's a temporal meaning - e.g. 'Date introduced', or something. Jnc (talk) 12:04, 7 April 2019 (CEST)

Introduced sounds like marketing speak, I would prefer Release dates, since that would cover both people receiving mag tapes, and downloading comparable source. I got Redhat 5.0 on the day of release, and was able to torrent it, and was able to install it quickly. I went to a user group meeting, and for the cost of $5, got 1) a backup CD, 2) a great Tshirt, 3) a great how-to manual, and 4) some nifty stickers. Needless to say, from that day forward, I saw the lack of value in Microsoft Products. ForOldHack (talk) 11:52, 12 April 2019 (CEST)
OK, 'Date released' would work in Template:Infobox Software, Template:Infobox OS, and Template:Infobox App. I'll go ahead and make that change (although it will only be in the caption, not in the argument name - if I change that, I'd have to change every article that calls those templates).
Not sure that to do about Template:Infobox Machine, etc - would 'Date introduced' work there? Jnc (talk) 16:20, 16 April 2019 (CEST)
Back to the Temporal part, We want a label to indicate its first start of general use, so that a corresponding date tag, could map to what hardware it would run on, i.e. XENIX would have a 1985 release date, and the current hardware was XTs, Turbo XTs, ATs and a few clones,
Verses ATT SYS V, I guess I see through the eyes of my first C teacher, Barry Kercheval, who liked Sun workstations, because of their OS, and their compiler. The MS-DOS C compilers at the time were hacks, Microsoft C was bad, Aztek C was a bit better, Manx C would make code easy to port from Amiga to PC, and we would get constant diffrences between those and XENIX, and the other boxes we would remote into to look at their compilers. ForOldHack (talk) 11:52, 12 April 2019 (CEST)
The way I'd handle OS's where they were released on different dates on different hardware would be to put multiple entries in the 'Date released' box (sort of like the mutiple entries under 'Capacity' here); one line for each type of hardware. Jnc (talk) 16:20, 16 April 2019 (CEST)
For RT-11, A list of boxes that it could run on, and the corresponding CPUs and memory cards that would support it, would be useful. i.e. It would not run on this hardware, but certainly would run on the current hardware of the day. ForOldHack (talk) 11:52, 12 April 2019 (CEST)

External link syntax

We generally like to give the title of our external links, using the syntax '[URL title]', so instead of:

[1]

one sees this:

Digital Equipment Corporation Indicator Panels

Much nicer for our readers! The title is formally given inside <title> tags in the HTML of the page, and displayed by the browser (often in the window title bar, but exactly how will depend on the browser and OS).

PS: You shouldn't stick a sig in additions to content pages (where it intrudes), you only need to do it on Talk: pages. The reasoning (it dates to a very early stage on Wikipedia, before even I started there) seems to be that if one wants to know where something in a content page comes from, one looks at the History of that page; on Talk: pages (especially if one is reading one later - see for example the discussion at Help talk:Introduction to Categories), one can easily see who posted a given item directly, without needing to grub around in the history. Jnc (talk) 15:25, 7 April 2019 (CEST)

Very sorry, I had forgot, and even forgot to look it up. I am so amazed by the tiny bits I have found, I only used some of those machines a few times, they were apprently very popular because they were so fantastic.
Ill follow this convention on. ForOldHack (talk) 04:57, 8 April 2019 (CET)

Sure. BTW, here is the Wikipedia sig policy, which we follow (although we don't follow Wikipedia in most things, in this one we do). Jnc (talk) 15:12, 9 April 2019 (CEST)

When a user sees this: [System 286 release notes] it had me choking with laughter. ForOldHack (talk) 10:59, 12 April 2019 (CET)
Actually, I didn't write that - someone else at MIT did (don't recall who). The only humour thing I did was the first "Alice's" hack - Alice's PDP-10, maybe? Jnc (talk) 14:36, 13 April 2019 (CEST)


Practice makes perfect Wikipedia manual of style: Links

new user

I don't see a new user. You are the newest user since 8 March 2019. Dugo (talk) 11:25, 11 April 2019 (CEST)

Right, you created a new page, User talk:ForOldHack/My sandbox‎‎, in the 'User talk' namespace. On this wiki, only admins can create new user accounts. Jnc (talk) 14:12, 11 April 2019 (CEST)

Yes, I understand. Page deleted. It does help a lot that you have more Wikipedia experience then I. Thanks. ForOldHack (talk) 10:35, 12 April 2019 (CEST)

Technically, you 'blanked' the page; it (and its history) are still there. It is actually possible to remove a page totally, but only admins have that ability. Please let me know if you ever want a page (e.g. that one) nuked. Jnc (talk) 14:43, 13 April 2019 (CEST)
Yes, I have grabbed the information off that page, it can go into the great bit bucket (trash/recycler/ /dev/null)
How many euphemisms can we come up with for deleting a file/page? ForOldHack (talk) 19:43, 17 April 2019 (CEST)
OK, I have deleted that page. If I misunderstood you, or you change your mind, please let me know and I can restore it. Jnc (talk) 16:45, 24 April 2019 (CEST)

No, I copied the information here. It was an experiment and it did not come out as planned. ( silent back pages ). Good to know we can bring back pages if we make mistakes.

But the more I read here about DEC/PDP/VAX, The more I agree with your respect for its elegance. I wish I had had more time with the hardware, and could have worked with it the way I have worked with PCs.

Got a Mac Performa 630CD running today, just by cleaning it thoroughly, and giving it time to ... coalesce.

It seems as though this Wiki is coming along with the company of a few devoted fans. Great work.

Visualization

This is an exercise to create a text based visualization tool to categorize memory boards and their resultant available operating systems:

Chips: Motherboard OS

1x16 DRAM    IBM PC V1      DOS 1.0 ( August 1981 ) 
                            DOS 1.1 ( August 1981 )
                            CPM-86
                            UCSD-p 



Hm... Chart:

Dos chart, and early windows, no server.

ForOldHack (talk) 10:35, 12 April 2019 (CEST)


Kirk CD set!

You can find them on his site here for sale. Its a KLUNKY ordering thing, straight out of 1993, but I got my CD/DVD set in Hong Kong no worries! Totally worth it!

neozeed (talk) 14:03, 25 September 2019 (CEST)

Thanks, All I needed was the correct search terms. Found them.
The two talks I went to were the fixing the C port, and getting VM running on the VAX, both were fantastic lectures
on UNIX history. It was nice that Kirk was so accessible, vs meeting Bill Joy at USENIX, and him walking off because he was busy.

Links: ( not on the article, so best of luck finding them.. :)

https://archive.org/details/The_CSRG_Archives_CD-ROM_1_August_1998_Marshall_Kirk_McKusick
https://archive.org/details/The_CSRG_Archives_CD-ROM_2_August_1998_Marshall_Kirk_McKusick
https://archive.org/details/The_CSRG_Archives_CD-ROM_3_August_1998_Marshall_Kirk_McKusick
https://archive.org/details/The_CSRG_Archives_CD-ROM_4_August_1998_Marshall_Kirk_McKusick


Tapes

"So I had a source tape of GNU 0.1." Do you still have that tape? Or any other old tapes? Larsbrinkhoff (talk) 14:10, 29 May 2020 (CEST)

No, I do not have that tape, or any tapes. Lost 10+ years ago. ForOldHack (talk) 09:23, 14 June 2020‎

RS-232

We actually already have an EIA RS-232 serial line interface article, linked to at the top of the article, which defines 'DCE', 'DTE' etc. Also, higher speeds were more common later, but early interfaces only supported lower speeds - e.g. the KL11 only went up to 2400 baud, but even lower speeds were common; e.g. early KD11-B CPUs only supported 110 baud. What character coding was used with 5-bit characters? With only 32 available values, there aren't enough for letters and numbers. Etc, etc, etc. Jnc (talk) 00:06, 23 June 2020 (CEST)

Ah-HA, baud is short for Baudot code, which was a 5 bit character encoding, which was 26 letters, a space and a peroid, and STOP which was carried over to Telegrams, NULL, delete, and one more... FS?!?!?! It was known as Baudot-Murry, and is still used as ITA2 "ITA2 is still used in telecommunications devices for the deaf (TDD), telex, and some amateur radio applications, such as radioteletype ("RTTY"). ITA2 is also used in Enhanced Broadcast Solution (an early 21st century financial protocol specified by Deutsche Börse) to reduce the character encoding footprint"
Why would the KD-11-B CPU support a serial link? For a debugging terminal or a logging printer?
The TTYs that were at Lawrence Hall Of Science, and Willard Jr High school,
VT-52s supported 75,110,150, 300,600, 1200,2400,4800, 9600 bps.
ASR-33s supported 110, 10 cps, but the modems, The LDS I remember had a 75/110 switch.

PDP-11/03

Whist grabbing all the DEC documentation off Archive.org, I came across a MiniMINC manual, apparently a dual 8" Floppy PDP-11/03 variant. [https://archive.org/details/TNM_MiniMINC_desktop_computer_-_Digital_Equipment_20180102_0716/page/n5/mode/2up PDP-11/03 variant. Do we have room at the VERY low end of the PDP line for this?

Real mode

I've never heard the term 'real mode' applied generally to machines, only to x86 machines. A quick Web search seems to confirm this; see e.g. Wikipedia. Jnc (talk) 14:47, 2 July 2020 (CEST)

I would be in favor of renaming the page to something else than "Real mode" - it *is* x86 specific and it should therefore be named accordingly - not sure what's the best title, but e.g. "x86 Real Mode Memory Model" maybe? Or something better. Or a general "x86 Memory Models" with a section "Real Mode"? Tor (talk) 16:17, 13 August 2020 (CEST)
Real Mode Memory x86(only)
https://devblogs.microsoft.com/oldnewthing/20200728-00/?p=104012
https://devblogs.microsoft.com/oldnewthing/20171113-00/?p=97386
"This makes for a bit of trouble if you’re writing a program that needs to run in both real mode and protected mode. When you reach the end of the first 64KB block, how much do you increment the segment/selector by to reach the next 64KB block?

Enter the __AHINCR variable.

The __AHINCR variable is a variable exported from KERNEL. In real mode Windows, the value is 0x1000. In protected mode Windows, the value is 0x0008. When your program reaches the end of a 64KB block, it uses the __AHINCR value to decide how much to increment the segment/selector by in order to reach the next 64KB block.

Most programmers never saw this variable. It was hidden inside the code generated by the compiler.

With the introduction of enhanced mode Windows, the memory manager did a little more. Enhanced mode Windows used the 80386, “Now with 32-bit registers!✨” This means that the offset portion of a selector:offset address can be a 32-bit value."


"Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20-bit segmented memory address space (giving exactly 1 MiB of addressable memory) and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels. "

The word memory, occurs 5 times, and address occurs twice. I/O Does not have addresses, it has numbered ports.

Real mode does not apply to x64 CPUs. Something else applies: and DEC was one of the first, and all others followed: Memory partitioning: VMS Partitions the 4GB address space into 4 parts, P0 ~ P4:

"VAX has a byte-addressable 32-bit virtual address space divided in 512 byte pages. The page is basic unit of mapping and protection. The address space of a process is divided into P0, P1, P2 regions each 1GB. P2 is the system address space that is shared between all processes. "

"The address space is split so that 2 GB of address space is directly accessible to user-mode processes (applications, for example your Opera Browser and the other 2 GB is only accessible to kernel-mode processes (Windows operating system, drivers, etc.)."

From Raymond Chen: A look back at memory models in 16-bit MS-DOS

Yep. All of these memory models are still possible in protected mode (and still useful on the 286). But when the first OSes written for the 386 showed up, they basically all decided to make all the segments† 4GB large covering the entire (virtual) address space, which is technically the same as the Tiny model. Then when AMD designed x86-64 long mode, they pretty much deleted support for the other models. It doesn’t matter nowadays, because the segments point into the same virtual address space, so the other models really don’t have much benefit except for a very small number of edge cases. † In protected mode, segments are regions of memory described by descriptors in the GDT or LDT and identified by selectors loaded into the *S registers; that’s my position on the terminology as backed up by the Intel IA-32 Architecture Software Developer’s Manual, Raymond.


VAX for the Win. Much more flexible and much more responsive, it can cache VM for both Applications and DATA, as well as for system processes. Which leaves it up to the OS to manage the caching for databases. I wonder what the benchmarks say...

That is what I had thought. Keep in mind, I have over 50 edits on the Wikipedia IBM PC page, mostly to reflect IBMs documentation, after all, they made the machine. The same is true of Intel, I quote the manual, because they made the processor.

Review for VAX/VMS Virtual Memory Management paper

There are a number of other errors (e.g. it's not just about addressing, as the intro currently implies), and the new revision is poorly organized. I was going to fix it, but as I started to do that, I realized it would take a lot of time, and I have other things I have to get to this morning, I can't just disrupt my entire day to jump on this. So I' going to have to leave it in its current state for the moment. Jnc (talk) 15:16, 2 July 2020 (CEST)

If "it's not just about addressing." and your citation says "also called real address mode" I fail to see why you cited an article that compelling supports the case.
If you would prefer only finished articles, I can edit offline, and make my own scratch pad, and citations.
I am mostly interested in the GDT of the 286 used by XENIX right now. ( The port of GNU C to 286 Xenix is still in limbo, while the Port of GNU C, was done a long time ago, and is kept current. Microsoft crippled 286 Xenix just to sell more software at $500.00 a pop. ( The College paid for 1 copy, and installed it 6 times. Since the computers were not networked, they had no way to complain.
No its just just about addressing, and included both register file, and virtual IO, which are now features of the Intel Processor line.
Some guidance would be good. No need to disrupt your day. Thanks ForOldHack (talk) 02:30, 3 July 2020 (CEST)
A place for references, but fraught with errors: https://wiki.osdev.org/Virtual_8086_Mode
Less errors https://www.singlix.com/trdos/archive/OSDev_Wiki/Protected%20Mode%20Software%20Architecture.pdf

"

AIX for PS2

http://ohlandl.ipv7.net/AIX_1-3/AIX_Index.html  ; Many broken links but there are mirrors.

AIX 1.3 ( there were 1.1, 1.2, and 1.3 versions for ) PS/2 Model 80, and later It was installed on a Model 70, - 386 only.
Disk source [ https://winworldpc.com/product/aix/aix-ps2 AIX for the PS/2 Model 80 ]
Running under emulation [ https://www.youtube.com/watch?v=27AnJ8MWBGc&ab_channel=DigitalArchaeologist AIX 1.3 on VirtualBox ] ForOldHack (talk) 00:16, 12 January 2024 (CET)

AIX for PS/2 RS6000 S/370

Documentation http://ps-2.kev009.com/aixps2/boo2pdf/

RT for MCA http://ohlandl.ipv7.net/CPU/RT_Accelerator.html

Where all the books are: http://ps-2.kev009.com/tavi/ps2pages/aix.html

Timeline for OSs https://en.wikipedia.org/wiki/Timeline_of_operating_systems

Scratch space for VMS E

ftp://nic.funet.fi/pub/msdos/games/strategy/

https://volafile.org/r/1en13tpxw

http://www.loper-os.org/

http://piotrkosoft.net/pub/windows/addons/gta3/mods/?C=S;O=D

http://www.kevra.org/TheBestOfNext/NeXTProducts/NeXTSoftware/NeXTSoftware.html

https://ia600306.us.archive.org/30/items/TheOriginalShareware1992V1/file_listing-ls.txt

https://unicom.crosenthal.com/pw/faq/sco-xenix.faq

http://www.nj7p.org/Manuals/PDFs/Intel/461830-001.pdf

Real Mode test ASM

There are several errors in this, its from PC TECH Magazine, TECH notes, but I do not know the issue number, and I am trying to find it. verified errors will have a E in front of them. What is seriously missing is a hex dump of this program, so I can fix the x86 assembly. Found a hex dump, and am disassembling it now.

The actual archive is located here: http://www.ittnnet.com/downloads/PCMAG/VOL11N20.ZIP Volume 11 of PC TECH Journal. ( 1988 ) File is VIRT8086.EXE, Assembly file is VIRT8086.ASM ( that you use an assembler on ), and VIRT8086.SCR, which is a debug script that contains the errors, shown here.

NVIRT8086.BIN     ;This (N)ames the file VIRT8086.BIN so you can rename it later.
E100 'MZ'         ;The "E" and "F" lines below create the EXE header.
E102 B1 00 02 00 01 00 20 00 11 00
E10C FF FF 0C 00 00 01 00 00 00 00
E116 00 00 3E 00 00 00 00 01 FB 30
E120 6A 72        ; Binary shows '6A' not 'CA'
E   F122 13D 00   ; This should continue the entering of data into hex location E122, but it does not, and 13D is not a valid hex byte.
E13E 01           ; Consistent with binary. 
E   F13F 2FF 00   ; This should enter the data into E13F but it does not.
A300
MOV   AX,0003
MOV   DS,AX       ;next line is MOVE EAX, CR0
DB    0F 20 C0
DB    66
TEST  AX,0001     ;with line above & below, TEST EAX, 00000001H
DB    99 99
JZ    325         ;jump to GotReal if protection disabled
NOP
NOP
MOVE  DX,0000	   ;offset of 'protect w/ no paging' message   
DB    66
TEST  AX,0000     ;with line above & below, TEST EAX, 00000000H
DB    00 80
JZ    328         ;jump to WriteIt if no paging
NOP
NOP
MOV   DX,033      ;offset of 'protect w/ paging' message
JMP   0328        ;jump to WriteIt
NOP
     ;next line is label GotReal
MOVE  DX, 0065     ;offset of 'real mode' message
     ;next line is label WriteIt
E     MOV   AH,09
INT   21
E     MOV  AH,4C
INT   21          ;return to DOS, after printing message.
     ; Message area; 
E 330 'CPU IS RUNNING IN PROTECTED MODE...PAGING DISABLED$'
E 363 'CPU IS RUNNING IN PROTECTED MODE...PAGING ENABLED$'
E 395 'CPU IS RUNNING IN REAL MODE$'
RCX               ;This is supposed to put 2B1 bytes into the CX register.
2B1
W                 ;This writes the file to disk
Q                 ;This quits the debugger. 
You must rename VIRT8086.BIN  to VIRT8086.EXE and execute from the command line.

( note: Running in V86 or Protected mode, slows Video, by 50 to 70% ).

Xenix Benchmarks: From: https://web.archive.org/web/20141202093953/http://wiretap.area.com/Gopher/Library/Techdoc/Bench/dhryst.txt

MANUF MODEL PROC CLOCK NOREG REG OS,COMPILER,NOTES


----- ---- ----- ----- --- -----------------

IBM PC/AT 80286 9.05 696 692 XENIX SCO SVR2.1,cc large, IBM PC/AT 80286 9.05 1464 1484 XENIX SCO SVR2.1,cc small, Intel Inboard 38 80386 16.00 4603 4922 SCO XENIX 386 Beta 6/16/87,cc Beta ,cache on, 32 bit memory NCR PC-8 80286 8.00 653 649 XENIX SCO SVR2.0.4,cc large, NCR PC-8 80286 8.00 981 983 XENIX SCO SVR2.0.4,cc middle NCR PC-8 80286 8.00 1283 1299 XENIX SCO SVR2.0.4,cc small, Spectrix M Series 10 68000 10.00 571 592 Xenix ,Greenhills 1.7.14 -O, TANDY 3000HD 80286 10.00 1318 1346 XENIX System V/286,cc large, TANDY 3000HD 80286 10.00 2071 2164 XENIX System V/286 Xenix,cc small, Tandy 6000 68000 8.00 1286 1362 XENIX 3.1,cc 1.0 , Tandy 6000 68000 8.00 1288 1366 XENIX 3.0.0,cc 3.0.0 NONE,Tandy Ver. 3.1.2 Tandy 3000 80286 8.00 1455 1543 Xenix 2.00,cc ,