This image is the top of the content box. Unfortunately, there is no information-based reason for this div to be here. It's just here for design reasons. Sorry.
Home Forums Register FAQ Search Today's Posts Mark Forums Read


Welcome to the misticriver forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.
Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old January 20th, 2006, 09:33 PM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
PMP emulator progress

So, the PMP emulator I'm working on. I started this thing knowing absolutely nothing about emulation whatsoever, so it might take a little while as I still have much to learn - I've never touched any sort of hardware-related stuff before, being more of a software kind of guy; game extractors, RPG making tools, MMO engines are the sort of thing I'd do.

But anyway. The emulator currently boots part of rrload before it goes belly-up. I'm working on hooking up the rrload debug map, so that I can see what methods are being called and therefore where it's dying - I suspect I'll have to do a better job on the emulation of certain GIO pins before it'll boot any futher.

I am getting some serial output, so I know that the CPU emulation is (so far) working correctly, as well as some basic serial port, ISA cache and clock controller emulation - just enough for the thing to kludge its way futher into rrload. There's also a basic debugger, but I'm going to add more disassembly/breakpoint type stuff when I start to need it.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old January 20th, 2006, 09:51 PM
Hoping For A Cool Title
 
Join Date: Oct 2005
Posts: 81
Thumbs up

Quote:
Originally Posted by szevvy
So, the PMP emulator I'm working on. I started this thing knowing absolutely nothing about emulation whatsoever, so it might take a little while as I still have much to learn - I've never touched any sort of hardware-related stuff before, being more of a software kind of guy; game extractors, RPG making tools, MMO engines are the sort of thing I'd do.

But anyway. The emulator currently boots part of rrload before it goes belly-up. I'm working on hooking up the rrload debug map, so that I can see what methods are being called and therefore where it's dying - I suspect I'll have to do a better job on the emulation of certain GIO pins before it'll boot any futher.

I am getting some serial output, so I know that the CPU emulation is (so far) working correctly, as well as some basic serial port, ISA cache and clock controller emulation - just enough for the thing to kludge its way futher into rrload. There's also a basic debugger, but I'm going to add more disassembly/breakpoint type stuff when I start to need it.
szevvy its nice to know you have strong alliance to take the Pimp one step further, good luck with your coding journey and im sure others will offer support when you need it.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old January 20th, 2006, 11:09 PM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
Having support is always good

Hooked up the debug map, and it turns out that everything actually works as it should - the PMP is turning itself off. As the power button isn't being pressed on the unit or the remote, it must've been woken by the charger, and it turns off.

I have no idea how to get around this - I can't force the power button to be permanently on, as it'll pick that up later and turn off. I might just force it to be on until x ticks have elapsed, and that should do for now.

If I pull out all 1's from GIO - everything on - it keeps going, and tells me that it's hit an unencoded CPU isntruction. Progress.

No-one minds if I post really tech, geeky progress news here to help organise my thoughts, I hope? Might be interesting.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old January 21st, 2006, 05:09 AM
I Need Help!!
 
Join Date: Nov 2004
Location: Teesside, UK
Posts: 0
Thread stuck. Keep up the good work and please keep discussion of things not related to the Emulator off this thread. Take it to PM if you have to or start a new thread. Anything off topic will be deleted.

A
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old January 21st, 2006, 06:58 AM
Newbie Floating Down The Mistic River
 
Join Date: Jan 2006
Posts: 13
when you say emulator you mean emulator for games? or like third party firmware? sry but i dont know alot about these stuff... more of a hardware kind of guy
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old January 21st, 2006, 07:39 AM
I Need Help!!
 
Join Date: Nov 2004
Location: Teesside, UK
Posts: 0
He means a program whereby like programs like no$gb that emulate how the player works in a safe environment aka your PC. Your PS2 emulates the PS1 when playing PS1 games as such.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old January 21st, 2006, 11:34 AM
Eager Mistic Beaver
 
Join Date: Nov 2004
Location: sOuThSiDe
Posts: 346
Quote:
Your PS2 emulates the PS1 when playing PS1 games as such.
Thats half true; The original PS1 chip is included inside the PS2 so it runs hardware wise the same. It just emulates some memory card ports, controllers etc etc

Anyways; szevvy have you thought about making your progress/work open-source? This way other people can look at your work and maybe comment something importante.
__________________
PMP-140 User....and REALLY UNhappy.
Man I hope someone finishes ShamrockMan's firmware!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old January 21st, 2006, 07:18 PM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
Yeah, I'm planning to set up a sourceforge project within the next few days.

edit: Actually - there's a few major issues I have to fx first. It will open source, though - eventually. Hopefully sooner rather than later.

Last edited by szevvy : January 21st, 2006 at 07:33 PM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old January 21st, 2006, 08:21 PM
Hoping For A Cool Title
 
Join Date: Oct 2005
Posts: 81
this looking good!

Sourceforge is a good way of encouraging other developers to hop on the pimpwagon!

Good luck
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old January 23rd, 2006, 02:48 PM
Newbie Floating Down The Mistic River
 
Join Date: Nov 2004
Location: Zurich, Switzerland
Posts: 9
Send a message via MSN to jeroen
As I am kind of a programming person, I would also be very interrested to see what you have already and to test it out and help getting it up and running as that would really help in getting a self compiled firmware up and running, instead of breaking my PiMP which actually runs quite well IMHO but is lacking some features which would not be all too hard to builtin. I won't unfortunately be able to commit a lot of time, though depending on the level of interrest I usually do *whistle* so bring it on
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #11 (permalink)  
Old January 25th, 2006, 02:30 AM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
Found why it's not copying flash => SDRAM; it seems there's a problem with CPU emulation. I'm not sure what's going on - perhaps someone could help me?

Here's the thing. In ARM7, a BCC (branch if unsigned lower) will execute if the carry flag is 0 - on Intel, a JB (jump if below) will execute if the carry flag is 1. WTF?

edit: So...I'm assuming I'd need to negate the carry flag on a subtract and cmp - anything else?

Last edited by szevvy : January 25th, 2006 at 02:51 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #12 (permalink)  
Old January 25th, 2006, 03:47 AM
Mistic Mystery Meat
 
Join Date: Dec 2004
Posts: 491
Send a message via ICQ to ShamrockMan Send a message via AIM to ShamrockMan Send a message via MSN to ShamrockMan Send a message via Yahoo to ShamrockMan
I do have a ARM proc/compiler to test some stuff on, if you need it. I'm looking into getting some good doc's on the ARM proccessor.

When is the code going to appear on Sourceforge? I'd love to help code it.
__________________
PMP guides: Skining | Boot failure | Converting DVD's | 2.04 Firmware
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #13 (permalink)  
Old January 25th, 2006, 03:58 AM
Mistical Abstract
 
Join Date: Dec 2005
Posts: 705
so is this emulator actually have a slight chance of working out at the end. something to look forward to in the future?
__________________
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #14 (permalink)  
Old January 25th, 2006, 04:57 AM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
I've got comment what I've got so far, mark things that aren't done, fix up nuances - the version of wxWidgets I'm using is outdated, etc. Then I'll put it up.

Last edited by szevvy : January 25th, 2006 at 05:18 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #15 (permalink)  
Old January 25th, 2006, 07:26 PM
Mistical Abstract
 
Join Date: Dec 2005
Posts: 705
when do you predict that this emulator will be finished and released?

great work by the way
__________________
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #16 (permalink)  
Old January 25th, 2006, 10:02 PM
Hoping For A Cool Title
 
Join Date: Oct 2005
Posts: 81
patience uadogga, good things take time
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #17 (permalink)  
Old January 25th, 2006, 11:05 PM
Mistical Abstract
 
Join Date: Dec 2005
Posts: 705
yes i know. im just asking for an approximate time when it might be released. this emulator sounded too good to be true when i first heard it.
__________________
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #18 (permalink)  
Old January 26th, 2006, 02:00 AM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
Quit a few months - once the CPU and basic chips are hacked together, there's still the whole DM270 shemozzle, virtual HDD...

progress: 'Vimp' has been approved as a sourceforge project. Fixed a CPU bug that was causing the emulator to crash, but this has unearthed at least 2 more issues. Added a 'run till method call' button that makes it very easy to charge through code.

If anyone can tell me if what instructions I need to invert the carry flag on I'd be grateful - just SUB and CMP or the whole lot?

edit: Put what memory mapping I've done on http://www.misticriver.net/wiki/inde...ies_Memory_Map

Last edited by szevvy : January 26th, 2006 at 03:32 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #19 (permalink)  
Old January 26th, 2006, 04:16 AM
Newbie Floating Down The Mistic River
 
Join Date: Nov 2004
Location: Zurich, Switzerland
Posts: 9
Send a message via MSN to jeroen
Quote:
Originally Posted by szevvy
Quit a few months - once the CPU and basic chips are hacked together, there's still the whole DM270 shemozzle, virtual HDD...
Why not base work on: SkyeEye : http://www.skyeye.org/index.shtml ?
They already have ARM7TDMI support and can boot uclinux, which is what the PiMP is using afaik.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #20 (permalink)  
Old January 26th, 2006, 09:23 PM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
For one reason: this is my first foray into the lands of hardware and emulation. Unless I write the code myself at least once, I'm going to have no idea what's going on. I simply won't be able to extend SkyEye, as I won't know what GIO is and how it works, and so on. Also, SkyEye doesn't support the DM270 chip, only the ARM7TDMI CPU, which is the least of my worries. Thanks for the link though - I can now throw code at both and see if my CPU emulation is correct, these damn arithmetic flags are driving me nuts.

edit: best idea ever - anyone want to port openGL to the DM270? *drools*

edit: ZOMG! Booting into rrload main menu!



No input support yet.

edit: Input support for the serial connection, I can browse menus and do stuff, yay! It doesn't boot any further...perhaps it needs a real firmware file, not just rrload.

Last edited by szevvy : January 27th, 2006 at 02:29 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #21 (permalink)  
Old January 27th, 2006, 09:53 AM
Z80 Z80 is offline
Newbie Floating Down The Mistic River
 
Join Date: Aug 2005
Location: CPU
Posts: 24
is your e(si)mulator somewhere? or you could send it to me? iam interested in "playing" with rrload .. There is some /proc files from my PMP i think that could by useful ...
Attached Files
File Type: zip pmp.zip (20.9 KB, 105 views)
__________________
RE isn't crime: Z!L0G80[t4C], owner PMP 120 ......
____________________ ___________________
PS.>Sorry for my bad English, Iam only a human
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #22 (permalink)  
Old January 27th, 2006, 05:54 PM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
Quote:
Originally Posted by Z80
is your e(si)mulator somewhere? or you could send it to me? iam interested in "playing" with rrload .. There is some /proc files from my PMP i think that could by useful ...
Files are interesting - do you have a 120 or 140?

I'm going on a holiday for a few days, so I'll put up what I have before I clean it up and put it on SourceForge...

http://www.szevvy.com/Vimp.zip

A few things to note:
1. The exe is the debug build. It runs very, very slow.
2. I haven't fixed an issue with the serial window - you have to click on the text box after every character, it's losing focus (I know why though)
3. The firmware file is from the source we have, rrload only (patched somewhat to give me more debugging info) - I haven't stiched in linux etc.
4. As part of my debugging, the program writes out every method call to method_trace.txt - it's not unusual for this file to grow to 50 megs of text.
5. Closing the app if the deubg / serial windows are open does not close the program, you have to ctrl-alt-del to close it
6. The exit menu funtion doesn't work
7. The source we got from iRiver is for a version not used it shipped pmp's...it drops into the rrload menu by default, and you have to set the default boot command as 'auto_boot' before it'll keep going. It crashes shortly after due to unfinished CPU emulation
8. The 'trace call' button in the debug window runs the CPU until it hits a method call, the 'step over' button runs the CPU until it gets to the instruction after the current one - this button is dangerous, the CPU sometimes never gets to the instruction after the current one
9. I haven't commented much yet.
10. Some disassembly is broken - writeback on a LDR/STR, shifted-register offest, etc.
11. This requires an older version of wxWidgets to build (2.61 I think), for anyone crazy enough to try and build it.
12. Make sure you go window->serial 0 before running, or it'll seem the emulator has hung when it's just waiting for you to give input
13. Don't backspace in the serial window. It won't work.

All in all, very very unpolished, a pain in the ass to use, and not really meant for anyone yet...but you can have a play and a look, I guess.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #23 (permalink)  
Old January 31st, 2006, 03:29 AM
Hoping For A Cool Title
 
Join Date: May 2005
Posts: 55
Further news: made more progress, the emulator is now getting past rrload and getting into the very first inklings of booting Linux, hooray!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #24 (permalink)  
Old January 31st, 2006, 03:57 AM
Newbie Floating Down The Mistic River
 
Join Date: Jan 2006
Location: Spain
Posts: 24
Talking Thanks...

Congratulations and thanks to all of you for making us dream with a powerful pmp. I´m good programing in c++ if you need s