exxos blog - random goings on

Blogs & guides and tales of woo by forum members.
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

Just about figured out some firmware for the flash circuit. I'm going to have a jumper which will disable the flash decoding and enable writing to the flash. This means the motherboard ROM's will be used to boot from, which will allow the flash to be programmed in TOS206 space.

While technically one flash bank can run TOS and another flash bank to program, this isn't a good option as the flash is naturally blank when its new. So booting from the MB ROM's means people can boot up as normal and program whatever the hell they like into the flash banks. Then switch the jumper back to enable flash booting, which will disable the MB ROM's and boot from the flash. It then acts like dualtos boards where moving a jumper selects the bank.

Next... back to hisoft basic to start on the software side of things.. oh the fun...
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

The flash firmware isn't going well. For some bizarre reason, when I wire the flash enable to TOS206 space, the ST doesn't boot up at all. If I tie it to RESET so it keeps the flash enable high, it boots fine.. TOS206 space.. nope..

I know the code for TOS decoding is right as I use it on all my boosters.. So after 4 hours, I have no idea whats going on :( Flash enable is always high on the board, the same as when its connected to RESET.. so shouldn't be any difference.

I did wonder if there was a bad address line causing the flash to enable wrongly, but I never see enable go low on scope.. and the RTC address decodes fine.. so don't think it can be that..

:shrug: :shrug: :shrug: :shrug:
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

I figured it out.. this is stupid...

If I do this..

Where ADDR goes HI on TOS206 space, so inverted means OE goes low... OR CPU_AS is high then OE is high.. it doesn't work....

Code: Select all

FLASH_OE=  !ADDR:[E00000..EFFFFF] # CPU_AS;

This DOES work...

Code: Select all

PINNODE = TMP;
TMP =  ADDR:[E00000..EFFFFF];
FLASH_OE = !TMP # CPU_AS;
Only difference is I dump ADDR into another variable first...

So I am going to make a assumption at this point that the compiler screws up (without warning) , again assuming there is to many product terms for that IO pin (will try and check later on the datasheet).
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

Finally got a dump of the flash .. of course all 1's as its erased by default..

IMG_4429.JPG
IMG_4429.JPG (58.71 KiB) Viewed 3904 times
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

Been trying to read the Flash ID with no luck...

datasheet says...

1.jpg
1.jpg (59.98 KiB) Viewed 3897 times

So I do..

Code: Select all

POKEW (&HE05554),&HAAAA
POKEW (&HE02AAA),&H5555
POKEW (&HE05554),&H9090
I can't read 5555 because I get address error. So have to use 5554 instead. I also put the data twice as I have 2 ROM's on the bus.

Then to read..

Code: Select all

PRINT HEX$(PEEKW(&HE00000))
So according to...
2.jpg
2.jpg (30.61 KiB) Viewed 3897 times
I should get back "BF" in at least one side of the databus, but I just get back all 1's :cry:

I poke the values (write) to the bus as my PLD logic will drive #WE low during those accesses. So its the same as the timing diagram.

The only difference is I keep CE low all the time... BUT..

3.jpg
3.jpg (43.54 KiB) Viewed 3897 times

.. It seems it shouldn't actually matter anyway as #WE will go high at the end of the bus cycle anyway. So data should be latched.

The only other issue might be I drive OE low on a flash address.. when during command writes its actually high.. So could be a conflict.. So will look into that next...

EDIT:
Nope, still the same :roll:

:shrug: :shrug: :shrug:
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
keli
Posts: 97
Joined: Tue Aug 22, 2017 1:34 pm

Re: exxos blog - random goings on

Post by keli »

exxos wrote: Mon Jul 01, 2019 9:03 pm

Code: Select all

POKEW (&HE05554),&HAAAA
POKEW (&HE02AAA),&H5555
POKEW (&HE05554),&H9090
I can't read 5555 because I get address error. So have to use 5554 instead.
Wouldn't you have to shift the addresses one bit to the left? I'm assuming you have connected the 68k A1 to the A0 line and are not decoding the LSB/USB to generate byte level access?

Code: Select all

POKEW (&HE0AAAA),&HAAAA
POKEW (&HE05554),&H5555
POKEW (&HE0AAAA),&H9090
Edit: corrected my math
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

Hmm.. Interesting.. I'm not using LDS,UDS no. Will give it a try when I get home.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
keli
Posts: 97
Joined: Tue Aug 22, 2017 1:34 pm

Re: exxos blog - random goings on

Post by keli »

exxos wrote: Wed Jul 03, 2019 10:35 am Hmm.. Interesting.. I'm not using LDS,UDS no. Will give it a try when I get home.
Yeah your comment on having two roms on the bus gave me the hint. Since you have interleaved bytes from each one, you'll have to double up the addresses. E00000 is byte 0 on the first rom, E00001, byte 0 on the second rom, E00002 maps to address 1 on the first rom, E00003 is byte 1 on the second, etc. etc....
User avatar
exxos
Site Admin
Site Admin
Posts: 23498
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: exxos blog - random goings on

Post by exxos »

keli wrote: Wed Jul 03, 2019 6:17 pm Yeah your comment on having two roms on the bus gave me the hint. Since you have interleaved bytes from each one, you'll have to double up the addresses. E00000 is byte 0 on the first rom, E00001, byte 0 on the second rom, E00002 maps to address 1 on the first rom, E00003 is byte 1 on the second, etc. etc....
Yeah I can understand that.. Though high and low byte order, I don't see how it would double the address ? I could ready E00000 and then E00001 on byte access, but I just read E00000 in 16bit and read the lot, so both addresses are accessed at once.. The address number doesn't change..
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
keli
Posts: 97
Joined: Tue Aug 22, 2017 1:34 pm

Re: exxos blog - random goings on

Post by keli »

exxos wrote: Wed Jul 03, 2019 6:37 pm
Yeah I can understand that.. Though high and low byte order, I don't see how it would double the address ? I could ready E00000 and then E00001 on byte access, but I just read E00000 in 16bit and read the lot, so both addresses are accessed at once.. The address number doesn't change..
Edit Even though you're accessing both bytes at once, the second byte still has its own address.

That's because you are doing a 16bit access. POKEW writes two bytes to memory - the higher half of the value at the given address and the lower at address+1. The 68000 can only do that at word boundaries, that's why you get an address error when writing a word to an odd address. In other words: memory on the 68000 is byte addressable, but accessed on the bus in 16 bit words (using UBS and LBS to mask off the unwanted half for byte accesses).
Post Reply

Return to “MEMBER BLOGS”