log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- RISCOSbits releases a new laptop solution (News:4)
- Announcing the TIB 2024 Advent Calendar (News:2)
- RISC OS London Show Report 2024 (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
- WROCC November 2024 talk o...ay - Andrew Rawnsley (ROD) (News:2)
- October 2024 News Summary (News:3)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: The Playpen: Over the summer V: Oh god not another Rocky movie
 
  Over the summer V: Oh god not another Rocky movie
  This is a long thread. Click here to view the threaded list.
 
Jeffrey Lee Message #79925, posted by Phlamethrower at 18:21, 7/9/2006, in reply to message #79923
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
In that case, I'll stop pestering you with video related stuff and wait silently for Cineroma :)

So, PicoDrive.

I see that my cunning plan of getting Adrian to do all my work for me has worked.

Are you taking over development Adrian, or do you want me to do some stuff? (frontend/speed throttling/savegames/sound/etc.)

Or would you rather I tackle the horrible NetSurf text areas? :o
plus fixes a couple of APCS violations that :flamethrower: either didn't know about or hoped he could get away with ;)


What were these, anyway?
  ^[ Log in to reply ]
 
Sion Message #79926, posted by blasts of the xtre at 18:23, 7/9/2006, in reply to message #79923
blasts of the xtre
Suppose you were an idiot. Suppose you were a member of Congress. But I repeat myself.

Posts: 326
(vi) If I don't release it, the RO world remains without even half a DVD player :-/

There are some freeware players for RO, although they are not very reliable.

Ergo, I haven't decided and Cino lives suspended in a hopeful state of one day being completed because either (i) I find the time required to hone the code to the degree required to produce a good player, or (ii) a faster RISC OS machine comes along and the existing code can just be tidied up a bit and used as is.
Iyonix II?

Oh, and fwiw,
fwiw?
  ^[ Log in to reply ]
 
Adrian Lees Message #79929, posted by adrianl at 18:54, 7/9/2006, in reply to message #79926
Member
Posts: 1637
There are some freeware players for RO, although they are not very reliable.
There isn't a freeware DVD player. There are a couple of MPEG players, notably KinoAMP, but they're all slower than Cino's MPEG decoder by a good margin, at least on the IYONIX pc.

They are still missing the ability to play CSS-encrypted streams straight from the DVD disc.

Iyonix II?
Do you really think that's going to happen?

fwiw?
For What It's Worth.
  ^[ Log in to reply ]
 
Adrian Lees Message #79930, posted by adrianl at 18:58, 7/9/2006, in reply to message #79925
Member
Posts: 1637
In that case, I'll stop pestering you with video related stuff and wait silently for Cineroma :)

So, PicoDrive.
Later. Still at work. Not ignoring you, honest!
  ^[ Log in to reply ]
 
Sion Message #79931, posted by blasts of the xtre at 19:01, 7/9/2006, in reply to message #79929
blasts of the xtre
Suppose you were an idiot. Suppose you were a member of Congress. But I repeat myself.

Posts: 326
A free DVD player and it's code was announced on TIB forums about a month ago, I can't be bothered to find the thread.

The Iyonix 2 might happen, you never know.
  ^[ Log in to reply ]
 
Michael Drake Message #79940, posted by tlsa at 08:42, 8/9/2006, in reply to message #79931

Posts: 1097
A free DVD player and it's code was announced on TIB forums about a month ago, I can't be bothered to find the thread.
It was Adrian who posted it. It wasn't real.

http://www.iconbar.com/forums/viewthread.php?threadid=7842
  ^[ Log in to reply ]
 
Jeffrey Lee Message #79945, posted by Phlamethrower at 10:14, 8/9/2006, in reply to message #79930
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
So, PicoDrive.
Later. Still at work. Not ignoring you, honest!
Are you sure about that? :P

Until I receive orders, I'll be having a poke at netsurf.
  ^[ Log in to reply ]
 
JMB Message #79946, posted by jmb at 10:18, 8/9/2006, in reply to message #79945
Member
Posts: 467
So, PicoDrive.
Later. Still at work. Not ignoring you, honest!
Are you sure about that? :P

Until I receive orders, I'll be having a poke at netsurf.
Do you value your sanity? :P

Anyway, I suggest getting yourself onto #netsurf on freenode. It'll save you literally minutes of working out how things work ;)
  ^[ Log in to reply ]
 
Adrian Lees Message #79948, posted by adrianl at 10:59, 8/9/2006, in reply to message #79945
Member
Posts: 1637
Are you sure about that? :P
Okay, so I didn't get around to posting last night :-/

Anyway, er. PicoDrive. No, I'm not commandeering it, and I will tidy up and post my modified source soon; hopefully not later than tomorrow.

I'm interested in the hardware emulation level. I've done some work to speed up the VDP and rendering, as you know, but I can optimise it further (something that would be especially useful on RiscPC-era machines, I expect). I actually wrote an ARM-coded Z80 emulator yonks ago, though it has never been proven on real code so is probably full of subtle bugs still. It was my A-level Computing project.

Right now, I'm mostly keen to gather opinions on whether we should stick with PicoDrive and merge Z80 and PSG emulation into it (probably from Generator), or vice-versa, moving Cyclone across.

All that said, you are more than welcome to make some improvements to the NS text areas too ;)



Edit: Oh, the APCS things - it's not generally safe to call C code from assembler from APCS-32/swst code without passing across the stack limit register. As soon as you have a nesting depth with enough local variables to exceed 256 bytes (all that the caller of the asm guarantees) you are going to overflow your stack and suffer unpredictable failures. I know you'd compiled some of the code with no-software-stack (or whatever the option is called), but some of the callbacks execute quite a lot of code (eg. the CheckPC one, and now PicoScan), plus you're scuppered if you try to call printf() for debugging info.

Hence, Cyclone now builds code to supply the sl to all of the callbacks that invokes.


[Edited by adrianl at 12:04, 8/9/2006]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #79949, posted by Phlamethrower at 11:00, 8/9/2006, in reply to message #79946
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Do you value your sanity? :P
My what?

Anyway, I suggest getting yourself onto #netsurf on freenode. It'll save you literally minutes of working out how things work ;)
Yeah, I'll be there shortly, as I can't even get the makefile to work :P
  ^[ Log in to reply ]
 
Jeffrey Lee Message #79950, posted by Phlamethrower at 11:05, 8/9/2006, in reply to message #79948
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
It was my A-level Computing project.
You cheeky cnut. All we got was some poxy Access database :sniff:

Right now, I'm mostly keen to gather opinions on whether we should stick with PicoDrive and merge Z80 and PSG emulation into it (probably from Generator), or vice-versa, moving Cyclone across.
I haven't looked at generator, but it would probably come down to how integrated the different components are (e.g. whether Generator's CPU emulation can easily be lifted out and replaced with Cyclone, and how simple Generator's I/O is)

All that said, you are more than welcome to make some improvements to the NS text areas too ;)
Well I don't have much else to do (:laugh:) until you upload your code.
  ^[ Log in to reply ]
 
Adrian Lees Message #79951, posted by adrianl at 11:05, 8/9/2006, in reply to message #79949
Member
Posts: 1637
Yeah, I'll be there shortly, as I can't even get the makefile to work :P
Ahhhh, I detect a person trying to build it on RISC OS. Have fun! ;)
  ^[ Log in to reply ]
 
Adrian Lees Message #79952, posted by adrianl at 11:08, 8/9/2006, in reply to message #79950
Member
Posts: 1637
It was my A-level Computing project.
You cheeky cnut. All we got was some poxy Access database :sniff:
Well, I chose my own project. For my GCSE project I built a little computer-controlled robot with a speech synthesiser, 2 stepper motors to move around and a couple of LEDs :)

Then I wrote an interpreter ROM for a BASIC-like language in a simple GUI, all in 6502 assembler and had endless hassle trying to squeeze it all into a 16KB ROM image.

Oh, and I landed the poor little critter with a lifetime of social embarrassment by naming him Herbert. (after the small robot guy in Codename Droid)

Well I don't have much else to do (:laugh:) until you upload your code.
Trust me, if you saw some of it, you'd thank for me not uploading it just yet ;)

[Edited by adrianl at 12:10, 8/9/2006]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #79953, posted by Phlamethrower at 11:12, 8/9/2006, in reply to message #79948
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Edit: Oh, the APCS things - it's not generally safe to call C code from assembler from APCS-32/swst code without passing across the stack limit register. As soon as you have a nesting depth with enough local variables to exceed 256 bytes (all that the caller of the asm guarantees) you are going to overflow your stack and suffer unpredictable failures. I know you'd compiled some of the code with no-software-stack (or whatever the option is called), but some of the callbacks execute quite a lot of code (eg. the CheckPC one, and now PicoScan), plus you're scuppered if you try to call printf() for debugging info.
Ah, that. I think I read that there's always a minimum of 200-ish bytes spare stack space when an APCS function is entered, and Cyclone uses very little stack space itself (I think!). And none of the functions it calls (or at least the current implementations of them ;)) should use much stack space either, so it was fairly safe to dispose of the stack checks. And if everything works fine (which it does) then there's no need to add printfs or calls to any other functions :)

Hence, Cyclone now builds code to supply the sl to all of the callbacks that invokes.
That's also an acceptable solution :P

I'm assuming you took the cop-out approach of loading SL before entering each function, instead of rewriting the whole of Cyclone to not clobber that register.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #79954, posted by Phlamethrower at 11:14, 8/9/2006, in reply to message #79951
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Yeah, I'll be there shortly, as I can't even get the makefile to work :P
Ahhhh, I detect a person trying to build it on RISC OS. Have fun! ;)
Well, it's either that or downloading the latest GCC cross compiler and trying to get that working with my ageing cygwin install.

And if the current makefile doesn't work on RISC OS, I can write a proper one which does :P
  ^[ Log in to reply ]
 
Richard Wilson Message #79955, posted by not_ginger_matt at 11:27, 8/9/2006, in reply to message #79954
Member
Posts: 63
Yeah, I'll be there shortly, as I can't even get the makefile to work :P
Ahhhh, I detect a person trying to build it on RISC OS. Have fun! ;)
Well, it's either that or downloading the latest GCC cross compiler and trying to get that working with my ageing cygwin install.

And if the current makefile doesn't work on RISC OS, I can write a proper one which does :P
It's quite trivial to get the makefile running on RISC OS -- you just need to change the GCC path IIRC (it was changed so it works with the autobuilder IIRC.) I also disable the depend file generation as it makes things a bit quicker.
  ^[ Log in to reply ]
 
Adrian Lees Message #79959, posted by adrianl at 15:16, 8/9/2006, in reply to message #79953
Member
Posts: 1637
Ah, that. I think I read that there's always a minimum of 200-ish bytes spare stack space when an APCS function is entered, and Cyclone uses very little stack space itself (I think!).
Upon entry to CycloneRun you eat up nearly a quarter of that space just to preserve the caller's registers. 256 bytes really isn't that much, and you have no control over how many intermediates the compiler decides to store in the functions that are called.

I also suspect that some functions not called by the Cyclone engine were being compiled without limit checking merely by virtue of being in the same source file, causing other hard-to-trace problems.

And none of the functions it calls (or at least the current implementations of them ;)) should use much stack space either, so it was fairly safe to dispose of the stack checks
Actually, tlsa reported corruption of graphics in Sonic 2 IIRC, and it was fixed in a later build when I introduced the sl support.

And if everything works fine (which it does) then there's no need to add printfs or calls to any other functions :)
Then I must be overly-paranoid, because I tend to sprinkle printf()s through newly-written code on the first run just to check that it has sensible values and is doing what I want.

A few builds of PD actually rendered the completed image from within the PicoScan callback (by detecting y < previous y rather than assume an image height), and thus had to invoke my DMA-accelerated, filtered scaling code... which you could see might require a bit more stack ;)

As it happens, I've since moved the rendering code to after the PicoFrame() call and in fact the PicoScan callback does nothing atm, IIRC, because I've changed the VDP to render natively to 32bpp screens too.

I'm assuming you took the cop-out approach of loading SL before entering each function, instead of rewriting the whole of Cyclone to not clobber that register.
I looked for a free register first, of course, but there isn't one AFAICS. So I store it in the Cyclone workspace [r7,#x]. The performance impact should be negligible compared to the cost of the function being called, but I'm anal enough that I still scheduled the loads and stores around the function call ;)
  ^[ Log in to reply ]
 
Jeffrey Lee Message #79971, posted by Phlamethrower at 19:26, 8/9/2006, in reply to message #78966
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Project #2: Write some proper textarea code for netsurf
Textareas will now * no longer strip HTML tags from the default text. However the tags that are displayed may not be the same tags as given in the page source, because they are converted to XML. And they're converted to XML because the HTML4 spec says that textareas should be parsed for tags (Although it doesn't say anywhere what those tags should be used for). This situation doesn't seem to have changed in XHTML2. Maybe some web-pedant (:moss:?) can run the gauntlet of signing up to their mailing list and pointing out the problem :)

I guess the forum also needs to be fixed to not output raw HTML tags in textareas, as the intended processing of them is rather ambiguous.

* Where 'now' is 'as soon as I get SVN access, check in the patch, and the next autobuild is made. And you download that build or make a build of your own using that source'
  ^[ Log in to reply ]
 
Adrian Lees Message #80005, posted by adrianl at 05:20, 10/9/2006, in reply to message #79959
Member
Posts: 1637
Another update for you IYONIX users. Non-IYONIX version and source to follow. There's still a bit more tidying up to do before first source release, partly because I kinda ended up adding the following whilst tidying up:

- Tab to toggle between x1 (320 x 240) and x2 (640 x 480)
- window sized according to display
- full screen mode (320 x 240, or 640 x 480 for x1 or x2);
you'll probably need the !PicoDrive.Modes mode definition added to your MDF for the former
- menu over view window
- proper display of logo in 16bpp and 32bpp modes

and partly because I'm lazy ;) Later ...
  ^[ Log in to reply ]
 
Adrian Lees Message #80006, posted by adrianl at 05:25, 10/9/2006, in reply to message #80005
Member
Posts: 1637
Oh, and the VDP emulation can now double its output horizontally, leading to faster scaled display, though it would still be better (visually) if we can find the processor time to do interpolation.
  ^[ Log in to reply ]
 
ninjah Message #80046, posted by ninj at 00:51, 11/9/2006, in reply to message #79971
Member
Posts: 288
Textareas will now * no longer strip HTML tags from the default text. However the tags that are displayed may not be the same tags as given in the page source, because they are converted to XML. And they're converted to XML because the HTML4 spec says that textareas should be parsed for tags (Although it doesn't say anywhere what those tags should be used for).
Oh. Hmm. I just got round to rewriting the form generation code of a website I'm doing a bit of work for to avoid putting any sort of tags or entities inside textareas, just because of that. So what will it do now if someone sticks a &hellip; inside their textarea?

Still, the version of Browse I sometimes use does get very upset if you try to open a tag inside a textarea (for some reason, it implements the DTD to not allow tags inside textareas, so it autocloses them), so it's probably just safer to only put plain text in there.

Ooh, mind you, my <s are now getting converted to &lt;s and my &s to &amp;s so they can be rendered correctly. Is that going to do the right thing still? Hmm, and I'd better go see what Browse gets up to with those too.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #80047, posted by Phlamethrower at 02:02, 11/9/2006, in reply to message #80046
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Ooh, mind you, my <s are now getting converted to &lt;s and my &s to &amp;s so they can be rendered correctly. Is that going to do the right thing still?
It should do the right thing, yes. The < in your sentence was sent as a &gt; and it's showing up as < in the textarea.

However that's using a month old version of NetSurf. If I try it using the latest version with my patches in, it displays &gt; :(

So I guess the bit I changed to make the tags appear has also stopped the HTML entities from being translated - hopefully I can fix that without breaking the tags.

[Edited by Phlamethrower at 03:03, 11/9/2006]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #80050, posted by Phlamethrower at 08:03, 11/9/2006, in reply to message #80047
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Now fixed!
  ^[ Log in to reply ]
 
Michael Drake Message #80079, posted by tlsa at 10:03, 12/9/2006, in reply to message #79870

Posts: 1097
I think one of the ports-to-other-platforms listed that it had the Z80 emulation working. However the same day that I uploaded my code, I noticed that the PicoDrive website had died. And it still appears to be down now :sniff:
http://www.finalburn.com/ seems to be back up again. :)
  ^[ Log in to reply ]
 
Jeffrey Lee Message #80082, posted by Phlamethrower at 11:42, 12/9/2006, in reply to message #80005
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Another update for you IYONIX users. Non-IYONIX version and source to follow. There's still a bit more tidying up to do before first source release, partly because I kinda ended up adding the following whilst tidying up:

- Tab to toggle between x1 (320 x 240) and x2 (640 x 480)
- window sized according to display
- full screen mode (320 x 240, or 640 x 480 for x1 or x2);
you'll probably need the !PicoDrive.Modes mode definition added to your MDF for the former
- menu over view window
- proper display of logo in 16bpp and 32bpp modes

and partly because I'm lazy ;) Later ...
You're still adding new features, aren't you? :P
  ^[ Log in to reply ]
 
Adrian Lees Message #80085, posted by adrianl at 15:35, 12/9/2006, in reply to message #80082
Member
Posts: 1637
You're still adding new features, aren't you? :P
Nope. I'm too scared to let anybody see my build system currently, especially because it relies upon a little adrian-special called 'objhack' which I've found necessary to get ObjAsm and DrLink to coexist properly.

Some of the code uses OSLib, though perhaps it can be changed to avoid that. Currently 'as' can't parse OSLib header files, so I invariably end up using ObjAsm.

Out of interest, do you have the Acorn/Castle tools, :flamethrower:? I realise it's probably easier to make everything work with 'as' (possibly fixed), so I checked out 'as', got lost in the gccsdk-building maze and wandered off to do something less demoralising.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #80087, posted by Phlamethrower at 16:01, 12/9/2006, in reply to message #80085
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Some of the code uses OSLib, though perhaps it can be changed to avoid that.
I've never needed OSLib for anything :o

Currently 'as' can't parse OSLib header files, so I invariably end up using ObjAsm.
Hmm, I'll have to look into that.

Out of interest, do you have the Acorn/Castle tools, :flamethrower:?
Nope.

I realise it's probably easier to make everything work with 'as' (possibly fixed), so I checked out 'as', got lost in the gccsdk-building maze and wandered off to do something less demoralising.
I think in the past I've been able to build 'as' on RISC OS, all you need to do is rip it out of the source tree and fixup the makefile.
  ^[ Log in to reply ]
 
Adrian Lees Message #80096, posted by adrianl at 18:32, 12/9/2006, in reply to message #80087
Member
Posts: 1637
I've never needed OSLib for anything :o
I use it for all the SWI numbers mostly, but sometimes the parameters that it defines too.

I think in the past I've been able to build 'as' on RISC OS, all you need to do is rip it out of the source tree and fixup the makefile.
Well, it wanted some header files outside its own directory that I hadn't checked out, which meant moving my source directory down the directory tree, and it was probably already 4 o'clock in the morning and <hypnotic suggestion>jmb really wants to fix 'as'</hypnotic suggestion> and yada, yada, yada... ;)

[Edited by adrianl at 19:32, 12/9/2006]
  ^[ Log in to reply ]
 
JMB Message #80097, posted by jmb at 18:53, 12/9/2006, in reply to message #80096
Member
Posts: 467
<hypnotic suggestion>jmb really wants to fix 'as'</hypnotic suggestion>
I do, do I? :P I may take a look after I've hacked NS' pseudo selectors some more.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #80100, posted by Phlamethrower at 19:12, 12/9/2006, in reply to message #80096
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
I've never needed OSLib for anything :o
I use it for all the SWI numbers mostly, but sometimes the parameters that it defines too.
Well if that's all your using it for then it's easy to fix :)
  ^[ Log in to reply ]
 
Pages (10): |< < 7 > >|

The Icon Bar: The Playpen: Over the summer V: Oh god not another Rocky movie