Gnuboy + Speed-up + Grayscale
#1
Posted 23 July 2007 - 02:19 PM
GrayScale is now enabled! I used GaumerieLib for GrayScale... Wait for next ver of his lib (will be faster and support 4 level of grays )
Use them at your own risk. I curently use the x3 ver and havent seen any crash (I've tested x4 again but It crash my ClassPad again...)
*Plan in beta: Read file from MCS + Save file from MCS to FLASH
@Admin: Recently I can not upload any file to the file sharing!
#2
Posted 23 July 2007 - 07:47 PM
Maybe one day the ClassPad will be as fast as the real gameboy, nice and smooth!
Grey scale is great because some games didnt turn out right with black and white. Nice one!
#3
Posted 24 July 2007 - 03:42 PM
And what is your favorite page to download game?
I seach google with this keywords: download "GB ROMS" -GBA and found this site which give *.gb roms: http://www.globalroms.com/ on the first page.
EDIT: you must paid to download from that site
EDIT2: I've fond this http://www.gameboyro...latform=Gameboy (I remember that I found this page before but I lost the bookmark when my reinstalling my Windows). You must use firefox to download from that page, but that page gives roms for free, wothout any count-down, no forced voting, no popups, no ads... or if you want to use browser other than firefox, try this link: http://www.zend3.inf...v...2FtZWJveQ==
#4
Posted 24 July 2007 - 08:09 PM
Maybe a good advance for GnuBoy would be able to convert colour games into greyscale for GnuBoy. And maybe more memory space to use games. Just some ideas.
#5
Posted 25 July 2007 - 12:58 AM
You can also play gbc roms, but it will be slow.
#6
Posted 25 July 2007 - 04:33 AM
#7
Posted 25 July 2007 - 04:36 AM
#8
Posted 25 July 2007 - 05:09 AM
TMU.h:
/****************************************************************************** * * [Title] TMU.c - HeaderFile for TimerRoutines * * Copyright (C) 2002 Stefan K?nig (SDwarfs) ******************************************************************************/ #ifndef TMU_h #define TMU_h #include <smachine.h> #include <libc.h> // just some type "redefinitions"... #define word unsigned short int #define dword unsigned int #define IPRA ((word*)0xFFFFFEE2) // TMU-Interrupt-PRiority #define TSTR ((byte*)0xFFFFFE92) // TMU-Timer-Start-Register extern dword* TCOR[3]; // TMU-Timer-Constant-Registers extern dword* TCNT[3]; // TMU-Timer-Counter-Registers extern word* TCR[3]; // TMU-Timer-Control-Registers extern void** VectorTable; // Vector Table used by System-Int-Handler extern void* oldVectors[3]; // Stores the old Vector-values extern int TableEntries[3]; // Entrys for IntHandlers in System-Table void InitTMU(); // Should be called before any other TMU-Calls void ReleaseTMU(); // Should be called at Program-End void startTimer(int ch); // Start Timer Chanel "ch" void stopTimer(int ch); // Stops it.. // Installs an IntHandler for Chanel "ch" with frequency "freq" (in Hz) // which is located at the Adress pointed to by "Handler" void installHandler(int ch,int freq,void* Handler); // must be called at the end of the Channel-Int-Handler-Routines // x is the Number of the Channel the Handler handled. #define doneHandler(x); *TCR[x]=*TCR[x] & 0xFEFF; #endif
TMU.c:
/****************************************************************************** * * [Title] TMU.c - SourceFile for TimerRoutines * * Copyright (C) 2002 Stefan K?nig (SDwarfs) ******************************************************************************/ #include "TMU.h" dword* TCOR[3] = { // TMU-Timer-Constant-Registers ((dword*)0xFFFFFE94), ((dword*)0xFFFFFEA0), ((dword*)0xFFFFFEAC) }; dword* TCNT[3] = { // TMU-Timer-Counter-Registers ((dword*)0xFFFFFE98), ((dword*)0xFFFFFEA4), ((dword*)0xFFFFFEB0) }; word* TCR[3] = { // TMU-Timer-Control-Registers ((word*)0xFFFFFE9C), ((word*)0xFFFFFEA8), ((word*)0xFFFFFEB4) }; void** VectorTable = (void**) 0x8C09A000; // Vector Table used by System-Int-Handler int TableEntries[3] = { // Entrys for IntHandlers in System-Table... (0x400>>4), (0x420>>4), (0x440>>4) }; void* oldVectors[3]; // storing the old values byte old_imask,old_str; dword old_IPRA; dword oldTCOR[3]; dword oldTCNT[3]; word oldTCR[3]; void InitTMU() { int i; // Save old System-Table-Entries for(i=0;i<3;++i) { oldVectors[i]=VectorTable[TableEntries[i]]; oldTCOR[i]=*TCOR[i]; oldTCNT[i]=*TCNT[i]; oldTCR[i]=*TCR[i]; } // TODO: Save all Registers here... old_imask=get_imask(); old_str=*TSTR; old_IPRA=*IPRA; // Okay, clear all UNderflow-Bits for the TMU-Unit... for(i=0;i<3;++i) doneHandler(i); *TSTR=0; // Stop all TMU-Counters... } void ReleaseTMU() { int i; // Mask all Interrupts... set_imask(0x0F); // Ok, here its safe!;-) *TSTR=old_str; // Restore STR... *IPRA=old_IPRA; // Restore IPRA... // Restore old System-Table-Entries & Registers... for(i=0;i<3;++i) { VectorTable[TableEntries[i]]=oldVectors[i]; *TCOR[i]=oldTCOR[i]; *TCNT[i]=oldTCNT[i]; *TCR[i]=oldTCR[i]; } set_imask(old_imask); // Restore imask } void startTimer(int ch) { *TSTR=(*TSTR) | (1<<ch); // Starts Timer ch... *IPRA=(*IPRA) | (0x8000>>(ch<<2)); } void stopTimer(int ch) { *TSTR=(*TSTR) & (255-(1<<ch)); // Stops Timer ch... } void installHandler(int ch,int freq,void* Handler) { int value; // Stops this Timer stopTimer(ch); // Set Timer-Frequency value=6250000; // 25/4=6.25 Mhz Oszilator-Frequency value/=freq; // Calculate Timer Constant-Value *TCOR[ch]=value; // Set Timer-Counter-Value to value (select frequency) *TCNT[ch]=value; // Initial-Value for Timer-Counter // Enable UNflow Interrupt generation for this Channel *TCR[ch]=(1<<5); // Sets UNflow-Int and P/4-Clock-Input... // Set Handler-Adress in System-Table VectorTable[TableEntries[ch]]=(void*)Handler; }
#9
Posted 26 July 2007 - 03:39 AM
#10
Posted 26 July 2007 - 04:39 AM
I've almost finished the new version of GnuBoy (this ver should be great) with GrayScale pen&keys based menu + Save gbroms from mcs + CPU reset/pause/resume...
But sorry everybody, my ClassPad is corrupted 100% so I cant test my addins... This mean there will not be any future version of my addins until I could get my next ClassPad... (My parents seem disagree buying new one )
Anyway, I will try to write this ver in a very clear way to avoid bugs, but I can not say that it will have no bugs... Hope it can be public soon.
Bye,
#11
Posted 26 July 2007 - 09:35 AM
#12
Posted 26 July 2007 - 09:40 AM
Wow, what a skill in "copy-paste programming".vanhoa, this file is just a C version of what Gaumerie made with ASM in his lib, nothing more
#13
Posted 26 July 2007 - 09:55 AM
Gaumerie and Stefan K?nig wrote their libraries independantly, with their own styles. But as it often happens in community developments, it just happen that their purposes are similar
What I meaned here is that there is nothing you can do with this file but that you could not do with GaumerieLib
#14
Posted 26 July 2007 - 10:33 AM
Hmm, I was misunderstood: my remark was not about Gaumerie nor Stefan K?nigI can't let you say that
Gaumerie and Stefan K?nig wrote their libraries independantly, with their own styles. But as it often happens in community developments, it just happen that their purposes are similar
What I meaned here is that there is nothing you can do with this file but that you could not do with GaumerieLib
#15
Posted 26 July 2007 - 11:47 AM
/****************************************************************************** * * [Title] TMU.c - HeaderFile for TimerRoutines * * Copyright (C) 2002 Stefan K?nig (SDwarfs) ******************************************************************************/...
I found these file and want to share them, I havent used it yet, and I may not use it anymore since I may not continue my projects
The only thing that these file have more advantage then GaumerieLib is open-source.
One more thing, public hardwares programming shold be shared, it is not like software programming... Because all public hardwares programming are all based from the public-infos of producter. And after all, no one other than the producer could be the author of hardware source... Pap, do you mean Gaumerie and Stefan K?nig are all "Wow, what a skill in copy-paste programming"? (Sorry Gaumerie and Stefan K?nig)... I have nothing to say if you said I copy these code, but you should care about your saying.
One example, Maple gave credic to all the place where provide them the methols. Your LNA also?
I dont want to start a flame-war (the word which The_AFX_Master used ) anymore, but please think it carefully before saying something like that!
If you disagree with me, just post one more post in this topic (only 1!) to tell me why. and The_AFX_Master, dont lock any more topic of mine.
#16
Posted 26 July 2007 - 12:22 PM
LNA is 100% written by me (not 99.99%, exactly 100%). I haven't had copied or modified a single line of code from any other project; in other words, I'm the absolute inverse of you, and I'm happy for that. The only credit I must give concerning LNA is the theoretical books I have used. All these books are listed in LNA's documentation, see the "Bibliography" section.One example, Maple gave credic to all the place where provide them the methols. Your LNA also?
#17
Posted 26 July 2007 - 03:13 PM
LNA is 100% written by me (not 99.99%, exactly 100%). I haven't had copied or modified a single line of code from any other project; in other words, I'm the absolute inverse of you, and I'm happy for that. The only credit I must give concerning LNA is the theoretical books I have used. All these books are listed in LNA's documentation, see the "Bibliography" section.
I didnt say that LNA is not writen by you++ You were misunderstood again.
Give credit means tell users what is gave you the info, it can be every thing: a book, a proof, a people, a single web page, ... etc... Look at Maple help you will see that.
Sorry anyway.
#18
Posted 26 July 2007 - 03:42 PM
What does GNU mean to you? Or GPL? I'm surprised that vanhoa is able to talk back to PAP about giving credit (all of us should feel guilty that we just let this slip by!), when your package of gnuboy does not indicate:
gnuboy is a Free Software emulator released under the terms of the GNU General Public License ("GPL").
Follow the license! You must not deny rights to other users. And where the heck is the modified source code in the link from the first post. You must clearly indicate that gnuboy:
* Is not your own creation, but you instead have taken someone else's work and modified it
* Tell others that they have the right also to modify the code themselves provided that it is released under the license
* Provide the source code and indicate the changes that you have made to it
* Provide a copy of the license or at least indicate where the license may be viewed
Read it yourself: http://www.gnu.org/l...ses/gpl-3.0.txt
Failure to do so:
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
Do not distribute any more of your gnuboy until you have satisfied the license!!!
At least PAP takes the time to site his textbooks, not much people bother doing that now these days. For that I give him some respect.
#19
Posted 26 July 2007 - 04:14 PM
I will include the license file in next ver, thank you for notice, I was wrong on this. But as I remember, I published the original file I took from the PV author...
Btw, these days and before days, I must learn 7am-11am on Monday, Wednesday, Friday morning and before is also 7pm-9pm on every night other than Sunday, i is not like the sumer for me
#20
Posted 26 July 2007 - 08:17 PM
I am a new ClassPad user, I want to know how to put the games into the ClassPad, I did put the GnuBoy, I open it and I receive the next message:
"unknown SRAM size FF"
What is its meaning?
How to put the *.gb files into the ClassPad?
Do I need the ClassPad Manager to put in the *.gb files? (I ask it because I had lost my CPM Install Key, Is it on the box? on the CD box?(I had lost it), I can't find it)
Thanks!!!!
#21
Posted 26 July 2007 - 08:48 PM
Your English is hard to understand, so maybe I didn't understood well what you were saying. Anyway, it's funny you are trying to teach me things about Maple.I didnt say that LNA is not writen by you++ You were misunderstood again.
Give credit means tell users what is gave you the info, it can be every thing: a book, a proof, a people, a single web page, ... etc... Look at Maple help you will see that.
Thanks, kucalc.What does GNU mean to you? Or GPL? I'm surprised that vanhoa is able to talk back to PAP about giving credit (all of us should feel guilty that we just let this slip by!),
''''
At least PAP takes the time to site his textbooks, not much people bother doing that now these days. For that I give him some respect.
About the GPL: The GNU Public License is often misunderstood by many people. The new GPL version 3 is supposed to make things clearer, but even Linus Torvalds disagrees with that new version. Anyway, I don't think that vanhoa respects the GPL (version 2 or 3).
#22
Posted 27 July 2007 - 04:53 AM
#23
Posted 27 July 2007 - 06:38 AM
#24
Posted 27 July 2007 - 08:09 AM
Just putting positive vibes out there.
#25
Posted 28 July 2007 - 03:50 AM
if you disagree with me, just post one more post in this topic (only 1!) to tell me why. and The_AFX_Master, dont lock any more topic of mine.
Come on dude, i only closed that topics in where you an other were involved in a flame war, as far i not see grenades flying here and there, i'll not close the topics. I'm not searching every vanhoa topic to close it
#26
Posted 28 July 2007 - 09:06 AM
What if you see large flying objects (launched by my gravity weapon)?as far i not see grenades flying here and there, i'll not close the topics.
#27
Posted 30 July 2007 - 09:59 AM
New verion come now (this could be the final).
What's new?
*Guild
*Key Setting with auto-save
*Turn off the calc, and then tap onto the menu hard icon will not crash it any more
*You can Open/Transfer from MCS to FLASH from the addin
*4 level of grayscale
*On-screen buttons, now fixed the problem act_500ms which make pressing the vitural keys runs as fast as the hard key. Nothe that tapping on 4 sides of the GameBoy screen (The area which display gameboy screen ) also acts as 4 direction buttons...
Download here:
*cpa: http://www.casiocalc...amp;load_that=1 (290.77 KB)
*source code: send me a pm
PS: I've found that we can get free 192kByte in the source code, but I can not find a way to get that block of memory. It is a large byte table byte VarName[ 4096 ][ 8 ][ 8 ] but the program only use 2 bits of each element!
WARNING: I havent ever test this version, so if there is any crash dont get angry with me.
#28
Posted 30 July 2007 - 07:39 PM
Edit: Oh Dear I found a bug. When you play a game and exit it saves another game eg. If I play mario.gb and then exit it will save a game called mario001.gb
#29
Posted 31 July 2007 - 12:38 AM
#30
Posted 31 July 2007 - 08:15 PM
#31
Posted 31 July 2007 - 09:11 PM
I got the same message!!! You should make any help file Vanhoa!!! Also the .dll file in the zip archive is corrupted...Hello Casio People (I am learning English)
I am a new ClassPad user, I want to know how to put the games into the ClassPad, I did put the GnuBoy, I open it and I receive the next message:
"unknown SRAM size FFF"
What is its meaning?
How to put the *.gb files into the ClassPad?
Do I need the ClassPad Manager to put in the *.gb files? (I ask it because I had lost my CPM Install Key, Is it on the box? on the CD box?(I had lost it), I can't find it)
Thanks!!!!
#32
Posted 01 August 2007 - 01:30 AM
It is the game save fileSo what does that file do? Will it only happen once each game?
I got the same message!!! You should make any help file Vanhoa!!! Also the .dll file in the zip archive is corrupted...
Are you using previous version? If so, you should use the this ver (1.0).
In ver 1.0, to play game boy roms, you should follow these steps:
1. Extract Release.rar in a folder
2. Put a rom in that folder, and rename it to file.file
3. Run 2MCS.exe and turn off after it is created
4. Transfer varible main\Memos from save.mcs in that folder to ClassPad, and save it as main\Memos for example.
5. Run GnuBoy addin, select chose gameboy roms and then click the MCS button, select the file, main\Memos for example, and then click Open, input the save file name (in flash) and click Save.
6. Select that game from the list and then press EXE' /> or click on Open,
That's all.
#33
Posted 01 August 2007 - 03:56 AM
#34
Posted 01 August 2007 - 02:25 PM
EDIT : Wohoo, run it again, I get a BLANK FATAL ERROR SCREEN ! Without any information on addresses, just the FATAL ERROR dialog. Your program is pure genius ! I'm going to run it again, to see what happens.
EDIT2 : Duh, I lost all my addins.
EDIT3 : Here we go, I managed to get it again. Good job, vanhoa.
#35
Posted 01 August 2007 - 03:01 PM
2. This ver has never tested by me
I'm currently online, please login to msn, Kilburn. I forgot to warn people: you should tell me how you got any strange error and dont try to get it again... dont let your classpad be like my classpad!
#36
Posted 01 August 2007 - 05:42 PM
1. I found it a long time ago.
2. This ver has never tested by me
I'm currently online, please login to msn, Kilburn. I forgot to warn people: you should tell me how you got any strange error and dont try to get it again... dont let your classpad be like my classpad!
Vanhoa!
I think you should remove your program if it is causing these errors. The ClassPad is probably damaged when they run into errors like "DRIVER INITIALIZE ERROR".
Debb
#37
Posted 01 August 2007 - 08:06 PM
#38
Posted 01 August 2007 - 08:25 PM
And why did you do it more than once???
Maybe because Kilburn wanted to take a photo of the problem of it to better inform and warn us about the problem?
A quite nice "DRIVER INITIALIZE ERROR" dialog with a sweet out of order ClassPad drawn on it. Should have taken a photo...
#39
Posted 01 August 2007 - 11:36 PM
So, as I know so far, there is some way to get fatal error: Load games larger than 128k, fake file save, and file name error (a FLASH file name can not take more than 2 '.').
Kilburn, Post a error without explain what you did give you nothing... And I should not be interested with the posts like yours any more (these day I'm playing an online game called Boom, and some days after I will be back to school) but I dont want your CP be destroy, I just want to help the users of GnuBoy, if you dont need my help, then dont post. To post a bug, give me the way you reach it, let's keep my topic clean, please.
#40
Posted 02 August 2007 - 04:08 AM
Maybe because Kilburn wanted to take a photo of the problem of it to better inform and warn us about the problem?
Ah I see thanks!
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users