Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » [S] KC85/3 Autostart Software » Themenansicht

Autor Thread - Seiten: -1-
000
15.02.2017, 11:39 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo ich suche Software für ein Autostartmodul zum Testen.

Idealer weise Quelltext muß nicht groß sein.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
15.02.2017, 18:38 Uhr
maleuma



Ein Beispiel findest Du im Modul TypeStar M033.
Quelltext habe ich leider nicht.
Kannst Du aber beispielsweise im JKCEMU im Reassembler anzeigen lassen

Quellcode:

4000  21 AC 46         LD      HL,46ACH
4003  11 80 02         LD      DE,0280H
4006  01 2F 00         LD      BC,002FH
4009  ED B0            LDIR
400B  C3 80 02         JP      0280H


--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
15.02.2017, 22:00 Uhr
PIC18F2550

Avatar von PIC18F2550

Jetzt muss ich erst auf die Platte warten ehe ich weiter testen kann.
Eben alles noch Theorie.


Quellcode:


        if      MOMPASS=1
        message "*****************************************"
        message "**                                     **"
        message "**                                     **"
        message "** KC85 M042                    **"
        message "** PIC18F2550 (c)2017                  **"
        message "**                                     **"
        message "*****************************************"
    endif

    cpu Z80

; AS-Funktionen
hi    function x,(x>>8)&255
lo    function x, x&255

CR    EQU    0D0AH

;-----------------------------------------------------------------------------------------------
; Kaltstart
;-----------------------------------------------------------------------------------------------
BOOT:
    ORG     00000H
    PHASE     04000H
    JP    BOOT0
    DEPHASE

;-----------------------------------------------------------------------------------------------
; Eigenes Betriebssystem
;-----------------------------------------------------------------------------------------------
JUMP:
    ORG    00012H
    PHASE     0F012H

LOOP:    JR    LOOP
    DEPHASE

;-----------------------------------------------------------------------------------------------
; Initalisierung und treiber bereitstellung
;-----------------------------------------------------------------------------------------------
BOOT0:
    ORG    00800H
    PHASE     04800H

    LD    A,    02H
    LD    L,    08H    ; Modulsteckplatz
    LD    D,    01    ; Modulsteuerbyte
    CALL    0F003H        ; PVI
    DEFB    26H        ; MODU = Modulsteuerung

    LD    A,    02H
    LD    L,    09H    ;Modulsteckplatz
    LD    D,    00    ;Modulsteuerbyte Segment 0 vom 8k EPROM Aktivieren
    CALL    0F003H        ; PVI
    DEFB    26H        ; MODU = Modulsteuerung

    LD    A,    02H
    LD    L,    0AH    ;Modulsteckplatz
    LD    D,    00    ;Modulsteuerbyte Segment 0 vom 4k EPROM Aktivieren
    CALL    0F003H        ; PVI

    DEFB    26H        ; MODU = Modulsteuerung
    LD    A,    02H
    LD    L,    0BH    ;Modulsteckplatz
    LD    D,    0    ;Modulsteuerbyte Segment 0 vom 4k SRAM Aktivieren & Blockfreigabe
    CALL    0F003H        ; PVI
    DEFB    26H        ; MODU = Modulsteuerung

    CALL    0F003H        ; PVI
    DEFB    23H        ; OSTR = Print String
    DEFB    "M042 FUER KC85"
    DEFW     CR
    DEFB     "PIC18F2550"
    DEFW     CR
    DEFB     DATE
    DEFB     000H
;    
    JP    0F000H
;-----------------------------------------------------------------------------------------------
; Menüerweiterungen
;-----------------------------------------------------------------------------------------------
    DEFW 7F7FH
    DEFB "PROGAMM1"
    DEFB 1
;
    RET
;-----------------------------------------------------------------------------------------------
    DEFW 7F7FH
    DEFB "PROGAMM2"
    DEFB 1
;
    RET
    DEPHASE
;-----------------------------------------------------------------------------------------------
    END
;-----------------------------------------------------------------------------------------------


--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
16.02.2017, 17:31 Uhr
maleuma



Das
Quellcode:

JP   0F000H


würde ich ersetzen durch
Quellcode:

CALL 0F003H
DB   12H         ; LOOP - Einsprung zu CAOS


dann bleibt die Meldung am Bildschirm erhalten
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
17.02.2017, 00:15 Uhr
PIC18F2550

Avatar von PIC18F2550

Danke für den Tipp maleuma

Ich habe den Code etwas angepasst so ist dieser besser verständlich.

Da die bin Datei größer als 64k wird (1Mb) habe ich den AS etwas umgestrickt.


Quellcode:

        if      MOMPASS=1
        message "*****************************************"
        message "**                                     **"
        message "**                                     **"
        message "** KC85 M042                           **"
        message "** PIC18F2550 (c)2017                  **"
        message "**                                     **"
        message "*****************************************"
    endif

    CPU Z80

; AS-Funktionen
hi    function x,(x>>8)&255
lo    function x, x&255

CR    EQU    0D0Ah

;-----------------------------------------------------------------------------------------------
; Kaltstart
; 8k ROM Segment 4000h-5FFFh
; 4k ROM Segment 6000h-6FFFh
; 4k RAM Segment 7000h-7FFFh
;-----------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------
; Eigenes Betriebssystem Starten mit JUMP
; 8k ROM Segment E000h-FFFFh
; 4k ROM Segment D800h-DFFFh
; 4k RAM Segment D000h-D7FFh
;-----------------------------------------------------------------------------------------------

;-----------------------------------------------------------------------------------------------
; Initalisierung und treiber bereitstellung
; Speicherbereich 4000h- 4FFFh Codesegment (0000h-0FFF)
; Die Page 0 muss mit JUMP geteit werden da beide dieses Segment anspringen
;-----------------------------------------------------------------------------------------------
    ORG     00000h
    PHASE     04000h
BOOT:
    LD    A,    02h
    LD    L,    08h    ; Modulsteckplatz
    LD    D,    01h    ; Modulsteuerbyte
    CALL    0F003h        ; PVI
    DEFB    26h        ; MODU = Modulsteuerung

    LD    A,    02h
    LD    L,    09h    ; Modulsteckplatz
    LD    D,    00h    ; Modulsteuerbyte Segment 0 vom 8k EPROM Aktivieren
    CALL    0F003h        ; PVI
    DEFB    26h        ; MODU = Modulsteuerung

    LD    A,    02h
    LD    L,    0Ah    ; Modulsteckplatz
    LD    D,    00h    ; Modulsteuerbyte Segment 0 vom 4k EPROM Aktivieren
    CALL    0F003h        ; PVI

    DEFB    26h        ; MODU = Modulsteuerung
    LD    A,    02h
    LD    L,    0Bh    ; Modulsteckplatz
    LD    D,    00h    ; Modulsteuerbyte Segment 0 vom 4k SRAM Aktivieren & Blockfreigabe
    CALL    0F003h        ; PVI
    DEFB    26h        ; MODU = Modulsteuerung

    CALL    0F003h        ; PVI
    DEFB    23h        ; OSTR = Print String
    DEFB    "M042 FUER KC85/3"
    DEFW     CR
    DEFB     "PIC18F2550"
    DEFW     CR
    DEFB     DATE
    DEFB     00h
;-----------------------------------------------------------------------------------------------
;    code
;-----------------------------------------------------------------------------------------------
    CALL     0F003h
    DEFB       12h             ; Rücksprung zu CAOS
;-----------------------------------------------------------------------------------------------
; Menüerweiterungen
;-----------------------------------------------------------------------------------------------
    DEFW 7F7Fh
    DEFB "M042_PROGAMM_1"
    DEFB 01h
    LD   D,    01h
    LD   HL, 08000h
    CALL SEG8ROM
    RET
;-----------------------------------------------------------------------------------------------
    DEFW 7F7Fh
    DEFB "M042_PROGAMM_2"
    DEFB 01h
    LD   D,    01h
    LD   HL, 08100h
    CALL SEG8ROM
    RET
;-----------------------------------------------------------------------------------------------
    DEFW 7F7Fh
    DEFB "M042_PROGAMM_3"
    DEFB 01h
    LD   D,    02h
    LD   HL, 08000h
    CALL SEG8ROM
    RET
;-----------------------------------------------------------------------------------------------
    DEPHASE
;-----------------------------------------------------------------------------------------------
; Speicherbereich F000h- FFFFh Codesegment (1000h-1FFF)
; Die Page 0 muss mit Autostart geteit werden da beide dieses Segment anspringen
;-----------------------------------------------------------------------------------------------
    ORG    01012h
    PHASE     0F012h
JUMP:

LOOP:    JP    LOOP
    DEPHASE
;-----------------------------------------------------------------------------------------------

;-----------------------------------------------------------------------------------------------
; Zweiter ROM 4K Die segmente enthalten Kleine Tools oder Treiber
;-----------------------------------------------------------------------------------------------
; Speicherbereich 6000h- 6FFFh Codesegment (0000h-0FFF)
;-----------------------------------------------------------------------------------------------
    ORG    40000h
    PHASE     06000h
;-----------------------------------------------------------------------------------------------
; Segmentumschaltung für und Programmansprung den 8k ROM
;-----------------------------------------------------------------------------------------------
SEG8ROM:

    LD    A,    02h
    LD    L,    09h    ; Modulsteckplatz
;    LD    D,    00h    ; Modulsteuerbyte Segment 0 vom 8k EPROM Aktivieren
    CALL    0F003h        ; PVI
    DEFB    26h        ; MODU = Modulsteuerung
    JP    HL
;-----------------------------------------------------------------------------------------------
    END
;-----------------------------------------------------------------------------------------------



Ich würde die Menüerweiterungen gern mit kleinen Tools auffüllen.
Was könnte da alles noch rein?
Es stehen noch 63 Seiten mit je 8k zur Verfügung.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 17.02.2017 um 00:29 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek