Search found 451 matches

by Dio
Sat May 11, 2013 8:28 pm
Forum: Development
Topic: Notator
Replies: 7
Views: 8975

Re: Notator

Low-latency extremely accurate input timing is by far the hardest thing to handle in an emulator. Generally the emulator will complete emulation for an entire video frame in a couple of ms, which implies it idles doing nothing for 10+ms. All the events that arrive in that time then get delivered 'si...
by Dio
Sat Apr 20, 2013 12:25 pm
Forum: 680x0
Topic: Bad Mood : Falcon030 'Doom'
Replies: 2353
Views: 400325

Re: Bad Mood : Falcon030 'Doom'

How about a conservative method where only a percentage of the objects are updated each tick? In particular, if there is visibility between A and B, there's probably no need to check if it disappeared for 5 ticks or so, and it's not unrealistic.
by Dio
Fri Apr 12, 2013 8:19 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

If it changes on a dynamic basis, it's nothing to do with the wakeup state. Perhaps more likely then is a setup time violation somewhere in the chipset, so sometimes something clocks on time and sometimes it clocks a cycle later. This can be seen on the Spectrum, for example, because INT is asserted...
by Dio
Fri Apr 12, 2013 12:36 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

I'm not sure that those are two different cases. Although it's possible: I've shown with a logic analyser that there are 4 different wake up states, they correspond to the cycles of latency from DE being asserted by Glue to MMU issuing the first video access cycle. The two states that can be detecte...
by Dio
Wed Apr 10, 2013 9:19 am
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

ljbk wrote:As far as i know, the SW can not influence the hardware wake up states.
At the outside, it's possible it could be done with the RESET instruction (which some of the custom chips can see but others can't) but even then I think it very unlikely.
by Dio
Tue Apr 09, 2013 12:29 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

What I'm interested to know is whether *just* the base address can be moved with syncscroll at a fine grain, and the CPU left free. It's possible to get the shifter out of sync and start the screen 4, 8 or 12-pixel increments, but it's difficult and not a very commonly used technique. (It may not b...
by Dio
Tue Apr 09, 2013 8:45 am
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

1K in character modes, in bit-mapped modes it's about 8K, as I understand it. Given that an 8MHz 68000 has about 16x the blit-ability of a 1MHz 6502 (peak rate of about 2M 16-bit transfers/s vs. about 0.25M 8-bit transfers/s), but only 4x the video RAM, I would expect the STE to be superior if using...
by Dio
Wed Apr 03, 2013 6:37 am
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

The other thing to remember is that given all the features they did have in common - CPU, keyboard, disk drive only, RAM, WIMP OS, etc. there was much less obviously to pick between the Amiga and ST. Spending between half again and twice as much money for 'slightly better graphics and sound' was str...
by Dio
Tue Apr 02, 2013 7:27 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

Yes, you can't write the low byte in the ST, only the STE. Put a bunch of us beardies in a room and we will fight about whether that, bitplanes or the crappy sound chip was Atari's most facepalm-worthy failing... although, as I noted, it gets very expensive in video memory if you don't also have a w...
by Dio
Tue Apr 02, 2013 5:44 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

That's the way I did it. Just threw bytes at the screen. As mc6809e says, works fine at 25fps but it's very hard to do 50fps unless you cut the window size down a lot.
by Dio
Tue Apr 02, 2013 5:36 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

by my reckoning there are only about 3500 accesses remaining per frame if the CPU uses the rest of the time to blit to the frame buffer with MOVEMs, so 50 FPS is possible, but there isn't much time for anything else. Yeah, the limit is 40k word accesses per frame, with the screen taking 16k accesse...
by Dio
Tue Apr 02, 2013 12:01 pm
Forum: Hatari
Topic: Main HW / Emulator constants (MFP/CPU/DMA sound)
Replies: 32
Views: 8155

Re: Main HW / Emulator constants (MFP/CPU/DMA sound)

Yeah, I think most 1986 machines have the -38A Glue, even STMs. I haven't yet seen a -38 that's got a 1986 time code on the Glue itself (or in an STF case) - the latest I've seen as a build date is Q1 86 (although I don't have clear data for Q2/Q3, so the most I can say for certain is that the -38A ...
by Dio
Mon Apr 01, 2013 9:59 pm
Forum: Hatari
Topic: Main HW / Emulator constants (MFP/CPU/DMA sound)
Replies: 32
Views: 8155

Re: Main HW / Emulator constants (MFP/CPU/DMA sound)

Is yours the same revision, etc. as this one, which has also has the 'unusual' crystal?

Image
by Dio
Mon Apr 01, 2013 9:53 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

For backgrounds, the advantage of shifting in granularities above 1 pixel is that it reduces the memory cost of the preshifts. For 4-pixel granularity horizontal scrolling (e.g. Time Bandit) you only need 7x the cost of one block for the prerotations. Interestingly, you can also use unusual tile wid...
by Dio
Mon Apr 01, 2013 7:29 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

This to me is THE trick to get high frame rates on the ST. The 68000 is mostly memory bandwidth limited so the fastest rates are obtained by simply minimizing the number of memory accesses. Sure, but it's only useful in games where the playfield is static. I moved to it for the PC version of Starba...
by Dio
Mon Apr 01, 2013 7:17 pm
Forum: Hatari
Topic: Main HW / Emulator constants (MFP/CPU/DMA sound)
Replies: 32
Views: 8155

Re: Main HW / Emulator constants (MFP/CPU/DMA sound)

From this, it seems the audio dma reads data as soon as the shifter doesn't need to be filled anymore for this line. Yeah, that's what I'd expect, the simplest logic is just to insert the FIFO-not-full signal (I presume this is SREQ from the GST shifter to the MCU, on the board) as the next logic o...
by Dio
Mon Apr 01, 2013 9:21 am
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

so it must be a preshift if it is smooth scrool on ST... :) Unless it's an STE, I reckon so, and even then you can't do the full screen at 50Hz, 25Hz is the best you can do. You can use sync-scrolling if you only need 16-pixel alignment a la Enchanted Lands. Do you have some demo of that shooter th...
by Dio
Sun Mar 31, 2013 8:16 pm
Forum: Coding
Topic: horizontal scrolling on ST
Replies: 576
Views: 194264

Re: horizontal scrolling on ST

how then is it possible to scroll entire 32KB screen per pixel on ST at all?? :) It's not at 50Hz without hardscrolling. Lost a bet with Tim Moss about that 20 years ago :) . 160256 cycles per frame means maximum of 40k memory accesses per frame, so the most data you can blit even with movems in a ...
by Dio
Sun Mar 31, 2013 7:58 pm
Forum: Hatari
Topic: Main HW / Emulator constants (MFP/CPU/DMA sound)
Replies: 32
Views: 8155

Re: Main HW / Emulator constants (MFP/CPU/DMA sound)

Your method makes sense (although it relies on hidden numbers such as the cycles/VBL, so I didn't choose to go that route). Also agreed that while I may have lots of numbers in my head I have just failed my calculator-operating roll. 8.0071 it is. I couldn't make that code work in isolation so I can...
by Dio
Sun Mar 31, 2013 6:42 pm
Forum: Hatari
Topic: Main HW / Emulator constants (MFP/CPU/DMA sound)
Replies: 32
Views: 8155

Re: Main HW / Emulator constants (MFP/CPU/DMA sound)

Presuming you mean that the /4 freq is 8.0071MHz, that's a new one on me. Any chance you could post a pic of the motherboard (detailed enough to read the marks on the chips)? The frequencies most usually seen in standard STs are: PAL and Peritel: 32.084988 -> 8.021247MHz NTSC pre STE: 32.0424 -> 8.0...
by Dio
Mon Mar 25, 2013 8:50 pm
Forum: Development
Topic: Program counter and exception
Replies: 51
Views: 45967

Re: Program counter and exception

Yeah, movem is astoundingly tricksy. My best guess at this point is that it set the final PC back into PC before the moves start, although the actual fetch clearly happens at the end from both prefetch testing on a real machine and danorf's tables. Why it finds it convenient to do it this way is ast...
by Dio
Wed Mar 20, 2013 10:24 pm
Forum: Development
Topic: Program counter and exception
Replies: 51
Views: 45967

Re: Program counter and exception

:D Note that I doubt all instructions use exactly the same EA access rules. movem is one example, and another is move.w d0,* - it looks like the EA setup for the destination address always sees the clock cycles of the fetches for the destination EA calculation, whatever the addressing mode is. This ...
by Dio
Wed Mar 20, 2013 9:18 pm
Forum: Development
Topic: Program counter and exception
Replies: 51
Views: 45967

Re: Program counter and exception

Anything interesting for abs.L and abs.W?
by Dio
Tue Mar 19, 2013 9:29 pm
Forum: Development
Topic: Program counter and exception
Replies: 51
Views: 45967

Re: Program counter and exception

That would be expensive - a full (24-bit!) adder costs a lot more than a simple +(1/2/4), and it can be done in the ALU since there's plenty of time during the prefetches. The more I think about it, the more I'm sure doing PC+N writeback in the ALU is the main reason for the BE / AE PC stacking.
by Dio
Mon Mar 18, 2013 11:17 pm
Forum: Development
Topic: Program counter and exception
Replies: 51
Views: 45967

Re: Program counter and exception

Here's a pair of wild guesses, based on the fact that the ones that don't increment are using the ALU during the prefetch(es) - to do the more complex displacement+reg or displacement+reg+reg operation - while the ones that do increment PC with each fetch don't. 1. With the ALU busy, there is no wri...

Go to advanced search