Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Software erstellen für den Tiny 6k » Themenansicht

Autor Thread - Seiten: -1-
000
07.05.2021, 21:07 Uhr
Perser

Avatar von Perser

hab mich mal mit der Erstellung der Sprites beschäftigt, wie diese zusammen gebaut werden ist mir jetzt klar, allerdings habe ich das Problem die Daten in den Computer (EMU) einzugeben.
Ich gebe die Zeile 1 mit REM(M) ein aber die Daten sind länger als eine Zeile, wenn ich nur eine Zeile eingebe wird diese übernommen, wenn die Zeile länger wird, bei Zeilenumbruch wird dann nichts mehr übernommen.
Funktioniert das mit dem Emulator nicht und geht das nur am orginal Tiny?

Viele Grüße
Perser
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
08.05.2021, 06:35 Uhr
PC-Opa



Hallo Perser,
SPRITES werden in den Bereich ab E003 geschrieben. Das mache ich mit dem Programm "BITMAN.JTC" von der ES4.0-Demokassette (liegt dem JTCEmu von Jens Müller mit bei), Da gehört ein wenig Fantasie dazu, weil du da Bit für Bit einzeln eingeben musst. Wenn du dir das Erzeugen einer neuen Datei sparen willst, kannst du natürlich eine bereits vorhandene Datei ab E003 mit BITMAN editieren .
Gruß Wolfgang
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
08.05.2021, 07:57 Uhr
Perser

Avatar von Perser

Hallo Wolfgang,

vielen Dank, alles klar, der Emulator funktioniert somit nicht für Sprites
in der herkömmlichen Weise auf der Programmierebene.

Viele Grüße
Perser
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
08.05.2021, 19:30 Uhr
PC-Opa




Zitat:
Perser schrieb
Hallo Wolfgang,

vielen Dank, alles klar, der Emulator funktioniert somit nicht für Sprites
in der herkömmlichen Weise auf der Programmierebene.

Viele Grüße
Perser



....stimmt, du kannst diese Programme erst ab Zeilennummer 10 im Edi editieren.
Die Sprites können nur im Mon mit BITMAN editiert werden oder als BIN-Datei in jedem anderen Editor.
Gruß Wolfgang
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
21.05.2021, 08:53 Uhr
Perser

Avatar von Perser

Hallo,

wie kann ich mit dem JTC eine Datei auf einem bestimmten Speicherbereich
assemblieren.
Bei meinen Versuchen beginnt der immer bei 0000 und da gibts eine Fehlermeldung
das die Datei micht vollständig in den Speicher geladen werden kann.
Habe keine Ahnung vom programmieren in Maschinencode, bemühe mich aber
um Besserung.

Viele Grüße
Perser
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
21.05.2021, 09:02 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

das geht wie üblich mit der Pseudoanweisung
org adresse

z.B.

Quellcode:

org 0e000h
ld    r1,r2



im JTCEMU 2.0, Texteditor, F7,
-> Assembler-Programm in Speicherbereich E000-E001 geladen
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 21.05.2021 um 09:03 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
21.05.2021, 11:11 Uhr
Perser

Avatar von Perser

ahh, ja danke, funktioniert

Viele Grüße
Perser
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
21.05.2021, 23:46 Uhr
Perser

Avatar von Perser

Hallo,
habe mal mein erstes Assemblerprogramm erstellt welches den Bildschirm mit einem
beliebigen Ascii Zeichen relativ schnell füllt.
Übergabe des Ascii erfolgt in Register %5D.
Hier Basic-Programm, es werden die verschiedenen Zeichen der Ascii Tabelle auf den Monitor gebracht.

Quellcode:

10 Proc Ptc[12]
20 let d=32
30 let d=d+1
40 Proc setr[%5d,d]; REM Ascii (d) Zeichen ins R %5D laden
50 call %e400
60 wait 500
70 Proc Ptc[12]
80 if d<95 then goto 30
90 end


Hier das zugehörige Maschinenprogramm, wird auf Adr. %E400 geladen

Quellcode:

    .org %e400
    push %fd
    srp #%20
    ld r3,#%c2
    ld r2,#%ff
    ld r1,#%ff
    ld r0,#%ff
m0: ld %15,%5d
    call %0818
    djnz r0, m0
m1: ld %15,%5d
    call %0818
    djnz r1, m1
m2: ld %15,%5d
    call %0818
    djnz r2, m2
m3: ld %15,%5d
    call %0818
    djnz r3, m3
    pop %fd
    ret


Vieleicht hat ja jemand eine Idee wie man das Maschinenprogramm noch verbessern kann.

Viele Grüße
Perser

Dieser Beitrag wurde am 21.05.2021 um 23:51 Uhr von Perser editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
17.08.2021, 11:46 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

die Register %20..%53 werden für die Variablen A..Z genutzt.
srp #%20 ist daher ungünstig. Mit ld r0,xx usw. überschreibst Du die Werte für A und B.

Besser ist es, RP auf %10 zu lassen (ist defaultmäßig schon so gesetzt) und die Register R2-R14 zu nehmen. Diese Register sind während des CALL frei nutzbar.

Und statt das Zeichen erst nach Register %5D zu übergeben, kannst du genausogut im MC auf die Variable D zugreifen (%27, lo-Teil von Variable D).

Und als drittes kannst du die 962 Zeichen auch auf einmal durchlaufen. Mit Doppelregister und decw und jr nz ist das einfach machbar.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 17.08.2021 um 11:54 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
17.08.2021, 20:56 Uhr
Perser

Avatar von Perser

danke für die Hinweise, werde ich bei Gelegenheit mal ein bisschen probieren.

Viele Grüße
Perser
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