Author Topic: amstrad cpc "acid" test  (Read 18107 times)

0 Members and 1 Guest are viewing this topic.

Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 851
  • Liked: 409
  • Likes Given: 72
Re: amstrad cpc "acid" test
« Reply #100 on: 21:13, 06 August 17 »
Looks like Kev has already updated the wiki but my tests seem to agree, accessing the sprite pixel data disables the sprite for the duration of the read/write. Accessing the position registers doesn't seem to have the same effect.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2246
  • Likes Given: 3477
Re: amstrad cpc "acid" test
« Reply #101 on: 21:36, 06 August 17 »
Looks like Kev has already updated the wiki but my tests seem to agree, accessing the sprite pixel data disables the sprite for the duration of the read/write. Accessing the position registers doesn't seem to have the same effect.
yeah it didn't take that long to test :)

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 851
  • Liked: 409
  • Likes Given: 72
Re: amstrad cpc "acid" test
« Reply #102 on: 22:32, 06 August 17 »

yeah it didn't take that long to test :)


yeah, a few quick and dirty tests demonstrates it. :-)

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2246
  • Likes Given: 3477
Re: amstrad cpc "acid" test
« Reply #103 on: 10:54, 07 August 17 »

yeah, a few quick and dirty tests demonstrates it. :-)
It takes a bit longer to make a nice polished test that tries all of the possibilities in one screen, but that's what I'll do :)

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 690
  • Country: fr
    • urban exploration
  • Liked: 958
  • Likes Given: 602
Re: amstrad cpc "acid" test
« Reply #104 on: 21:16, 07 August 17 »
I'm trying to do a cool SPLIT_ADR test cartridge but i think i have to work better on DMA cause i do not succeed in highlitghting the wait-state effect of DMA


Some capture to show you what it looks like now


But i can already tell:
- low byte of SPLIT_ADR & high byte of SPLIT_ADR are taken into account simultaneously
- Arnold is reading SPLIT_ADR 2 nops too late (the screen goes wrong 2 lines before the real CPC when the code has more NOPS before the register override)


Will work tomorrow on it  ;D


code extract
Code: [Select]


macro InnerSplit64
attente=15
repeat 16
ld e,(hl) : inc h : ld d,(hl) : inc h : ld a,c : ld (#6801),a : ld (#6802),de
defs attente+8,0
exx : ld (hl),b : exx ; <- Here is the register override
if attente>0
defs 15-attente,0
endif
; update counters
inc c : ld a,(hl) : inc l : dec h : dec h : ld (#6804),a ; the purpose is not to test the SSR
defs 64-31-15-8,0
attente=attente-1
rend
mend
use RASM, the best assembler ever made :p

I will survive

Offline ThomH

  • CPC664
  • ***
  • Posts: 57
  • Country: us
  • Liked: 39
  • Likes Given: 14
Re: amstrad cpc "acid" test
« Reply #105 on: 06:03, 27 June 18 »
It depends on the drive. My 3.5" drive is very quick to go ready and not-ready (the test can't measure it).

My 3" drives are much slower and they are not all the same.

I'm a year late, but while having terrible difficulty trying to get good substantive detail on the FDC I stumbled upon this thread.

Almost certainly the 3" drives implement the traditional meaning of RDY: it goes active two index pulses after motor on. The assumption is that proper speed will have been reached by then. How long it takes you to get to two index pulses obviously depends on initial rotation position plus how long your drive motor actually takes to get up to speed.

IBM redefined it. With any drive intended for a PC, RDY is inactive when you insert a disk. It becomes active after the head has stepped. It remains active until the disk has been ejected. So it's no longer related to rotation speed at all, it's effectively a disk-has-changed indicator.
« Last Edit: 17:17, 27 June 18 by ThomH »

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 690
  • Country: fr
    • urban exploration
  • Liked: 958
  • Likes Given: 602
Re: amstrad cpc "acid" test
« Reply #106 on: 15:01, 08 November 19 »
Hey, i discussed with Offset about ACE emulator and testing AND sprites artefacts some people found
During the discussion, we were talking about splitrasters timing changes according to the instruction doing the change (see the previous pages of the topic)
Offset told me the time-shift between instructions used is always the same BUT there is another time-shift between functionnalities used in the ASIC
So i made a little (an incomplete test)
During sprite drawing, i'm changing X, then i'm changing zoom (to zero)
I noticed there is a little difference with changing X, then changing zoom to smaller width (i think it's the real end of the big sprite/2 width)
Then 4 lines doin nothing
Then changing X and changing Y position. This time we can see a very small and delicate line when switching back to full width
The CPR is not finished, i may change the visuals (for a moar visible evidence)
Juste some screens attached to this post


use RASM, the best assembler ever made :p

I will survive