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 ... 8 9 [10] 11 12 ... 62
136
« on: July 25, 2011, 02:16:17 am »
It's the same thing when you're uninstalling too. You can keep on running applications until the system can no longer support them. So over time the gui starts to fall apart and other features disappear but luckily firefox tends to work till just about the end
137
« on: July 18, 2011, 02:58:55 am »
Ooo, I do, I do! I use C#! It's my favorite programming language!
So this is kind of like a C#-ASM interpreter?
Looks more like a way to embed asm code inside of C# programs. I don't normally use C# but this is pretty cool to see. It really helps with speeding up the bottlenecks while keeping the simplicity of the language
138
« on: July 15, 2011, 12:47:53 pm »
I'll be participating but Qwerty already announced that he won't enter due to his other projects such as Khavi. I do want to get Walnut running but I have doubts it will be reliable enough by the end of the contest so I'll recommend sticking with g3a for the time being. I was thinking about doing a programming tool but that would be a very long term project and not suited for this kind of contest. Instead I'll be doing a port of a very popular iPhone game and will keep everyone updated with screenshots and the like for the duration of the contest.
139
« on: July 14, 2011, 11:46:21 pm »
The color depth could also be reduced, from 16 to 8 bit.
That's a possibility but I think that should be done on a frame by frame or segment of frames basis. As in there shouldn't be a single palette for the entire video but instead each frame or segment of frames should define a new one. You could even go as far to define an 8 bit palette for each frame then use 8 bit DXT1 compression for that frame. I'm also thinking it would be a good idea to interlace the video to increase speed while cutting size in half.
140
« on: July 14, 2011, 10:59:27 pm »
JPEG compression is very impressive considering the complexity of that format. Other formats we could try are PNG but I'm unfamiliar with how long it takes to decompress compared to JPEG. One format worth trying is DXTC http://en.wikipedia.org/wiki/S3_Texture_Compression which is the standard format for DirectX textures. It will compress a bmp image into a little less than half the size it is normally and can be drawn very quickly. Because the images are being played back in video format there are a lot of size optimizations that can be done on the DXTC format such as keeping some or all of the palette data for the next frame. For just standard DXT1 compression I've been writing a super fast asm routine to decompress the images and I think I have an idea for a video based version of DXT, both of which I'll post once I finalize them.
141
« on: July 13, 2011, 06:30:22 pm »
* z80man picks up his dormant 84+ and starts porting Crysis
142
« on: July 13, 2011, 06:07:16 pm »
You shouldn't have to overclock the Prizm to get a high framerate. At 58 Mhz a framerate of over 30 hz should be possible. What method are you using to draw the video. A slowdown will occur if you use pixel on commands instead of using the VRAM as a buffer. Also if you did any compression that would contribute to the slow down.
A framerate of 20Hz is the maximum I would expect with the OS screendraw routines.
With the OS routines yes, but you can copy data to the VRAM faster than the OS can draw the screen. Just like for example with the PC game Half Life 2 most modern computers can get framerates near 200 fps even though most screens are limited to 60 hz.
143
« on: July 13, 2011, 03:54:15 pm »
You shouldn't have to overclock the Prizm to get a high framerate. At 58 Mhz a framerate of over 30 hz should be possible. What method are you using to draw the video. A slowdown will occur if you use pixel on commands instead of using the VRAM as a buffer. Also if you did any compression that would contribute to the slow down.
144
« on: July 10, 2011, 04:16:06 pm »
Think of the identifier as this. On Omnimaga my profile number is 1315 which SMF uses internally to organize all of my posts and account info. But to myself and every other user I'm seen as z80man. A similar concept is being followed by Walnut. Internally Walnut will use "z80m" for me or I could also set is as my initials such as "jtm ". The user though will rarely ever see those details but will instead see my full written out name as "z80man" which is also included in the Walnut packet. Because the name is null terminated I could set it to Adolph Blaine Charles... without any issues as long as there is also a 4 character identifier associated with that name.
145
« on: July 09, 2011, 06:20:23 pm »
Based on what you've written in this post as well as the reply to Kerm's post on Cemetech, it seems like you're losing quite a bit of the flexibility that Qwerty.55's format was going to have. You have identifiers for which shell the program is for, and even what version of the SDK it was made with... These don't really have a purpose, unless you plan to treat programs that are for different shells/made with different versions of the SDK in separate ways. This is bad, because then old versions of shells won't be able to read those new files!
On the 8x calcs, programs from old shells work in new shells, but not vice-versa. Sometimes someone might want to use an older shell because they like it better, but they won't be able to do that. If we design this format in a good way, we might be able to avoid that problem completely on the Prizm. Programs should be made for all Prizm shells - not a specific shell on the Prizm. The format that Qwerty.55 suggested allowed new shells to add new features in files by adding new packages, while still allowing the files to work correctly with older shells, unless the packet was "critical", as indicated by a list.
There are also a few things with the packets that you currently have that I would like to be changed. (It's a good idea to split your packets a bit so that you don't have everything in one packet!)
1. Unlike Qwerty.55's format, the size of the packets don't seem to be stored anywhere. How is the shell supposed to know where they end in cases where the size of the packet isn't obvious? 2. Like I said before, I don't see the point in storing the SDK version and the program's shell. 3. The description of the program shouldn't be in the critical packet, because it's not necessary to include a description for every program. 4. The checksum should also be optional. Don't place it in the critical packet. 5. It's better to indicate main() by giving it a packet ID. "file offset to main" shouldn't be necessary. 6. Does "size of main" have a purpose? 7. Why do we need to include the first four characters of the author's name? 8. Please don't require programmers to include an author icon if they don't include an author name. The icon should be a separate packet. 9. Why is the author's name stored twice, once before the icon and once after?
Okay I'll try to answer these questions as best as I can 1. Thinking about it now, to allow for newer programs to run on older shells the size of a packet should be the second word included that way Walnut can skip past unfamiliar packets. Otherwise Walnut was going to rely on knowing the size of the packet based off the SDK version but that can now be fixed. 2. The SDK version number allows for Walnut to know which version of the packet layout is being used. Having an SDK version number higher than the shell number shouldn't prevent a program from running but may cause some errors in displaying data. The way each packet is arranged shouldn't change once Walnut is released so that is why I want to get all the issues out now by making this public. Also for the "wnut" that is just an identifier that the shell uses so it knows that the file was designed for Walnut and uses the Walnut packet layout. It is just like how java .class files start with 0xcafebabe as an identifier. 3. That can be moved easily to another packet but even if the developer doesn't want to include a description that field will only take 1 byte if blank. The description is like a subtext that can be displayed with the title. 4. The reason for the checksum being there was that if there was a binary error in the header or executable then there is a possibility that the calculator could crash or even brick. For example if the FRQCR field was corrupted Don't forget that the SDK will calculate that on it's own when a project is built similar to what mkg3a already does. 5. A packet for main is also doable. The reason for having the offset was so that it could be quickly located and wouldn't have to be searched for. 6. Size of main just means the size of the executable. This is very important as it affects what Walnut will write to the MMU when the program begins. 7. The first 4 letters could also be more like their initials. This data will never be displayed to the user but is so that Walnut has the ability to organize programs by author if the user wishes to do so. 8. They don't have to include an icon. By setting the icon compression mode to 0 it means that there is no image and Walnut will not expect one. 9. Whoops
146
« on: July 09, 2011, 12:36:00 am »
..yet the avatar clearly has a z80 game running
I do believe he is/was making a z80 emulator for the casio.
That's exactly what I was doing. Except that isn't a screen shot, but more like what it will look like once finished. And I'm making the grayscale with guidance from thepenguin.77 so that's perfect and a better emulation than even Wabbit
147
« on: July 08, 2011, 08:19:17 pm »
For the Walnut shell all machine executable programs will use the gxp format which is named after the popular 8xp extension used on the 83+. The packet design was originally designed by Qwerty.55 for use in a Prizm shell and has it's advantages in a variable size header that can be modified in the future with ease. The layout is in packets with each holding a different category. All are optional except for the first one which holds important information such as the name of the program. Other data such as the icon and advanced start up options are available in different packets. This is the current packet layout for the first version of Walnut. It is not set in stone and also keep in mind that the Walnut SDK will fill out these fields.
//all packets must be long word aligned
packet 0: required word: identifier 0x0000 word: SDK version long: Walnut identifier "wnut" long: file offset to main long: checksum of entire file excluding this long: size of entire file long: size of main char: null terminated program name char: null terminated description //end of packet 0
packet 1: start-up info word: identifier 0x0001 word: execution mode (0x0000: from flash in virtual memory, 0x0001: from ram in virtual memory, 0x0002: from flash in the p1 sector, 0x0003: from ram in the p1 sector, 0x0004: from flash in the p2 sector, 0x0005: from ram in the p2 sector) long: requested origin (should be set to 0xffffffff in most cases for the default origin based off the previous mode choice) long: value to be written to the FRQCR 0xffffffff for don't modify //end of packet 1
packet 2: author info word: identifier 0x0002 word: blank for alignment long: author's 4 initial identifier eg "z80m" char: null terminated author name char: author logo compression mode (0x00: no image, 0x01: monochrome, 0x02: 8 color, 0x03: 256 color using Walnut's palatte, 0x04: 256 color with included palatte, 0x05: 16 bit bitmap, 0x06: 16 bit dxt) image data: all author icons are 16x16 pixels char: null terminated author name //end of packet 2
packet 3: program icon word: identifier 0x0003 word: height word: width char: icon compression mode (0x00: no image, 0x01: monochrome, 0x02: 8 color, 0x03: 256 color using Walnut's palatte, 0x04: 256 color with included palatte, 0x05: 16 bit bitmap, 0x06: 16 bit dxt) image data: //end of packet 3
148
« on: July 08, 2011, 02:07:17 am »
* z80man cries :'( I'll miss you pal
149
« on: July 08, 2011, 01:27:38 am »
Haha who needs 1000 posts when you have staff status. and if there was any confusion earlier, my title means that I betrayed TI and joined the Casio legion
150
« on: July 08, 2011, 01:25:23 am »
My life is now complete and death will descend upon me like a dove. j/k
This is more than epic, it is cipe which is epic spelled backwards. Still trying to send to my calc but what else should I expect from what is almost the max possible app size on the 84+ SE
Pages: 1 ... 8 9 [10] 11 12 ... 62
|