Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

29. March 2024, 00:13:24

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,655
  • Total Topics: 1,329
  • Online today: 113
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 85
Total: 86

85 Guests, 1 User
Swoop4711

100% Kontrolle über den CPC

Started by oobdoo, 08. January 2018, 21:02:29

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oobdoo

Was muss man eigendlich tun um 100% Kontrolle über den CPC zu bekommen, so das kein OS oder Interrupt dazwischen fummelt?
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

Shining

In Assembler ? Einfach DI. Dann sind alle Interrupts aus und das Betriebssystem kommt nicht mehr dran. Wenn man dann selber Interrupte verwenden will, legt man ins Ram ab Adresse 0x38 einen Jump auf die eigene IRQ-Routine.

Beispiel:
DI
LD HL,#0X0038
LD (HL),#0XC3 ;JP
ld hl, #eigeneInterruptRoutine
ld ( #0x39 ), hl
ei

TFM

Und ab &0066 den Nicht-maskierbaren-Interrupt (NMI) abfangen, mit einem RETN.

Das ist aber nur wichtig, wenn man die PlayCity oder das Albireo dran hat, da (bisher) nur die beiden Karten NMI's auslösen können.

Der Vorteil des "CPC übernehmen" liegt klar auf der Hand: Man kann mit den Interrupts, RST's und Zweitregistern machen was man will (beim FutureOS habe ich auch darauf geachtet, dass die dem Programmierer zur Verfügung stehen).

Was willst denn am CPC coden?

TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

oobdoo

Ich will aktuell nichts in Z80 programmieren. Aber hin und wieder schaue ich mir gerne Demos an (C64  :zunge0020:) und dann kam halt mal diese Frage auf.  :D
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088