fb:porticula NoPaste
Konzept für einen Konsolenemulator
Uploader: | Westbeam |
Datum/Zeit: | 29.08.2012 21:29:44 |
'Ein kleines Konzept für einen Konsolen Emulator, lässt sich auf alle Spielekonsolen übertragen
Dim Shared As Integer cpu_register(8) 'Register
Dim Shared As Integer cpu_halt 'Ist die CPU auf Stop oder nicht?
Dim Shared As Integer cpu_ie 'Interrupt Enable(falls cpu_ie=1 dann wird Interrupt ausgeführt)
Dim Shared As Integer cpu_pc 'Program Counter
Declare Sub cpu_interrupt() 'Interrupt ausführen
Declare Sub cpu_opcode(opcode As Integer) 'Opcode ausführen
Dim Shared As Integer memory(8192) '8 KB Speicher
Dim Shared As Integer vram(128) '128 Byte Video RAM
Dim Shared As Integer rram(8192) '8 KB ROM Speicher(für die Spiele)
Declare Sub memory_writebyte(adr As Integer,value As Integer)
Declare Function memory_readbyte(adr As Integer)As Integer
While (cpu_halt=0) 'Solange die CPU nicht auf Stop ist
'Hauptschleife
Wend
Sub cpu_interrupt()
If cpu_ie=1 Then 'Wird ein Interrupt ausgeführt?
'Interrupts
End If
End Sub
Sub cpu_opcode(opcode As Integer)
Select Case opcode
Case &h01
'Führe Opcode 1 aus
Case &h02
'Führe Opcode 2 aus
Case Else
Print "Opcode unbekannt"
End
End Select
End Sub
Sub memory_writebyte(adr As Integer,value As Integer)
memory(adr)=value 'Wert an die Adresse "adr" schreiben
End Sub
Function memory_readbyte(adr As Integer)As Integer
Return memory(adr) 'Wert an der Adresse "adr" lesen
End Function