Firmware FILL-Routine

  • Hallo,


    gibt es irgendwo die vollständig dargestellte (und vom restlichen ROM-Inhalt) separierte FILL-Routine des 664/6128, die von BASIC aus aufgerufen wird?


    Ich hab gerade gefunden:



    ... aber da sind noch so viele CALLs drin. Bis ich die alle per Hand aufgelöst habe, vergehen Tage.


    µP

    »It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.« (Edsger W. Dijkstra)


    Homespage| Computerarchäologie | Blog | Forschung

  • Die Fill-Routine im CPC-OS (diese liegt nicht im Basic-Rom, sondern im Lower-Rom, das Basic greift nur auf diese zu) wird folgendermaßen aufgerufen:


    CALL #BD52 ;GRA FILL


    Male eine beliebige Fläche aus.
    nur CPC 664 und 6128


    Eingaben: A = Ausmalfarbe (nicht expandiert)
    HL= Bufferadresse
    DE= Bufferlänge
    Ausgaben: CY=1 -> Fläche vollständig ausgemalt
    CY=0 -> nicht oder nicht vollständig ausgemalt
    Unverändert: IX,IY


    Im Lower-ROM des 6128er startet die eigentliche Routine bei Adresse #19D9, beim 664 bei #19D5.


    Die disassemblierte FILL-Routine vom 664er findet man hier...
    http://www.wincpc.ch/docs/ROM%20Listing.pdf
    ...ab Seite 617.


    CU,
    Prodatron