Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - z80man

Pages: 1 ... 30 31 [32] 33 34 ... 62
466
Casio Calculators / Re: PRIZM Emu
« on: March 16, 2011, 02:30:52 am »
Update:
Here is just a sample executable of what will soon come later. I have 20 instructions emulated now, but they are untested. The emulator accepts the file "spectrum.data" as the compiled source code to be ran with addresses starting at 0xA4000000. So far with my test program, the instructions do not seem to work properly. The PC does increment by 2 with every instruction though. Displayed is the current speed and the contents of R0-R15. Right now the text just scrolls once per second, but I will soon write my function for non scrolling text. If you need any additional debugging tools or a section of the source, feel free to ask because I could quickly supply that. btw, The speed seems really slow for me. My computer is slow to begin with, but I'm averaging 550 Khz at the moment  :P

Instructions:   //sorry, I was too lazy to rewrite them here so I just ripped them from the source
Code: [Select]
#define ADD_v       0x300C
#define MOVi_v      0xE000
#define ADDi_v      0x7000
#define MOVLi_v     0xD000
#define MOVr_v      0x6003
#define MOVLin_v    0x2002
#define MOVLim_v    0x6002
#define MOVLpush_v  0x2006
#define MOVLpop_v   0x6006
#define CMPEQr_v    0x3000
#define DT_v        0x4010
#define SUB_v       0x3008
#define ANDr_v      0x2009
#define NOT_v       0x6007
#define ORr_v       0x200B
#define TSTr_v      0x2008
#define XORr_v      0x200A
#define BF_v        0x8B00
#define BT_v        0x8D00
#define NOP_v       0x0009
#define END_v       0xFFFF
#define PAUSE_v     0xFFFE

467
News / Re: #omnimaga/OmnomIRC are gone
« on: March 16, 2011, 01:48:37 am »
nvm, the logs are down now. btw the way I was wondering if we could partially reinstate IRC in which no one could send messages, but post updates still showed up because that was very useful.

@Souvik: I never mentioned you in my first post. Only those who abuse IRC. Because I have not seen the logs yet, I'm not fit to judge you at all.

Edit: ninja'd from Qwerty. Now I can check the logs.

468
News / Re: #omnimaga/OmnomIRC are gone
« on: March 16, 2011, 01:38:35 am »
@z80man: AFAICT, I didn't break any rules. Don't believe me? Check the logs.
Give me time and date and I will see if you are correct.

469
Site Feedback and Questions / Re: Site funding and maintenance
« on: March 16, 2011, 01:37:02 am »
We have kept Omnimaga ad free for a long time. Not only that, but they tend to not draw that much money. I do like Juju's idea of selling stuff. I would totally buy an Omnimaga t-shirt, hat, and calc case. But I would never buy a game because those should always be free.


Edit: add posters and also school supplies to the list. folders, pens, pencils, etc. and could someone make a mock-up of what the t-shirts could look like?

470
News / Re: #omnimaga/OmnomIRC are gone
« on: March 16, 2011, 01:26:33 am »
This really makes me mad that just a few people who have no feelings others can just abuse OmnomIRC and cause all of us to lose this useful tool. If IRC is to ever be brought back, we have to be swift on taking action and banning those who blatantly contradict the rules. We are community of sharing and support, and if you came here to destroy that, then go somewhere else because we don't want you here.

471
That screen angle looks pretty straight forward to me. Besides who actually looks at the screen with their head directly above the calc? When you have a calc on your desk your viewing angle isn't straight anyways. What concerns me most was what the comment on the battery life. Having to turn the the back light off just to get through the day is unacceptable. I've had my Prizm since Christmas now and haven't changed the batteries once. I use it several hours everyday and have the back light on setting 3 out of 5. In fact it has even exceeded the 140 hour claim that Casio made with just the crappy factory supplied batteries that I've used so far.

472
Miscellaneous / Re: IRC Channel List
« on: March 14, 2011, 03:08:50 am »
Actually every time i go to #prizm there is no one there. Might be because I'm on the Pacific coast.

473
Miscellaneous / Re: IRC Channel List
« on: March 14, 2011, 03:06:32 am »
You can edit it if you like. Remember you are an anit-riot squad member now.

I don't like editing other people's posts with a very good reason :P
Good idea. I should add some random rick rolls to others' posts.  ;)

474
Miscellaneous / Re: IRC Channel List
« on: March 14, 2011, 02:57:53 am »
You can edit it if you like. Remember you are an anit-riot squad member now.

475
UberGraphX / Re: Project Paradise - Ubercalculator
« on: March 11, 2011, 01:48:05 am »
Nice. With the cortex A8 at 800 Mhz that is just behind the iphone 4 which is many times the price of ubercalc. I'm thinking that the hdmi could be expensive so another possible option could be the mini display port if it is cheap enough. It seems that almost all monitors being manufactured today are equipped with a mini display port. Unfortunately TV's rarely have one, but it might replace hdmi soon.  A much cheaper alternative could be a heavier vga.

476
Casio Calculators / Re: SH3 op of the day
« on: March 10, 2011, 01:40:22 am »
Sounds promising. A tutorial for SH3 ASM like ASM in 28 days or Hot Dog's tutorials (the later is more suitable for a greater range of people) would be more than welcome to increase Prizm programming popularity.

Personally I think it should be made suitable for visual people as much as possible, otherwise you're gonna single out a large group of people (like ASM in 28 days did). Calc screenshots of what each relevant example program does (even if camera captures) are more than welcome.
I'm going to edit each of the lessons later to include more details including pictures, charts, and screenshots. I am thinking that this might take a bit more than 28 days. I could divide this tutorial in sections with the first one being shorter and for beginners while an advanced one will teach the rest of the instruction in a much longer time period as I want to eventually teach every single instruction available. Even if most coders will never use half of them.

477
News / Re: 3rd-party PRIZM apps officially possible
« on: March 10, 2011, 01:28:14 am »
As far as I know, emulating a dual cpu device with only a single cpu is near impossible even if the clock speed for the device is three times higher than the emulated one. Reason being is that you have to incorporate multi-tasking on a single threaded device which is hell on any programmer.

478
Casio Calculators / Re: PRIZM Emu
« on: March 10, 2011, 01:08:33 am »
Thanks calc84 for those functions. The header netinet/in.h was not contained by default in my compiler libraries so I will include it with the release to ease the process of compiling for others that may not have it by default.

479
Casio Calculators / SH3 op of the day
« on: March 10, 2011, 12:51:35 am »
You have probably now seen the new Casio Prizm calc. You might also happen to know that it is powered by a SuperH 3 processor. If so, you might want to start coding for it. The purpose of this lengthy tutorial will be to teach you how to write SH3 asm code day by day. I will not be teaching how to do Prizm specific coding, just SH3 coding. I have also designed these tutorials to show parallel between the SH3 and the z80. It is highly recommended that you previously know a machine compiled language such as z80, arm, C, C++, x86, or axe. Other languages such as Java, python, and BASIC can also be used as prior experience, but you may find coding in SH3 more difficult. I also reccomend to everyone, if you have not done already, is to read Qwerty's previous tutorial on SH3 asm here http://ourl.ca/8986. Once I finish this tutorial I will place all of the lessons into a pdf file. I will here document every single instruction on the SH3 and there will be a lesson every day. I may skip a day or week at a time, but I will make up for the days I missed.
__Day One__
__MOV #imm,Rn  0xEnii__
1 cycle, no privilege required, T bit unchanged


I'm going to start this tutorial off with what one of the simplest instructions available. For a z80 coder, it is the equivalent of the ld a,$xx. Because the SH3 is a RISC processor, it only supports 16 bit fixed-length instructions. Therefore only byte values can be stored as immediate data. The hex for this instruction is 0xEnii. Where n is the register (0-15) and ii is a byte of immediate data to be stored in register n. An important note with this instruction is that a sign extension is preformed on the entire 32 bit register even though the data is only a byte. Basically a sign extension is formating the register that way the register is read the same when it is referred to as a long word. The easiest example are positive numbers. Say you want to load $04 into R15. Because $04 is a positive number, 0's will be placed in front of it in the register to reflect this as $00000004. So if you read R15 as a long word later you will see the value of $4 in there. Negative operations are really just the opposite. Say you now want to load $FE aka -2 into R15. Because $FE is a negative value the register is reflected as such. The result would be $FFFFFFFE in R15. Now if you read R15 as a long word you will get the value of -2. Now lets say the cpu did not do a sign extension for the last instruction. Then R15 would read $000000FE. Now if you try to read this, you will get a value of 254 not -2 which you wanted. That now completes lesson one. I hope you are now onto your way into learning SH3 asm. Tomorrow's lesson will teach you how to load data from memory using a displacement value.









480
Casio Calculators / Re: PRIZM Emu
« on: March 09, 2011, 01:57:00 am »
I'm not sure if this will work, but this is what I have now. The idea was to just everything as blocks of chars that way I could store data in big endian
Code: [Select]
int readmemory_long(int pointer)
{
unsigned int r_pointer = pointer - 0x80000000;
if (r_pointer > 0x00FFFFFF) return 0;
int result = 0;
char * p_result = &result;
for (int index = 0; index <4; index++)
{
*p_result = memory[result + index];
p_result++;
}
return result;
}
void writememory_long(int pointer, int data)
{
unsigned int r_pointer = pointer - 0x80000000;
if (r_pointer > 0x00FFFFFF) return;
int * p_data = &data;
for (int index = 0; index <4; index++)
{
memory[r_pointer + index] = *p_data;
p_data++;
}
}

Pages: 1 ... 30 31 [32] 33 34 ... 62