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...
exxos blog - random goings on
Re: exxos blog - random goings on
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.
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.
Re: exxos blog - random goings on
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..
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..
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.
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.
Re: exxos blog - random goings on
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....
This DOES work...
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).
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;
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.
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.
Re: exxos blog - random goings on
Finally got a dump of the flash .. of course all 1's as its erased by default..
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.
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.
Re: exxos blog - random goings on
Been trying to read the Flash ID with no luck...
datasheet says...
So I do..
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..
So according to...
I should get back "BF" in at least one side of the databus, but I just get back all 1's
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..
.. 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
datasheet says...
So I do..
Code: Select all
POKEW (&HE05554),&HAAAA
POKEW (&HE02AAA),&H5555
POKEW (&HE05554),&H9090
Then to read..
Code: Select all
PRINT HEX$(PEEKW(&HE00000))
I should get back "BF" in at least one side of the databus, but I just get back all 1's
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..
.. 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
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.
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.
Re: exxos blog - random goings on
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?exxos wrote: ↑Mon Jul 01, 2019 9:03 pmI can't read 5555 because I get address error. So have to use 5554 instead.Code: Select all
POKEW (&HE05554),&HAAAA POKEW (&HE02AAA),&H5555 POKEW (&HE05554),&H9090
Code: Select all
POKEW (&HE0AAAA),&HAAAA
POKEW (&HE05554),&H5555
POKEW (&HE0AAAA),&H9090
Re: exxos blog - random goings on
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.
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.
Re: exxos blog - random goings on
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....
Re: exxos blog - random goings on
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..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....
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.
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.
Re: exxos blog - random goings on
Edit Even though you're accessing both bytes at once, the second byte still has its own address.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..
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).