[INIT] FE emu
This commit is contained in:
commit
b7c4763703
20
conf/config.ini
Normal file
20
conf/config.ini
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[Media]
|
||||||
|
|
||||||
|
#x_resolution = 800
|
||||||
|
#y_resolution = 600
|
||||||
|
|
||||||
|
square_size = 350
|
||||||
|
|
||||||
|
x_resolution = 1920
|
||||||
|
y_resolution = 1080
|
||||||
|
|
||||||
|
force_resolution = y
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
background = ./media/wallpaper.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
7
conf/games.ini
Normal file
7
conf/games.ini
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[emulateurs]
|
||||||
|
|
||||||
|
EmulateurList=["mame","neogeo","fba"]
|
||||||
|
|
||||||
|
[mame]
|
||||||
|
|
||||||
|
mameList=["p75","space-invader"]
|
||||||
0
data/emu/bin/fba.sh
Normal file
0
data/emu/bin/fba.sh
Normal file
0
data/emu/bin/gameboy.sh
Normal file
0
data/emu/bin/gameboy.sh
Normal file
0
data/emu/bin/mame.sh
Normal file
0
data/emu/bin/mame.sh
Normal file
0
data/emu/bin/megadrive.sh
Normal file
0
data/emu/bin/megadrive.sh
Normal file
0
data/emu/bin/neogeo.sh
Normal file
0
data/emu/bin/neogeo.sh
Normal file
BIN
data/emu/media/fba.png
Normal file
BIN
data/emu/media/fba.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
BIN
data/emu/media/gameboy.png
Normal file
BIN
data/emu/media/gameboy.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
BIN
data/emu/media/mame.png
Normal file
BIN
data/emu/media/mame.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 201 KiB |
BIN
data/emu/media/megadrive.png
Normal file
BIN
data/emu/media/megadrive.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
BIN
data/emu/media/neogeo.png
Normal file
BIN
data/emu/media/neogeo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 95 KiB |
BIN
modules/__pycache__/arrow.cpython-310.pyc
Normal file
BIN
modules/__pycache__/arrow.cpython-310.pyc
Normal file
Binary file not shown.
BIN
modules/__pycache__/emulateur_display.cpython-310.pyc
Normal file
BIN
modules/__pycache__/emulateur_display.cpython-310.pyc
Normal file
Binary file not shown.
24
modules/arrow.py
Normal file
24
modules/arrow.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#def KeyBind():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def Escape(event):
|
||||||
|
print("ESC key pressed")
|
||||||
|
window.quit()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def leftKey(event):
|
||||||
|
global cpt
|
||||||
|
cpt = cpt - 1
|
||||||
|
print("DEBUG : " + str(cpt))
|
||||||
|
|
||||||
|
|
||||||
|
def rightKey(event):
|
||||||
|
global cpt
|
||||||
|
cpt = cpt + 1
|
||||||
|
print("DEBUG : " + str(cpt))
|
||||||
|
|
||||||
10
modules/calcul_geo.py
Normal file
10
modules/calcul_geo.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
def IdEmu(list):
|
||||||
|
for Id in list:
|
||||||
|
print(list)
|
||||||
|
|
||||||
|
|
||||||
|
class Consol:
|
||||||
|
def __init__(self,Liste):
|
||||||
|
self.Liste=Liste
|
||||||
|
def getVal(self):
|
||||||
|
return self.val*self.val
|
||||||
7
modules/emulateur_display.py
Normal file
7
modules/emulateur_display.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
def Display_left(MiddleSquareX, MiddleSquareY, MiddleSquareX2, MiddleSquareY2):
|
||||||
|
Cnv.create_rectangle ( MiddleSquareX, MiddleSquareY, MiddleSquareX2, MiddleSquareY2,fill='black' )
|
||||||
|
|
||||||
|
def IdEmu(list):
|
||||||
|
print(list)
|
||||||
|
|
||||||
177
start.py
Executable file
177
start.py
Executable file
@ -0,0 +1,177 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
global cpt
|
||||||
|
FirstRun = 1
|
||||||
|
cpt = 0
|
||||||
|
import configparser
|
||||||
|
from collections import Counter
|
||||||
|
from tkinter import *
|
||||||
|
from tkinter import ttk
|
||||||
|
from PIL import Image, ImageTk
|
||||||
|
import PIL.Image
|
||||||
|
import PIL.ImageTk
|
||||||
|
import sys
|
||||||
|
from modules.arrow import *
|
||||||
|
from modules.emulateur_display import *
|
||||||
|
import time
|
||||||
|
import os
|
||||||
|
sys.path.append( './modules/')
|
||||||
|
from arrow import *
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def ViewEmu(cL,xL,yL,cM,xM,yM,cR,xR,yR):
|
||||||
|
NfL="./data/emu/media/" + res[cL] + ".png"
|
||||||
|
print("DEBUG : " + str(cL) + " || FILE : " + NfL )
|
||||||
|
PNfL = PhotoImage(file = NfL)
|
||||||
|
LabelPNfL = Label(arkadeus, image=PNfL)
|
||||||
|
LabelPNfL.PNfL = PNfL
|
||||||
|
Cnv.create_image(xL, yL, image=PNfL)
|
||||||
|
|
||||||
|
NfM="./data/emu/media/" + res[cM] + ".png"
|
||||||
|
print("DEBUG : " + str(cM) + " || FILE : " + NfM )
|
||||||
|
PNfM = PhotoImage(file = NfM)
|
||||||
|
LabelPNfM = Label(arkadeus, image=PNfM)
|
||||||
|
LabelPNfM.PNfM = PNfM
|
||||||
|
Cnv.create_image(xM, yM, image=PNfM)
|
||||||
|
|
||||||
|
NfR="./data/emu/media/" + res[cR] + ".png"
|
||||||
|
print("DEBUG : " + str(cR) + " || FILE : " + NfR )
|
||||||
|
PNfR = PhotoImage(file = NfR)
|
||||||
|
LabelPNfR = Label(arkadeus, image=PNfR)
|
||||||
|
LabelPNfR.PNfR = PNfR
|
||||||
|
Cnv.create_image(xR, yR, image=PNfR)
|
||||||
|
|
||||||
|
Cnv.pack(fill = "both", expand = True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def leftKey():
|
||||||
|
global cpt
|
||||||
|
cpt = cpt - 1
|
||||||
|
if cpt < 0:
|
||||||
|
cpt = EmuCpt
|
||||||
|
Lcpt = cpt
|
||||||
|
Mcpt = cpt + 1
|
||||||
|
Rcpt = cpt + 2
|
||||||
|
if Mcpt > EmuCpt:
|
||||||
|
Mcpt = 0
|
||||||
|
Rcpt = 1
|
||||||
|
if Rcpt > EmuCpt:
|
||||||
|
Rcpt = 0
|
||||||
|
|
||||||
|
ViewEmu(Lcpt,LeftSquareX, LeftSquareY,Mcpt,MiddleSquareX, MiddleSquareY,Rcpt,RightSquareX, RightSquareY)
|
||||||
|
|
||||||
|
def rightKey():
|
||||||
|
global cpt
|
||||||
|
global cpt
|
||||||
|
cpt = cpt + 1
|
||||||
|
if cpt > EmuCpt:
|
||||||
|
cpt = 0
|
||||||
|
Lcpt = cpt
|
||||||
|
Mcpt = cpt + 1
|
||||||
|
Rcpt = cpt + 2
|
||||||
|
if Mcpt > EmuCpt:
|
||||||
|
Mcpt = 0
|
||||||
|
Rcpt = 1
|
||||||
|
if Rcpt > EmuCpt:
|
||||||
|
Rcpt = 0
|
||||||
|
|
||||||
|
|
||||||
|
ViewEmu(Lcpt,LeftSquareX, LeftSquareY,Mcpt,MiddleSquareX, MiddleSquareY,Rcpt,RightSquareX, RightSquareY)
|
||||||
|
|
||||||
|
def Escape(event):
|
||||||
|
print("ESC key pressed")
|
||||||
|
arkadeus.quit()
|
||||||
|
|
||||||
|
|
||||||
|
arkadeus= Tk()
|
||||||
|
|
||||||
|
global res
|
||||||
|
res = []
|
||||||
|
|
||||||
|
dir_path = r'./data/emu/bin/'
|
||||||
|
|
||||||
|
# Iterate directory
|
||||||
|
for path in os.listdir(dir_path):
|
||||||
|
if os.path.isfile(os.path.join(dir_path, path)):
|
||||||
|
FileName=os.path.splitext(path)[0]
|
||||||
|
res.append(FileName)
|
||||||
|
print("DEBUG : " + FileName)
|
||||||
|
|
||||||
|
cnt = Counter(res)
|
||||||
|
global EmuCpt
|
||||||
|
EmuCpt=len(cnt) - 1
|
||||||
|
print(" Nmbre emulateur : " + str(EmuCpt))
|
||||||
|
|
||||||
|
|
||||||
|
config_obj = configparser.ConfigParser()
|
||||||
|
config_obj.read("./conf/config.ini")
|
||||||
|
Media = config_obj["Media"]
|
||||||
|
ForceRes = Media["force_resolution"]
|
||||||
|
Background = Media["background"]
|
||||||
|
Square = int(Media["square_size"])
|
||||||
|
|
||||||
|
config_rom = configparser.ConfigParser()
|
||||||
|
config_rom.read("./conf/games.ini")
|
||||||
|
|
||||||
|
Emulateur = config_rom["emulateurs"]
|
||||||
|
|
||||||
|
print(Emulateur["EmulateurList"])
|
||||||
|
IdEmu(Emulateur["EmulateurList"])
|
||||||
|
|
||||||
|
|
||||||
|
arkadeus.attributes('-fullscreen', True)
|
||||||
|
arkadeus.title("Arkadeus")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if ForceRes == "y":
|
||||||
|
Xsize = int(Media["x_resolution"])
|
||||||
|
Ysize = int(Media["y_resolution"])
|
||||||
|
else:
|
||||||
|
Xsize = arkadeus.winfo_screenwidth()
|
||||||
|
Ysize = arkadeus.winfo_screenheight()
|
||||||
|
|
||||||
|
|
||||||
|
print("res : " + str(Xsize) + ":" + str(Ysize) )
|
||||||
|
|
||||||
|
bg = PhotoImage(file = Background)
|
||||||
|
|
||||||
|
Cnv = Canvas( arkadeus, width = Ysize , height = Xsize)
|
||||||
|
|
||||||
|
Cnv.pack(fill = "both", expand = True)
|
||||||
|
|
||||||
|
|
||||||
|
Cnv.create_image( 0, 0, image = bg, anchor = "nw")
|
||||||
|
|
||||||
|
|
||||||
|
MiddleSquareX=(Xsize/2)
|
||||||
|
MiddleSquareY=(Ysize/2)
|
||||||
|
MiddleSquareX2=MiddleSquareX + Square
|
||||||
|
MiddleSquareY2=MiddleSquareY + Square
|
||||||
|
|
||||||
|
LeftSquareX=(Xsize/3)
|
||||||
|
LeftSquareY=(Ysize/3)
|
||||||
|
|
||||||
|
LeftSquareX2=LeftSquareX + Square
|
||||||
|
LeftSquareY2=LeftSquareY + Square
|
||||||
|
|
||||||
|
RightSquareX=(Xsize*2/3)
|
||||||
|
RightSquareY=(Ysize/3)
|
||||||
|
|
||||||
|
RightSquareX2=RightSquareX + Square
|
||||||
|
RightSquareY2=RightSquareY + Square
|
||||||
|
|
||||||
|
|
||||||
|
ViewEmu(cpt,LeftSquareX, LeftSquareY,cpt+1,MiddleSquareX, MiddleSquareY,cpt+2,RightSquareX, RightSquareY)
|
||||||
|
|
||||||
|
|
||||||
|
arkadeus.bind("<Left>", lambda event: leftKey())
|
||||||
|
arkadeus.bind("<Right>", lambda event: rightKey())
|
||||||
|
|
||||||
|
|
||||||
|
arkadeus.bind('<Escape>',Escape)
|
||||||
|
|
||||||
|
arkadeus.mainloop()
|
||||||
Loading…
x
Reference in New Issue
Block a user