Philips P800


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%)]

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." - Disclaimer: ik post soms vanaf een tablet, het is geen doen om alle autocrrect, ontbrekende spaties en off-by-ones er uit te halen.
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
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." - Disclaimer: ik post soms vanaf een tablet, het is geen doen om alle autocrrect, ontbrekende spaties en off-by-ones er uit te halen.
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
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

Special 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

Special 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?
Dat zou ik leuk vinden. Maar hoe zou ik dat moeten doen? Gewoon maar de hele map ZIPpen en dan hier uploaden? downloaden via mijn FTP site is natuurlijk ook mogelijk. Dan kan ik daar altijd de meest recente stabile versie publiceren. Alles is geprogrammeerd inDelphi 6. Zou dat vandaag abandonware zijn? Ik houd me aanbevolen voor goede tips
/Nico
Misschien een Github project er van maken?