Hardware > Emulatoren
Hochkomma auf deutscher Atari-Tastatur
Mado:
--- Zitat von: Thorsten Otto am Sa 09.07.2022, 19:34:03 ---Die Struktur liegt aber nicht im ROM und kann geändert werden.
--- Ende Zitat ---
Bist Du sicher? Hatte ich versucht. Ich habe die Pointer auf die 128-Byte-Arrays genommen und da rein geschrieben. Gab nen Bus-Error. Mir scheint, die Pointer selbst liegen nicht im ROM, damit sie bei den größeren EmuTOS-Versionen dynamisch geändert werden können. Aber die Tabellen selber, die ich ja verändern will, liegen offenbar im ROM. Nützt mir also nichts.
Daher mühe ich mich gerade ab, ein TSR-Programm zu bauen, was die geänderten Tabellen dann im .data Segment enthält und resident bleibt. Später vielleicht mal dynamisch änderbar:
https://forum.atari-home.de/index.php/topic,17144.msg261784/topicseen.html#msg261784
Mado:
--- Zitat von: Thorsten Otto am Sa 09.07.2022, 19:34:03 ---Zum anderen hängt es auch von der Einstellung ab ob symbolische- oder Scancodes benutzt werden.
--- Ende Zitat ---
Meine momentane Idee ist, den Hatari auf Scancodes zu schalten, die 1:1 durch zu leiten und dann das TOS so zu konfigurieren, dass es dann quasi mit der PC-Tastatur arbeitet und schön pc-gerecht die Tasten wirklich so nutzen kann, wie sie sind. Heißt, dass es selbst bestimmen kann, dass die Taste, auf der das # liegt, mit Shift dann das ' ergibt und nicht das ^. Das finde ich viel sauberer.
Das würde ermöglichen, dass man PC-Tastaturen am Atari ohne jede Kompromisse nutzen könnte.
Mein Programm momentan ist in C geschrieben und funktioniert auch schon. Ich habe allerdings momentan die Tabellen aus dem EmuTOS geklaut und nur zum Test a mit b vertauscht. Also, wenn man ein a drückt, kommt ein B. das klappt auch. Nur ist das C-Programm im Speicher momentan noch viel zu groß.
Thorsten Otto:
--- Zitat von: Mado am Sa 09.07.2022, 22:54:14 ---Bist Du sicher? Hatte ich versucht. Ich habe die Pointer auf die 128-Byte-Arrays genommen und da rein geschrieben.
--- Ende Zitat ---
Ja, bin ich ;) Andernfalls könnte man ja über die Funktion die Pointer nicht ändern. Genauer gesagt: die eigentliche Struktur liegt im RAM, sodaß man die Pointer ändern kann. Die 128-byte Tabellen auf die sie zeigen liegen allerdings im ROM.
goetz @ 3rz:
--- Zitat von: Mado am Sa 09.07.2022, 23:02:06 ---Nur ist das C-Programm im Speicher momentan noch viel zu groß.
--- Ende Zitat ---
Das liegt wohl eher an manchen Library-Funktionen als an C. Andere Funktionen nehmen, oder andere Library.
Thorsten Otto:
Wenn du es mit gcc übersetzt, solltest du auf jeden Fall den startup code ersetzen, ansonsten wird die halbe mintlib eingelinkt, was in dem Fall völlig unnütz ist. Auch solltest du printf() durch Cconws() ersetzen (ist ja nur ein konstanter String). Auch eine dummy __main() Funktion ins programm einzubinden (wie in Markus Beispeil) hilft. Danach sollte das Programm nicht viel grösser als 1K sein.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln