Philips P800

Hallo Nico,

dat is een vooruitgang ! Wat een bizar filesysteem is dit...
Als later de omgekeerde weg mogelijk is kan misschien Fortran, BASIC ed aan het diskimage toegevoegd worden, en dan aan de P854 zelf getest worden.

aan alle :
dankzij de inzet van driessens_nl heb ik nu schema en 8748 eprom-contents van de FRCP module. Met deze module is een direkte besturing van de P854 mogelijk : lezen / schrijven van CPU registers en memory, start/stop, single step enz. Zie blz. 6-1 en volgende van dit dokument :
https://www.vaxbarn.com/p800/p858_p859_ref_5122_991_30621_fe...ch1_14.pdf

Ik ga deze module namaken (met een kleine vereenvoudiging, LED ipv VFD display), wie wil er ook een ?

Jos

Ik zat er een beetje naast in m'n vorige mail. Had de dokumentatie niet goed gelezen. Wat ik fout had, was het begin van de bestanden. De eerste sector (512 lang, waarvan er 2 + 400 gebruikt worden), is gereserveerd voor het OS. Deze sector wordt in mijn programma overgeslagen. De volgende sector bevat de chain informatie. De eerste link verwijst naar zichzelf. De eerste twee sectors moet je dus overslaan als je gaan kopieren, omdat je anders de OS sector en de chain in je ouput zou krijgen. Verward ? De volgende link(s) verwijzen naar een granule, die je dan in z'n heelheid moet kopieren.
Ik heb nu alles door m'n programma gedraaid, en steekproeven genomen. De LM bestanden zijn tamelijk oninteressant, omdat dat machinecode is. De UF bestanden zijn meer interessant. Ik heb meerdere doubletten gevonden, maar dat schijnen back-ups te zijn, of sectors die nergens voor gebruikt worden. Het beste was dus een lijst te maken van bestanden die in de catalogus stonden, ze dan op adres te sorteren, en dan te kopieren. Ik stuur een ZIP bestand mee, genaamed RESTORED. Er is ook een log. Ik hoor graag van wat je er van vindt. Nu is het weekend voor mij :-)m Het programma is geschreven in Delphi, en iedereen mag het hebben.

log.log

restored.zip

Hulde voor Nico en driessens_nl,

Ik zou graag het programma ook hebben van Nico als dat mag.
Jos weet inmiddels al via de email wel dat ik zo'n
cloonpaneeltje erg leuk zou vinden om erbij te hebben.

Dat er iemand een origineel Philips paneeltje over heeft is natuurlijk een utopie.

Als je me een e-mail adres geeft, kan ik het mailen.
Welk paneel bedoel je? dat van een 859?
Ik heb er een van een P859, maar die heb ik gereserveerd om later als rekenmachine op de P852 te kunnen gebruiken. weet nog niet hoe dat moet, maar er komen nog vele winters, hoop ik :-)
Heb je een Delphi 6? Zo ja, dan kun je mijn programmas voor de 852/857 krijgen. Dat zijn een Assembler, een Windows-gebaseerde debugger voor P8xx assembler, en een programma voor het lezen van backup tapes die door SUM gescheven zijn.
De foto laat een screendump (een van velen) zien de Debugger.
Alles is geschreven in Delphi.

Hallo allemaal
Zoals eerder gezegd, heb ik de basis van een P800 simulator geschreven. Nu ben ik nooit P800/PTS Assembler programmeur geweest, en heb dus alles uit handboeken. Ik heb een aantal testprogrammas gevonden in handboeken, en die worden in ieder geval korrekt geassembleerd. Ik heb wat meer moeite met alles wat met CIO samenhangt, omdat externe eenheiden gesimuleerd moeten worden door lokale bestanden op de PC, bv cassette en floppy, om maar niet te spreken van harddisks.
Is er iemand in deze groep die hiermee kan helpen ? Anders wordt het projekt een eeuwigheids projekt, en ik wil het graag zo goed mogelijk doen zodat anderen er ook plezien van kunnen krijgen.
Alles is geschreven in Delphi 6.
Hier beneden staat een kleine routine die een REWIND van een cassette simuleert. Is nog niet getest, maar het laat zien hoe makkelijk Delphi is.

/Nico

function cas_rewind(j : integer) : integer;
var
psw : integer;
driveno : string;
begin
// when rewinding a cassette, there is no need to write any data.
// the record pointer can be cleared, the status bit saying "BOT"
// must be set *)
driveno := inttostr(j);
psw := 0;
if not fileexists(data_dir + 'CASDATA.' + driveno) then
psw := psw OR $0001 (* bit 15 - not operable *)
else
begin
cas_pos[j] := 0;
psw := psw OR $0400; (* bit 05 - BOT found *)
end;
cas_rewind := psw;
end;

De sourcetekst van zojuist is niet zoals die op het scherm staat. Spaties aan het begin van de lijn worden verwijdert.
/Nico

[Bericht gewijzigd door nico_dk op 18 oktober 2018 09:27:39 (73%)]

maartenbakker

Special Member

Je kunt er [ code] en [ /code] zonder de spaties omheen zetten om de layout te bewaren.

[Bericht gewijzigd door maartenbakker op 18 oktober 2018 12:44:22 (14%)]

"The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Probeer het nog een keer

Goed, Preview laat het korrekt zien.

code:


function cas_read(j : integer) : integer;
var
   driveno : string;
   casfile : file of char;
begin
   driveno := inttostr(j);
   psw := 0;
   if not fileexists(data_dir + 'CASDATA.' + driveno) then
      psw := psw or 1;                  (* bit 15 - not operable *)
   (* the easiest way to handle a READ command, is to read the whole file     *)
   (* when cas_pos = 0. wafterwards we can read a block from cas_block[j]     *)
   if cas_pos[j] = 0 then
   begin
      assignfile(casfile,data_dir + 'CASDATA.' + driveno);
      reset(casfile);
      cas_max[j] := 0;
      (* need to handle tapemarks ! *)
      while not eof(casfile) do
      begin
         blockread(casfile,cas_block[j,cas_max[j]],1);
         cas_max[j] := cas_max[j] + 1;  (* number of records in file *)
      end;
      closefile(casfile);
   end;
   (* now read the first block *)
   cas_read := psw;
end;

/code]

Nu iets heel anders. Ik heb een uitdaging met de CIO instruktie, en hetzelfde zal ook wel voor andere I/O instrukties gelden
.
In het Assembler handboek, pagina 1.137, staat dat bit 10..15 de device aangeven. Er staat op 1.138 dat bit 10 en 11 de drive aangeven, en bit 12..15 het adres. Dit vat ik op als het adres van de adapter waar de floppy drive(s) op zit(ten).

MAAR, omdat er maar 4 bits zijn, kan het adres (van de adapter) niet hoger zijn als /0F. Of heb ik iets verkeerd begrepen ?

Ik meen me te herinneren dat adres /00../0F gereserveerd was voor Programmed Channel. Of is dat misschien iets speciaals voor PTS ?
( Excuses voor m'n Hollands, ik ben al bijna 50 jaar in DK *)
/Nico

Heeft iemand de ordercodes (?) voor de DCR? Er ontbreekt een pagina in m'n handboek, en ik kan de code voor SEARCH TAPEMARK FORWARD niet afleiden van de andere codes. Nu kan ik wel wat verzinnen, maar ik wil het graag autentiek houden. En nee, het is niet identiek met wat er voor de MT gebruikt wordt :-)

Zijn er hier meer programmeurs, of zijn het "slechts" produktiemensen en verzamelaars ?

/nico

maartenbakker

Special Member

Ik ben hobbyprogrammeur (begonnen met zelf leren, daarna wel formeel opgeleid in wat moderne talen en assembly, maar nu al jaren weinig mee gedaan) dus ik kan ongeveer volgen waar het over gaat maar ik vrees niet dat ik echt een bijdrage kan leveren zonder grote investering van tijd die ik niet heb, hoe jammer ik dat ook vind :( Ik hoop dat Proxxima er wat meer mee kan, maar die is niet zo vaak op het forum.

[Bericht gewijzigd door maartenbakker op 19 oktober 2018 16:49:54 (11%)]

"The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Jammer, Maarten. Ik had gehoopt dat er hier een assembler programmeur was met P800 ervaring.
Ik heb overigens wat meer nagedacht over de bestanden die ik onlangs gekonverteerd heb. Iemand vond het merkwaardig dat de data die je kon zien, van verschillende PHilips fabrieken zou komen, die eigenlijk niets met elkaar te maken hadden. Nu heb ik de geredde bestanden niet zo goed bekeken op inhoud, maar zou de oplossing kunnen zijn dat de ene fabriek het systeem niet meer nodig had, en het dan doorgeschoven heeft naar een andere? Als je de bestanden wist, is het in elk geval in PTS zo, dat je alleen maar de bestandsnamen wijzigt (/ffff in het begin), en hetzelfde met de User-id. De data op de schijf blijft dus gewoon liggen, en als je dan een dump neemt, kun je alles netjez zien totdat er overschrijving plaatsvindt.
Just my 2 cents..
/Nico

guidob

Overleden

Op 18 oktober 2018 15:16:09 schreef nico_dk:

In het Assembler handboek, pagina 1.137, staat dat bit 10..15 de device aangeven. Er staat op 1.138 dat bit 10 en 11 de drive aangeven, en bit 12..15 het adres. Dit vat ik op als het adres van de adapter waar de floppy drive(s) op zit(ten).

MAAR, omdat er maar 4 bits zijn, kan het adres (van de adapter) niet hoger zijn als /0F. Of heb ik iets verkeerd begrepen ?
/Nico

Zou kunnen dat de vier bits gebruikt worden bovenop een vast adres? Dus FD zitten op A000 en hoger (random voorbeeld) en met de 4 bits kan je er dan een specifieke drive selecteren, A000, A001 etc. Zo ook voor andere zaken.

Een beetje als I2C chips die ook op een vaste reeks adressen zitten, waarbij je met wat pinnen het precieze adres kan kiezen. Maar een idee.

Het klopt dat de floppy controller maar 4 adres bits heeft. Hij beslaat echter wel 4 adressen in het IO gebied. Normaal gesproken staat de floppy controller in P800 systemen op adres /01 en beslaat dus de adressen /01, /11, /21, en /31 .
Voor gebruik onder IOP dient men dus ook een IOP te hebben die in deze adres range ligt.
De P858 system waren normaal uitgevoerd met een CP7R cpu bord. Op dit bord was ook een IOP geïntegreerd en deze lag vast op de adres range /00 tot /0F.

Tenminste dit is wat ik mij zo nog kan herinneren van deze system. Heb in grijze verleden ook nog wat assembly gedaan voor deze systemen maar eigenlijk te weinig om daar nu nog een goed beeld van te hebben.

Ook een DCR heb ik nooit gezien of onderhouden dus ook hier kan ik je niet bij helpen.

Beste mensen,

ope mijn FTP site ftp://ftp.dreesen.ch/P854 vind je nu de field support manual van de op dit system gebruikte P857EB CPU kaart. Deze CPU is zowel op de P854 als de PTS6925 gebruikt.

Met dank aan Camiel Vanderhoeven voor scannen & het ter beschikking stellen van deze dokumentatie.

Jos

Vandaag heb ik een FRCP paneeltje op mogen halen. -Blij mee-

Als tegenprestatie vond ik een fles wijn wel op zijn plaats :-)

Gefeliciteerd, Proxxima. Een ongelofelijke vondst.

Heeft iemand er een idee over hoe de P800 serie omging met Floating Point? Ik wil mijn simulator graat zo kompleet mogelijk hebben.
Ik ben nu bezig met het simuleren van de meeste eenheden als disk bestanden, maar het is de bedoeling dat ik relevante eenheden zoals tape punch, kortlezer en teletype ga laten draaien via de COM porten, maar dat zal nog wel even duren.

IK heb ook een vreemd idee om een FRCP panel te gebruiken als een hex rekenmachine :-))

Groeten
Nico

"Enige" tijd geleden was ik programmeur bij Philips (toen nog Semiconductors) in Nijmegen. We gebruikten o.a. P857 met MAS voor productiebesturing in de chipsfrabriek (voor de liefhebbers: in gebouw AN). Programmeren deden we in RTL/2 en assembler (geen idee meer hoe, te lang geleden).
Ik ben op zoek naar een P857. Is er iemand die een hint of een link heeft?

Het deense IT museum, waar ik de PHilips 'projektleider' ben, heeft verschillende P857 reservedelen, maar ik denk dat alleen de CPU kaart en misschien memory voor jou bruikbaar zou zijn. De andere delen horen bij de PTS serie. Ik zal wel eens nakijken. Zoek je een kompleet system of wil je iets gaan opbouwen?

Dag Nico, dank voor je snelle reactie. Ik zoek een complete P857, te gebruiken voor het ouderwetse programmeerwerk.

Als het interesse heeft, heb ik een Philips Assembler/Editor die op Windows draait. Geprogrammeerd in Delphi. De object bestanden die ik er uit krijg, zijn gelijk aan wat ik in bv. PTS dokumentatie kan vinden. Ik simuleer natuurlijk diverse eenheden; bv wordt een cassette bestand naar disk geschreven. Misschien makkelijker als we naar gewone mails overgaan ? Adres is nico@farumdata.dk
De aangehechtte PDF laat een paar screenshots zien

/Nico

Hoeben

Golden Member

@Nico: sympathiek aanbod. Het gaat me echter ook om het apparaat zelf: de schakelaars en de registerlampjes blijven fascineren.
Vandaar dat ik op zoek ben naar een originele werkende P857.

Att. Hoeben : Ja, het is eigen ontwikkeling, en het zou me verheugen als anderen er iets aan hadden. Zowel de Assembler als de Simulator zijn nog steeds onder ontwikkeling, dus iedere hulp zou gewaardeerd worden./Nico

Hoeben

Golden Member

Op 22 december 2018 14:44:44 schreef nico_dk:
Att. Hoeben : Ja, het is eigen ontwikkeling, en het zou me verheugen als anderen er iets aan hadden. Zowel de Assembler als de Simulator zijn nog steeds onder ontwikkeling, dus iedere hulp zou gewaardeerd worden./Nico

Misschien hier bij CO publiceren?