Ga naar inhoud

HAL9000

Users
  • Aantal items

    122
  • Registratiedatum

  • Laatst bezocht

Alles dat geplaatst werd door HAL9000

  1. HAL9000

    Philips P2000T

    Regel 30 niet 🤓
  2. HAL9000

    Philips P2000T

    Gevonden! er mist een THEN tussen 5 en print.
  3. HAL9000

    Philips P2000T

    Theoretisch zou dat moeten werken.... Ik heb even een P2000 aangesloten, leuke lunch-break 🙂 Deze 2 varianten: Geven dezelfde output.
  4. HAL9000

    Philips P2000T

    Zelf wat Z80 code bouwen op basis van de ROM-code zou dit mogelijk moeten maken. Maar dan kan je mss weer geen halve of gedeeltelijk overschreven blokken lezen. Een van de paden MEMO recorder -> WAV -> CODE die WAV omzet naar bitjes -> blokken/deelblokken MDCR -> Arduino/PIE -> Bitjes -> blokken deelblokken lijkt dan weer handiger, Bovendien kan je dan op iets modernere hardware werken met volwassener development stacks. Zaten er maar wat meer uren in een dag 😉
  5. HAL9000

    Philips P2000T

    Het klopt wat je zegt. de NEXT N wordt, net als de PRINT, alleen uitgevoerd als PEEK(N)=62. Zet je de NEXT op de volgende regel dan werkt alles wel. Dit is een van de nadelen van het feit dat deze BASIC niet 'gestructureerd' is (geen scoping kent) Stel dat je twee statements had gezet na de THEN, bijvoorbeeld het verhogen van een teller die bijhoudt hoe vaak de waarde gevonden werd: FOR N=25927 to 57343:IF PEEK(N)=62 THEN PRINT N: F=F+1; NEXT N BASIC kan zonder scoping niet uitvogelen bij welk statement de executie door moet gaan als de IF expressie fout is. Daarom skipt BASIC in dat geval dus alles after de THEN. Zie pag. 105 van de P2000 handleiding voor de uitleg over IF/THEN/ELSE
  6. HAL9000

    Philips P2000T

    Dus de jumper schakelt inderdaad tussen 2 baudrates, 1200 en 300. 👍
  7. HAL9000

    Philips P2000T

    Ik meen ergens gelezen te hebben dat je hiermee de default baud-rate van de printer kan instellen. Welke waardes je kan selecteren weet ik niet uit mijn hoofd. Er is vast iemand in het forum die dat wel weet 🙂
  8. HAL9000

    Philips P2000T

    @dionoid Mijn geheugen is beter dan ik dacht 🙂 Zie voor de implementatie de file P2000.c regels 515 en verder...
  9. HAL9000

    Philips P2000T

    Hij start niet op met het video-bord erin: dan brandt een van de zekeringen door. Omdat ik zonder videobord niks kan zien heb ik niet geprobeerd op te starten met alleen het floppy-board 🙂 Maar inderdaad, daar zitten geen ram-chips op, en zal dus niet werken... maar eens op zoek naar wat rammetjes 😉
  10. HAL9000

    Philips P2000T

    Gisteren en vandaag eindelijk kunnen testen! De ene knop is inderdaad een terugspoel-onderbreker, de andere een hardwarematige switch naar 80 kolommen!
  11. HAL9000

    Philips P2000T

    5 volt uit de voeding en 3 draadjes gesoldeerd op de 'gewone' serial port: Als ik het goed heb aarde aan pin 7, en de twee grijze draadjes pinnen 3 en 20.
  12. HAL9000

    Philips P2000T

    Ik heb zojuist de 4 roms uitgelezen en een pull request gemaakt voor het PPP, niet mijn sterkste punt, github, hopelijk kan @dionoid mijn pull-request mergen! De CHRIT staat voor 'CHRIT KLAASSENS BASIC", ipv "PHILIPS CASSETTE BASIC" bij opstarten. op het eerste gezicht is alleen de naam veranderd maar ik heb nog geen volledige binary compare gedaan. Kent iemand Chrit Klaassens?
  13. HAL9000

    Philips P2000T

    Het viel me nu ook op dat het 'dopje' om bij de jumper op het moederbord te komen ook ontbreekt...
  14. HAL9000

    Philips P2000T

    Een andere P2000T bevatte ook een grote printplaat, ik vermoed een MW2200, met wat corrosie... Met die print erin start de P2000 niet op, en toont een egaal geel scherm. Zonder print start de computer wel, en kon ik verschillende rom's selecteren. NB: De P2000 is ooit in gebruik geweest bij een VIDITEL bbs in het noorden van het land. Hier wat foto's Ik heb de print inmiddels wat schoongenaakt: komende week kijken of opstarten met bord wil lukken...
  15. HAL9000

    Philips P2000T

    Vandaag een paar P2000's opengeschroefd. een daarvan had alleen 'P2000' op de kast staan, dus niet P2000T of P2000M. OP een sticker op de onderkant staat: Type P2032. Er waren een paar draadjes aan de onderkant van het toetsenbord gesoldeerd en er zit een nogal kaal moederbord in en 2 grote printplaten. 1 daarvan lijkt een P2000M-achtige videokaart, de andere kaart is een floppycontroller. Er zat maar 1 zekering op de voeding-verdeel print. Gelukkig had ik nog een paar zekeringen liggen, en ik heb ook meteen de aan-uit schakelaar vervangen. Bij opstarten brandde meteen een van de 3 zekeringen door. Als ik de monitorkaart losmaak van de voeding brandt de zekering niet door, dus ik vermoed dat er ergens sluiting zit op die kaart... Vragen aan jullie: Is deze configuratie 'bekend'? Tips over wat de sluiting/doorbranden van de zekering zou kunnen veroorzaken? Hier wat foto's: 1 = kast, 2 = draadjes op het toetsenbord, 3 = moederbord, 4 = monitorkaart, 5 = floppykaart
  16. HAL9000

    Philips P2000T

    Dat klopt! Het is alweer een tijd geleden maar ik meen me te herinneren dat de emulator deze 'illegale opcode' afvangt en dan op basis van de program counter bepaalt of er een cassette- dan wel printerroutine afgehandeld moet worden. Voor de cassette geldt dat in register A staat welke cassette actie uitgevoerd moet worden. Dus die opcodes zorgen ervoor dat in plaats van de ROM/Monitor code de code in de emulator zelf wordt aangeroepen.
  17. HAL9000

    Philips P2000T

    Ik heb even in de monitor disassembly gekeken. xor a ; switch to 1st bank (0) out (094h),a ld hl,RAM_bank3 ; start address (0xe0000) ld bc,020ffh ; test 32 pages of 256 bytes, all 8 bits call test_memory cp 002h ; failure past 1st byte? jr z,jr_z_boot_error ; boot_error is too far for a relative jump, do it in 2 steps :-) cp 001h ; 1st byte a failure? jr z,no_more_ram ; then we're done with RAM ld hl,RAM_bank3 ; double check memory with a bit-pattern call check_pattern jr nz,no_more_ram ; failed, done! ld a,001h ; switch to 2nd bank (1) out (094h),a ld hl,RAM_bank3 ; start address (0xe0000) ld bc,020ffh ; test 32 pages of 256 bytes, all 8 bits call test_memory l0303h: or a ; zero? jr nz,jr_nz_boot_error ; no, abort but boot_error is too far for a relative jump, do it in 2 steps :-) ld hl,memsize ; 3rd block of 16k memory is ok inc (hl) ; memsize <- 3 = 48k out (094h),a ; switch back to 1st bank (0) no_more_ram: ld a,(memsize) ; how many banks were found? cp 003h ; 3? jr nz,prep_status_display ; mem at 0xe000 is on the extension board. ; so when no mem is found at 0xe000 there are also no diskdrives. Er wordt hardcoded tweemaal een out(094h) met 0 en 1 gedaan. Daarna stopt de monitor met geheugen testen. Dus er MOET een tweede bank zijn, zoals @cancom al aangaf. Dat betekent dat alleen die eerste 16k wordt getest door de monitor, ook al maak je een uitbreiding met 256 x 8k geheugen. Is die 2x8k gevonden dan wordt ook geprobeerd of er Disks aan hangen: ; disk boot logic ; is a cartridge inserted that needs a disk (DOS) boot? ld a,(01000h) ; is a cartridge present? bit 0,a ; then this bit is set jr nz,prep_status_display ; no cartridge, so don't boot from disk bit 1,a ; cartridge needs dos? jr z,prep_status_display ; no so don't boot from disk ld a,004h ; Bit 2 = RESET command to FDC out (DSKCTRL),a ; send to FDC ld b,000h ; delayloop of 256 iterations fdc_test_delay: djnz fdc_test_delay in a,(DSKIO1) ; read fdc reply cp 080h ; hi bit set indicates FDC is ready call z,getdos ; it is set, so device is present. load DOS tracks xor a ; always switch FDC off again out (DSKCTRL),a ; just to make sure ; continue startup, wether DOS was loaded or not. prep_status_display: ld hl,0500eh ; screen address of base address for mon_status display ld (mon_status_io),hl ; save in status byte pointer Dit geeft minimale vertraging als er geen diskdrives zijn en loopt ook niet op met het aantal bytes/banks. Misschien checkt BASIC (of een andere cartridge) meer banks, met extra delay tot gevolg? <EDIT>: Ik heb BASIC1.1 net ook bekeken maar daar zit geen extended memory test in.
  18. HAL9000

    Philips P2000T

    Bedankt voor de uitgebreide uitleg, en ik had al even zitten googelen en de HEX-inverter (de '04') gespot maar ik dacht dat het een inverter was die iets met HEX getallen deed, en niet 6 maal NOT 🙂 Ooit een hele discussie gevolgd over het vervangen van de Commodore 64 PLA met een (EP)ROM. Daardoor had ik ook al bedacht dat zoiets een oplossing zou kunnen zijn, en zeker als je achteraf je logica moet corrigeren. Leuk dat jij die optie ook aanstipt, maar begrijpelijk dat hier een paar componenten minder weer andere complexiteit meeneemt. 🙂
  19. HAL9000

    Philips P2000T

    Voor jullie een eitje, voor mij minder... Ik tel in het schema 6 keer een NAND gate (in een 74HC00) die als inverter wordt gebruikt. Is dat met een speciale reden? bijvoorbeeld aantal componenten beperken oid?
  20. HAL9000

    Philips P2000T

    Ik vind het erg leuk om deze ontwerp-dialoog te volgen. Hardware is minder mijn ding maar hier leer ik veel van! Dus schamen is echt niet nodig 🙂
  21. HAL9000

    Philips P2000T

    Ik vond dit zojuist in PTC blad 134: Dus zou die knop daar best voor kunnen zijn, ipv NMI...
  22. HAL9000

    Philips P2000T

    Bedankt en ik zal die theorie over terugspoelstop en NMI zeker testen!
  23. HAL9000

    Philips P2000T

    Ik heb een paar jaar geleden een P2000T op de kop getikt, en iets te goed opgeborgen... toevallig vond ik hem net in een doos toen ik naar wat anders zocht. Ik heb wat foto's gemaakt van wat ik in de kast aantrof, zoals 80 kol. kaartje en extra geheugen: Bij de andere foto's heb ik wat vragen. - is het een bekende uitbreiding, deze 'extra' UART? - Op de kast zitten 2 drukknopjes. Een van de knoppen heeft een groen componentje tussen de polen en de draden lopen ergens de MDCR controller kaart in. Iemand een idee wat de functie kan zijn? - Er zit een CEKA(?) multi cartridge bij, met 4 roms. Is iemand bekend met 'CHRIT' Basic, die in de cartridge zit? (Ecol is al eerder in dit topic aan de orde geweest en is een educatieve programmeertaal) - het andere knopje op de kast zit tussen aarde en een van de aders van de flat cable naar de 80 kol. kaart. Wellicht om te forceren in 80 kol. te starten? NB: Mijn P2000->Monitor kabel is stuk (pennetje in din-plug afgebroken) dus ik heb hem nog niet kunnen testen. Ik hoop dat dit weekeinde te kunnen doen en de nieuwe plug heb ik al in huis.
  24. HAL9000

    Philips P2000T

  25. HAL9000

    Philips P2000T

    Ik vermoed dat de code die @dionoid heeft geannoteerd het geheugen niet initialiseert. Dan zijn die 224 bytes dus de restanten van wat er toevallig nog in het geheugen stond.
×
×
  • Nieuwe aanmaken...