Search found 1562 matches

by Rich Talbot-Watkins
Tue Jun 02, 2020 2:29 pm
Forum: introduce yourself
Topic: Another Hello from Surrey (KT24)
Replies: 11
Views: 320

Re: Another Hello from Surrey (KT24)

Welcome, from another (former) KT24'er!
by Rich Talbot-Watkins
Wed May 20, 2020 11:23 am
Forum: programming
Topic: Interrupts, palette switching and 8 colour MODE1
Replies: 7
Views: 939

Re: Interrupts, palette switching and 8 colour MODE1

Indeed! As your make good use of in your amazing demos! I think scarybeasts Chris had a way of detecting the interlaced field with the Hitachi CRTC on the Beeb, making use of the fact that the dummy raster is only added every other field, and... some other CRTC implementation quirk I've forgotten now!
by Rich Talbot-Watkins
Wed May 20, 2020 9:49 am
Forum: programming
Topic: Interrupts, palette switching and 8 colour MODE1
Replies: 7
Views: 939

Re: Interrupts, palette switching and 8 colour MODE1

On the Beeb, the VSync IRQ comes exactly every 20ms, as it should! On one field, it's delayed by half a scanline, and on the other field it comes after a whole dummy raster. There's no way to tell which field you're on. Seems like the Electron implementation mistimes the VSyncs slightly! One field i...
by Rich Talbot-Watkins
Wed May 20, 2020 8:58 am
Forum: programming
Topic: Interrupts, palette switching and 8 colour MODE1
Replies: 7
Views: 939

Re: Interrupts, palette switching and 8 colour MODE1

In order to make this work in interlaced mode, you'd need to change the following lines:

Code: Select all

  250 LDA#&1E:STA&FE66
  260 LDA#&4E:STA&FE67
Interlaced screens have a different frame period to non-interlaced (exactly 20ms), so the timer period needs to be adjusted accordingly!
by Rich Talbot-Watkins
Mon May 04, 2020 2:40 pm
Forum: development tools
Topic: BeebAsm
Replies: 100
Views: 11292

Re: BeebAsm

Yes, this was exactly the anticipated way of doing this when I first wrote BeebAsm!
by Rich Talbot-Watkins
Sun Apr 26, 2020 7:11 pm
Forum: programming
Topic: Halving mode screen memory
Replies: 5
Views: 333

Re: Halving mode screen memory

On a BBC/Master, here's how to do it: Set 16 visible rows: VDU 23;6,16,0;0;0; Centre the screen: VDU 23;7,27,0;0;0; Set the start screen address to &5800: VDU 23;12,11,0;0;0; VDU 23;13,0,0;0;0; If you're in BASIC, you might also want to set: HIMEM=&5800 so you give back unused video memory to BASIC....
by Rich Talbot-Watkins
Thu Apr 16, 2020 12:08 am
Forum: 8-bit acorn software: classic games
Topic: Diskette / Tape image purism
Replies: 4
Views: 407

Re: Diskette / Tape image purism

Take a gander over to the Archive Submissions subforum, where we're discussing this right now! The thought is to use .hfe files as a disk image format which retains all of the disk data, plus is Gotek compatible.
by Rich Talbot-Watkins
Wed Apr 15, 2020 6:10 pm
Forum: archive submissions
Topic: Starting an archive of HFE protected disc files
Replies: 71
Views: 3186

Re: Starting an archive of HFE protected disc files

I would suggest in order of preference, for new images, capturing a flux image (either kryoflux or greaseweazle or whatever), HFE, and finally FSD. The latter can always be created from the first, a flux image can be recreated from the others, but if you've the luxury of access to the original it's...
by Rich Talbot-Watkins
Fri Apr 10, 2020 12:01 pm
Forum: 8-bit acorn software: classic games
Topic: Exile versions
Replies: 10
Views: 599

Re: Exile versions

I have tried to convert the sprite data to atari format, but i have not succeeded yet. In the code, there is written "Sprite data is 128 x 128, 20 bytes per row." and it does not make sense to me :). This should be "$20 (32) bytes per row"! Hopefully makes more sense like that: 128 pixels at 2bpp. ...
by Rich Talbot-Watkins
Tue Mar 24, 2020 11:17 am
Forum: stardot FORUM
Topic: Site Icon
Replies: 6
Views: 669

Re: Site Icon

Doesn't even look like stardot's got a favicon - at least, I'm not seeing anything in Google Chrome.
by Rich Talbot-Watkins
Tue Mar 24, 2020 11:15 am
Forum: 8-bit acorn emulators
Topic: Latest version of BeebEm
Replies: 74
Views: 8959

Re: Latest version of BeebEm

Does BeebEm emulate video at a cycle-accurate level alongside the CPU yet? Last time I looked (many years ago now) it was batching video update scanline at a time, which could well explain why you're getting a scanline out, even if the VSync pulse width emulation is basically correct.
by Rich Talbot-Watkins
Fri Mar 13, 2020 9:13 am
Forum: 8-bit acorn software: classic games
Topic: Who's ready for... guess that game! ;D
Replies: 97
Views: 5985

Re: Who's ready for... guess that game! ;D

People are naming games I've never even heard of here...
by Rich Talbot-Watkins
Thu Mar 05, 2020 10:09 pm
Forum: programming
Topic: What PRNG algorithm's do BBC BASIC's RND functions use
Replies: 29
Views: 1996

Re: What PRNG algorithm's do BBC BASIC's RND functions use

The other obvious approach (and the one that it looks as if 6502 BASIC does) is to scale the entire range of the RND function into 1...x for RND(x). Basically a multiplication by x/RAND_MAX. No idea what Z80 or ARM might be doing though! Edit: actually 6502 BASIC is scaling up the results of RND(1),...
by Rich Talbot-Watkins
Thu Mar 05, 2020 6:21 pm
Forum: programming
Topic: What PRNG algorithm's do BBC BASIC's RND functions use
Replies: 29
Views: 1996

Re: What PRNG algorithm's do BBC BASIC's RND functions use

An alternative strategy, if you were trying to avoid the cost of a modulus, might be to mask out excess bits (AND 127 in this case), and then try again with the next value in the sequence if it were out of range.
by Rich Talbot-Watkins
Tue Feb 18, 2020 9:13 am
Forum: 32-bit acorn software: other
Topic: RISC OS 2 Kernel Source code
Replies: 6
Views: 665

Re: RISC OS 2 Kernel Source code

I had a quick browse through some of the source code. Amusing to see so much profanity liberally scattered throughout. This stuff probably wouldn't pass code review these days! There are no doubt assembler labels with daft names too (from when you need a label when hurriedly writing code, but don't ...
by Rich Talbot-Watkins
Sun Feb 16, 2020 2:53 pm
Forum: archive issues
Topic: Archive of FSD files?
Replies: 106
Views: 5017

Re: Archive of FSD files?

As far as I know, there wasn't an FDI, only an FSD. And the FSD format has shortcomings here, in that it doesn't model the data properly, but just marks the sector as returning a Data CRC error (&0E) when read, without specifying why. In this case, the fact that there are weak/fuzzy bits requires ex...
by Rich Talbot-Watkins
Fri Feb 14, 2020 10:23 am
Forum: archive issues
Topic: Archive of FSD files?
Replies: 106
Views: 5017

Re: Archive of FSD files?

scarybeasts wrote:
Thu Feb 13, 2020 10:59 pm
[ITRP] 0492: LDA #$7F
[ITRP] 0494: LDX $0490
[ITRP] 0497: LDY $0491
[ITRP] 049A: JSR $FFF1
[ITRP] 049D: LDA #$0E
[ITRP] 049F: NOP
[ITRP] 04A0: CMP #$0E
[ITRP] 04A2: BNE $049D
^ Looks like you've hacked out the test there so that it always loads. LDA #$0E:NOP should presumably be LDA $04A0!
by Rich Talbot-Watkins
Thu Feb 13, 2020 9:48 am
Forum: archive issues
Topic: Archive of FSD files?
Replies: 106
Views: 5017

Re: Archive of FSD files?

Warning -- loading Boulderdash is a real nail-biter, it takes a long time and the disc will pause for seconds at a time while it does some CPU intensive unpacking. Is that just because of the decryption code, or is it because the disk controller is having to retry multiple times to find sectors (ma...
by Rich Talbot-Watkins
Wed Feb 12, 2020 9:39 pm
Forum: archive issues
Topic: Advanced BASIC Editor PACK
Replies: 45
Views: 3248

Re: Advanced BASIC Editor PACK

I think it's fair to say that every language has its idioms, and BBC BASIC is no exception. I think you've sold the construct pretty well, and I can see how it's useful in those contexts. I haven't seen it used very much, and the last time I did was as a hack to allow a one line program to call itse...
by Rich Talbot-Watkins
Wed Feb 12, 2020 8:44 pm
Forum: archive issues
Topic: Archive of FSD files?
Replies: 106
Views: 5017

Re: Archive of FSD files?

Makes sense, yeah! And, in general, the required lengths of things are double for MFM than for FM, e.g. MFM requires 12 zero bytes in gaps, compared to 6 for FM. So it seems like they've done some pretty thorough research for that 1770 emulator!
by Rich Talbot-Watkins
Wed Feb 12, 2020 8:42 pm
Forum: archive issues
Topic: Advanced BASIC Editor PACK
Replies: 45
Views: 3248

Re: Advanced BASIC Editor PACK

Yes, I'm also a big proponent of that, but I'm not sure if BASIC, in general, promotes that concept because it's not strictly scoped: a variable, once created, exists and is visible globally for evermore (unless hidden by an explicit more local scope, in BBC BASIC). With global variables, if they mu...
by Rich Talbot-Watkins
Wed Feb 12, 2020 6:54 pm
Forum: archive issues
Topic: Advanced BASIC Editor PACK
Replies: 45
Views: 3248

Re: Advanced BASIC Editor PACK

In that case what alternative approach would you propose for creating a variable if it doesn't already exist, but not changing its value if it does? Again as I mention in the other thread, such functionality is useful in a cleanup routine, which may be run as the result of an asynchronous event suc...
by Rich Talbot-Watkins
Wed Feb 12, 2020 6:21 pm
Forum: archive issues
Topic: Advanced BASIC Editor PACK
Replies: 45
Views: 3248

Re: Advanced BASIC Editor PACK

Yes, fair enough. I remember from MS BASIC on my old Oric-1 that variables were created on first use (along with the other MS quirks of only the first two characters being significant, and arrays being dimensioned by default to 10 elements!). Still not really fond of the paradigm personally, but if ...
by Rich Talbot-Watkins
Wed Feb 12, 2020 6:18 pm
Forum: programming
Topic: Reducing Basic Program Size
Replies: 34
Views: 1978

Re: Reducing Basic Program Size

I guess I have the C++ orthodoxy of "declare all variables before using them" too ingrained!
by Rich Talbot-Watkins
Wed Feb 12, 2020 4:23 pm
Forum: archive issues
Topic: Archive of FSD files?
Replies: 106
Views: 5017

Re: Archive of FSD files?

Wow, that Boulderdash format is weird. I just looked to see if there were any way it could fit, and even reducing gaps 1 and 3 to zero, it still needs 3146 bytes. So is data slightly more squeezed together (written at less than 300rpm?) or is the sector actually incomplete? Gap1: 0+6 For 9 sectors: ...
by Rich Talbot-Watkins
Wed Feb 12, 2020 12:57 pm
Forum: programming
Topic: Reducing Basic Program Size
Replies: 34
Views: 1978

Re: Reducing Basic Program Size

I'd not spotted that example before, but it's not a safe substitution. 'Klingon%', as a normal dynamic variable, will be deleted by a CLEAR (or CHAIN) but 'K%', as a static integer variable, won't. This could cause a program to misbehave, for example: 10 Klingon% = 123 20 CLEAR 30 Klingon% = Klingo...
by Rich Talbot-Watkins
Wed Feb 12, 2020 12:52 pm
Forum: archive issues
Topic: Advanced BASIC Editor PACK
Replies: 45
Views: 3248

Re: Advanced BASIC Editor PACK

The only time this could be a problem, as far as I can tell, is in the case highlighted by Richard's example in the other thread, where you write: A=A+1 without having previously defined A. While this is apparently valid BBC BASIC, I suspect the language wasn't designed with this in mind, and only w...
by Rich Talbot-Watkins
Sat Feb 08, 2020 7:47 pm
Forum: 8-bit acorn software: other
Topic: Drawing a circle in BBC BASIC
Replies: 66
Views: 5832

Re: Drawing a circle in BBC BASIC

Out of interest, how do you arrive at the 14.74 MHz figure, Richard? I've never seen any rigorous method for determining the pixel aspect ratio on the Beeb.
by Rich Talbot-Watkins
Sat Feb 08, 2020 3:15 pm
Forum: 8-bit acorn software: other
Topic: Drawing a circle in BBC BASIC
Replies: 66
Views: 5832

Re: Drawing a circle in BBC BASIC

Here's a nice Bresenham filled circle routine in BBC BASIC which I wrote with the intention of converting to 6502 a while back: 10 MODE4 20 GCOL 3,1 30 FOR n%=100 TO 10 STEP -10 40 PROCcircle(160,128,n%) 50 NEXT 60 END 70 : 80 DEFPROCplot(x1%,x2%,y%) 90 MOVE x1%*4,1023-y%*4 100 DRAW x2%*4,1023-y%*4 ...
by Rich Talbot-Watkins
Sat Feb 08, 2020 12:40 pm
Forum: archive issues
Topic: Archive of FSD files?
Replies: 106
Views: 5017

Re: Archive of FSD files?

Yes I would prefer to de-interleave clock and data bits, for human readability and for greater compressibility too. Whether this were done at the byte level or greater, I don't know. However in a real disk surface, it'll be possible and even likely that the amount of data per track is not a whole nu...

Go to advanced search