not in the books : lda#&80:sta &fe30

discussion of beeb/electron applications, languages, utils and educational s/w
duikkie
Posts: 2655
Joined: Fri Feb 07, 2014 3:28 pm

not in the books : lda#&80:sta &fe30

Postby duikkie » Wed Aug 23, 2017 9:51 am

explain this please for me :)

ldx &fe30
lda #&80
sta &fe30
ldy #0
.loop
lda &1100,y
sta &8A00,y ?????????????????????????????????
iny
bne loop
stx &fe30


&fe30 this is 4 bit (00..0f) write only register for rom :)
so #&80 is bit 7 ??????

and writing to &8a00 ???

cmorley
Posts: 219
Joined: Sat Jul 30, 2016 7:11 pm
Location: Oxford

Re: not in the books : lda#&80:sta &fe30

Postby cmorley » Wed Aug 23, 2017 10:03 am

Shadow RAM is the top bit IIRC. What is the disassembly from? Perhaps B+ or some of the expansion board manufacturers (Watford/Solidisk) made FE30 readable for the shadow bit?

Edit(s): No, it is the MOS graphics memory select on the Master (4K RAM &8000-&8FFF) or extra 12K on B+. (Shadow is &FE34 the ACCCON). Just checked the NAUG.
Last edited by cmorley on Thu Aug 24, 2017 5:28 am, edited 2 times in total.

User avatar
Rich Talbot-Watkins
Posts: 1089
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca

Re: not in the books : lda#&80:sta &fe30

Postby Rich Talbot-Watkins » Wed Aug 23, 2017 2:17 pm

This is redefining the character set on the Master. Only ASCII codes 64 to 95, curiously.

duikkie
Posts: 2655
Joined: Fri Feb 07, 2014 3:28 pm

Re: not in the books : lda#&80:sta &fe30

Postby duikkie » Wed Aug 23, 2017 7:18 pm

no more :)
but it do nothing for the normal beeb b ?

Rich Talbot-Watkins wrote:This is redefining the character set on the Master. Only ASCII codes 64 to 95, curiously.

User avatar
jgharston
Posts: 2658
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield

Re: not in the books : lda#&80:sta &fe30

Postby jgharston » Wed Aug 23, 2017 11:56 pm

New Advanced User Guide, and various other place:
ROMSEL at &FE30
b7=0=ROM at &8000-&9FFF, 1=shadow memory in at &8000-&9FFF
b3-b0=sideways ROM number

So, &00-&0F pages in ROM &0-&F, &80-&8F pages in ROM 0-F with RAM overlaid the first 4K. With filing systems that support it *SAVE FF0F8000+4000 would save ROM 15, *SAVE FF8F8000+4000 would save the overlaid RAM with ROM 15 paged in. Similarly, with my *MDUMP command, *MDUMP FF0F8000+80 dumps bytes from ROM 15, *MDUMP FF8F8000+80 dumps bytes from the overlaid RAM.

I can't remember the original source:

Code: Select all

Master: Andy workspace at &8000-&8FFF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&8000-&800F Start addresses of 16 soft key strings (low bytes)
&8010       End address (+1) of last string (low byte)
&8011-&8020 Start addresses of 16 soft key strings (high bytes)
&8021       End address (+1) of last string (high byte)
&8022-&83FF Soft key data
&8400-&87FF VDU driver workspace
&8800-&88FF VDU variables
&8900-&8FFF Font definition, characters 32-255

See AllMem.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
Rich Talbot-Watkins
Posts: 1089
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca

Re: not in the books : lda#&80:sta &fe30

Postby Rich Talbot-Watkins » Thu Aug 24, 2017 7:54 am

duikkie wrote:no more :)
but it do nothing for the normal beeb b ?

It could likely crash a BBC B, as the code is reading from &FE30, which is a write-only register on a regular Beeb. So when X is written back to &FE30 at the end, it'll be writing an undefined value. On the Master, &FE30 is read/write.

User avatar
kieranhj
Posts: 484
Joined: Sat Sep 19, 2015 10:11 pm
Location: Farnham, Surrey, UK

Re: not in the books : lda#&80:sta &fe30

Postby kieranhj » Fri Aug 25, 2017 11:59 am

jgharston wrote:See AllMem.

Ahh, thank you - I was looking for a reference on Hazel:

Code: Select all

Pages &C0-&DF (192-223) - MOS ROM, Hazel workspace
==================================================
&C000-&DBFF Sideways ROM workspace
&DC00-&DCFF OSCLI string buffer
&DD00-&DEFF Transient command workspace
&DF00-&DFFF Filing system control variables

To see whether I could use any of the RAM for my Prince of Persia port. Since I need the FS to be active to load levels this seems more trouble than it is worth. I can steal all of Andy though. :)


Return to “software: other”

Who is online

Users browsing this forum: No registered users and 5 guests