Antiriad
Member
Hello all (ive also posted this on the Yahoo GP32 dev board),
Having badgered all and sundry for someone else to do this, i have decided to get the ball rolling of a Amstrad CPC emulator for the GP32 myself even though i have no programming knowledge.
Hopefully if i can just get the OS screen to show up (with or without sound) on my GP32 i will be satisfied enough as perhaps it could inspire others to finish my work.
Ive done the easy part and downloaded the DevKit (found the tutorial page for this also), the SDL port for GP32 and most importantly the source files for the SDL version of Arnold adapted by Andreas Micklei.
The Amstrad CPC came in both 64k (464, 664, 464+) and 128k (6128, 6128+) formats and ran off a Z80 processor running at 4Mhz and used a AY-3-8912 chip for sound similiar to the one used in an Atari ST and probably exactly the same as the one in the Sinclair 128.
It was capable of producing three colour modes: low res 16 colours 160x200; med res 4 colours 320x200; high res 2 colours 640x200. Im aware of the GP32's inability to run higher than 320x240.
Ive done the easy part and drawn up a project plan that i will *attempt* to stick to. Presumptious i know, but i liked the idea of planning ahead how id ideally like thigns to work.
v0.1 Aims
---------
- 6128 Emulation Only
- Graphics!
- Sound!
v0.2 Aims
---------
- Map GP32 Joypad and A B Button to CPC Joystick
(Joy Up = Joy Up [↑])
(Joy Down = Joy Down [↓])
(Joy Left = Joy Left [←])
(Joy Right = Joy Right [→])
(A Button = Fire 1 [X])
(B Button = Fire 2 [Z])
- SMC File Browser with SubDirectory support
Load SNA files
(Right Button to activate)
(Joypad Up/Down to Navigate)
(Joypad A or B to Select)
v0.3 Aims
---------
- Load DSK files
- Virtual keyboard: On screen GUI - using 40 pixels free below
(Select Button to activate)
(Joypad Up/Down/Left/Right to Navigate)
(Joypad A or B to Confirm)
(Left Button toggle Caps On/Off)
(Right Button toggle Shift On/Off)
v0.4 Aims
---------
- Menu Screen (Separate)
(Joypad Up/Down to Navigate)
(Joypad Left/Right to select)
(Joypad A or B to Confirm)
(Start Button to activate)
- Frameskip Option 0 1 2 3 4
- Reboot CPC
- Reboot GP32
v0.5 Aims
---------
- Customisable Map keys to Up, Down, Left, Right, Fire 1, Fire 2
- Save Config (Press Select in Menu to activate)
v0.6 Aims
---------
- Change Amstrad Type: 464, 664, 6128, 464+, 6128+
- Compile Roms into exectuable
- CPC+ Support: Load Carts (cpr)
v0.7 Aims
---------
- Save Snapshot (Press Left)
- Zlib Support
As it runs from SDL for the graphics and sound, and is according to its author apparently devoid of any x86 code, i can hope i might be able to achieve the basic first stage.
I know for a fact that ANYTHING in regards to a GUI im going to desperately need you guys help (as if i dont already with the non GUI stuff). If im honest, my approach to its structure has been heavily influenced by Speccyal and Frodo. I admit have a big concern in regards to a virtual keyboard on the screen due to the Amstrads ability to change modes. On the other hand,a seperate screen would be most unfeasable when it comes to loading DSK files - that and Skeezix got round this problem with Castaway.
What i would like is perhaps some pointers...
Im guessing right now i need to isolate the appropriate source code from Arnold and then compile it using the SDL port for GP32 then use the DevKit to convert it into a GXB file? Naturally, ill be running GeePee32 on my PC for all this!
Ive bookmarked http://cyberdiem.com/vin/learn.html and http://www.strath.ac.uk/IT/Docs/Ccourse/ and am hoping to utilise these both. Alternatively should i buy a book about C?
Of course if you think im way over my head with this one (last time i did programming was BASIC on my real Amstrad CPC back in the day) let me know, and ill exit stage left...
Having badgered all and sundry for someone else to do this, i have decided to get the ball rolling of a Amstrad CPC emulator for the GP32 myself even though i have no programming knowledge.
Hopefully if i can just get the OS screen to show up (with or without sound) on my GP32 i will be satisfied enough as perhaps it could inspire others to finish my work.
Ive done the easy part and downloaded the DevKit (found the tutorial page for this also), the SDL port for GP32 and most importantly the source files for the SDL version of Arnold adapted by Andreas Micklei.
The Amstrad CPC came in both 64k (464, 664, 464+) and 128k (6128, 6128+) formats and ran off a Z80 processor running at 4Mhz and used a AY-3-8912 chip for sound similiar to the one used in an Atari ST and probably exactly the same as the one in the Sinclair 128.
It was capable of producing three colour modes: low res 16 colours 160x200; med res 4 colours 320x200; high res 2 colours 640x200. Im aware of the GP32's inability to run higher than 320x240.
Ive done the easy part and drawn up a project plan that i will *attempt* to stick to. Presumptious i know, but i liked the idea of planning ahead how id ideally like thigns to work.
v0.1 Aims
---------
- 6128 Emulation Only
- Graphics!
- Sound!
v0.2 Aims
---------
- Map GP32 Joypad and A B Button to CPC Joystick
(Joy Up = Joy Up [↑])
(Joy Down = Joy Down [↓])
(Joy Left = Joy Left [←])
(Joy Right = Joy Right [→])
(A Button = Fire 1 [X])
(B Button = Fire 2 [Z])
- SMC File Browser with SubDirectory support
Load SNA files
(Right Button to activate)
(Joypad Up/Down to Navigate)
(Joypad A or B to Select)
v0.3 Aims
---------
- Load DSK files
- Virtual keyboard: On screen GUI - using 40 pixels free below
(Select Button to activate)
(Joypad Up/Down/Left/Right to Navigate)
(Joypad A or B to Confirm)
(Left Button toggle Caps On/Off)
(Right Button toggle Shift On/Off)
v0.4 Aims
---------
- Menu Screen (Separate)
(Joypad Up/Down to Navigate)
(Joypad Left/Right to select)
(Joypad A or B to Confirm)
(Start Button to activate)
- Frameskip Option 0 1 2 3 4
- Reboot CPC
- Reboot GP32
v0.5 Aims
---------
- Customisable Map keys to Up, Down, Left, Right, Fire 1, Fire 2
- Save Config (Press Select in Menu to activate)
v0.6 Aims
---------
- Change Amstrad Type: 464, 664, 6128, 464+, 6128+
- Compile Roms into exectuable
- CPC+ Support: Load Carts (cpr)
v0.7 Aims
---------
- Save Snapshot (Press Left)
- Zlib Support
As it runs from SDL for the graphics and sound, and is according to its author apparently devoid of any x86 code, i can hope i might be able to achieve the basic first stage.
I know for a fact that ANYTHING in regards to a GUI im going to desperately need you guys help (as if i dont already with the non GUI stuff). If im honest, my approach to its structure has been heavily influenced by Speccyal and Frodo. I admit have a big concern in regards to a virtual keyboard on the screen due to the Amstrads ability to change modes. On the other hand,a seperate screen would be most unfeasable when it comes to loading DSK files - that and Skeezix got round this problem with Castaway.
What i would like is perhaps some pointers...
Im guessing right now i need to isolate the appropriate source code from Arnold and then compile it using the SDL port for GP32 then use the DevKit to convert it into a GXB file? Naturally, ill be running GeePee32 on my PC for all this!
Ive bookmarked http://cyberdiem.com/vin/learn.html and http://www.strath.ac.uk/IT/Docs/Ccourse/ and am hoping to utilise these both. Alternatively should i buy a book about C?
Of course if you think im way over my head with this one (last time i did programming was BASIC on my real Amstrad CPC back in the day) let me know, and ill exit stage left...