Need help fixing Oric 1
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am
Re: Need help fixing Oric 1
Maybe this is a clue. When the prompt is up (before it goes blank), it says "47870 BYTES FREE". I thought it's supposed to be "37631 BYTES FREE"
where's the extra coming from? The number is consistent.
where's the extra coming from? The number is consistent.
Re: Need help fixing Oric 1
47870 BYTES FREE are absolutely OK - simply you have BASIC ROM ver.: 1.0cslee_work wrote: ↑Wed Jul 01, 2020 2:32 am Maybe this is a clue. When the prompt is up (before it goes blank), it says "47870 BYTES FREE". I thought it's supposed to be "37631 BYTES FREE"
where's the extra coming from? The number is consistent.
37631 BYTES FREE are reported by BASIC ROM ver.: 1.1 and ver.: 1.1b (i.e. Atmos model).
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am
Re: Need help fixing Oric 1
Thanks for the confirmationiss wrote: ↑Wed Jul 01, 2020 6:59 am47870 BYTES FREE are absolutely OK - simply you have BASIC ROM ver.: 1.0cslee_work wrote: ↑Wed Jul 01, 2020 2:32 am Maybe this is a clue. When the prompt is up (before it goes blank), it says "47870 BYTES FREE". I thought it's supposed to be "37631 BYTES FREE"
where's the extra coming from? The number is consistent.
37631 BYTES FREE are reported by BASIC ROM ver.: 1.1 and ver.: 1.1b (i.e. Atmos model).
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am
Re: Need help fixing Oric 1
Does anyone know if it's feasible to remove all 8 dram chips and replace it with one SRam chip like 62256. No it's faster and cheaper.
I think we can use Ras to latch address.
I think we can use Ras to latch address.
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am
Re: Need help fixing Oric 1
OK. I have some updates. I was able to burn the debug ROM into an EEPROM with my hacked together Arduino EEPROM programmer
It boots into the diagnostic ROM. I says "RAM TEST PASSED". Then the screen goes blank just like the BASIC 1.0 ROM.
Without the screen, I don't know how to test anything else.
I suspect the ULA is dead. I have to wait for a replacement ULA.
Does anyone have any idea on what else to check?
It boots into the diagnostic ROM. I says "RAM TEST PASSED". Then the screen goes blank just like the BASIC 1.0 ROM.
Without the screen, I don't know how to test anything else.
I suspect the ULA is dead. I have to wait for a replacement ULA.
Does anyone have any idea on what else to check?
Re: Need help fixing Oric 1
Speaking technically - yes, it's possible such replacement - you'll need 2x 'LS374, 2x 62256, 1/3 'LS04 and lot of enthusiasm. Probably you should select SMD parts because with DIP packages there is a big risk to left the box opencslee_work wrote: ↑Thu Jul 02, 2020 1:49 am Does anyone know if it's feasible to remove all 8 dram chips and replace it with one SRam chip like 62256. No it's faster and cheaper.
I think we can use Ras to latch address.
This is a pure guess... but:cslee_work wrote: ↑Thu Jul 02, 2020 6:50 am I suspect the ULA is dead. I have to wait for a replacement ULA.
Does anyone have any idea on what else to check?
Put the standard ROM and boot ORIC, after 5 secs when screen goes blank blindly type exactly this:
Code: Select all
POKE#BFDF,24
Code: Select all
POKE#BFDF,26
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am
Re: Need help fixing Oric 1
iss, you are a genius. That worked.
However, when I got HIRES it goes blank again.
I poked the same #BFDF in HIRES and I brought back the screen in HIRES but the text is not visible in the bottom of the screen.
Going back to TEXT, needed the poke again.
I suspect I can hack the ROM for NTSC. There must be two places to change. One for TEXT and one for HIRES.
Is there an equivalent for the diag ROM?
Thanks. Making big progress.
However, when I got HIRES it goes blank again.
I poked the same #BFDF in HIRES and I brought back the screen in HIRES but the text is not visible in the bottom of the screen.
Going back to TEXT, needed the poke again.
I suspect I can hack the ROM for NTSC. There must be two places to change. One for TEXT and one for HIRES.
Is there an equivalent for the diag ROM?
Thanks. Making big progress.
Re: Need help fixing Oric 1
The computer uses the 50Hz frequency for the screen, the POKE will set the ULA ship in the 60Hz mode video for US country, in the HIRES mode,I suppose that the routine will switch the ULA in the 50Hz mode because of random poxels. You must burn an Uvprom with a little code to switch the both resolution screen in the American mode.
Re: Need help fixing Oric 1
Why hack when the work was already done:
https://www.oric.org/software/roms_pour ... -2385.html
(You need to create an account to be able to download)
And yes, good catch, I totally missed that the machine was in the USA, so I guess the conversion device is managing to compensate for a while, and then loses sync, it's actually possible that if left running it would have displayed again, and then lost it again
https://www.oric.org/software/roms_pour ... -2385.html
(You need to create an account to be able to download)
And yes, good catch, I totally missed that the machine was in the USA, so I guess the conversion device is managing to compensate for a while, and then loses sync, it's actually possible that if left running it would have displayed again, and then lost it again
Re: Need help fixing Oric 1
Exactly 2 places need to be changed $1E->$1C and $1A->$18. Here is why (from Dbug's Oric graphics in detail):cslee_work wrote: ↑Thu Jul 02, 2020 9:02 am I suspect I can hack the ROM for NTSC. There must be two places to change. One for TEXT and one for HIRES.
Code: Select all
24 or 25 Switch to TEXT mode (60 Hz)
26 or 27 Switch to TEXT mode (50 Hz)
28 or 29 Switch to HIRES mode (60 Hz)
30 or 31 Switch to HIRES mode (50 Hz)
It's @mikeb's work. He supplied the sources so it's possible to compile one for 60Hz
(of course it can be hacked in binary way too ).
EDIT: Here is the 60Hz diag ROM.
Last edited by iss on Thu Jul 02, 2020 3:59 pm, edited 1 time in total.
Re: Need help fixing Oric 1
Nice catch!
One question. Couldn't the conversion device be configured to accept the 50Hz RGB signal? Patching the ROM has some inconveniences. If you use an Eprom you need another hack to be able to have external see devices which want to disable the internal ROM. That means disc controllers and probably Erebus too.
And even if Erebus worked, it will use its own ROM at 50Hz...
One question. Couldn't the conversion device be configured to accept the 50Hz RGB signal? Patching the ROM has some inconveniences. If you use an Eprom you need another hack to be able to have external see devices which want to disable the internal ROM. That means disc controllers and probably Erebus too.
And even if Erebus worked, it will use its own ROM at 50Hz...
- mikeb
- Flight Lieutenant
- Posts: 282
- Joined: Wed Sep 05, 2018 8:03 pm
- Location: West Midlands, UK
- Contact:
Re: Need help fixing Oric 1
Which ROM? The Oric/Atmos one for general use or the diag ROM? I didn't do a 60Hz version of the Diag ROM as I have no 60Hz-capable monitor here, and as you probably realise, the 60Hz thing in a real Oric is a bit of a half-attempt, you can change the mode to 60Hz with Escape codes, but every time you change text/hires, it cancels that back to 50Hz. So much for "internationalization"
I don't recall posting the sources, how did that happen!?
I just had a quick look ... if you changed two places, both are "LDA #<something> STA #BFDF" (text first, hires second) then you probably found them both
Code: Select all
U_MODE = $18 ; Attribs 24-31, OR first with any comb of next 2
U_MODE_HIRES = $04 ; Or Text
U_MODE_50HZ = $02 ; Or 60 Hz
; Select text mode, clear screen, copyright message
ULA_text_clear:
LDA #U_MODE|U_MODE_50HZ ; 50Hz text mode selector
STA $BFDF ; Ensure that it is seen whether in text/hires
LDA #' ' ; Space character
STA U_TSCREEN ; Into first character of screen
LDX #$1D
JSR block_move ; then call memcpy to wipe text screen
LDA #NM_COPY ; (Copyright string)
LDX #$00 ; Col 0 Offset along status line
LDY #$00 ; Row 0
JSR text_write ; Put on status line
RTS
; Select hires mode, clear screen, copyright message
ULA_hires_clear:
LDA #U_MODE|U_MODE_50HZ|U_MODE_HIRES ; 50Hz hires mode selector
STA $BFDF ; Ensure that it is seen whether in text/hires
LDA #$40 ; Blank Hires
STA U_HSCREEN ; Into first cell of screen
LDX #$23
JSR block_move ; then call memcpy to wipe hires screen.
LDA #' ' ; Space character
STA U_TSCRROW25 ; Into first character of screen
LDX #$29
JSR block_move ; then call memcpy to wipe text screen (3 lines)
LDA #NM_COPY ; (Copyright string)
LDX #$01 ; Col 1 Offset along text line
LDY #25 ; Row 25
JSR text_write ; Put on screen
RTS
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am
Re: Need help fixing Oric 1
Thanks for everyone's help. I'll try the 60Hz ROMS and report back.
I hope I can hack the Erebus ROM too when I get it.
As for the adapter, I will try the hack to put an ESP8266 to enable the extra settings menu. ( https://tomdalby.com/other/gbs8200.html )
On a slight off tangent, where can I get a reset button to fit the footpront of the ORIC1 board.
thanks for everyone's help.
I hope I can hack the Erebus ROM too when I get it.
As for the adapter, I will try the hack to put an ESP8266 to enable the extra settings menu. ( https://tomdalby.com/other/gbs8200.html )
On a slight off tangent, where can I get a reset button to fit the footpront of the ORIC1 board.
thanks for everyone's help.
Re: Need help fixing Oric 1
About the Erebus device, the Atmos Rom which is in the chip 27c512 is the same, only the Cload routine is modified.
-
- 2nd Star Corporal
- Posts: 27
- Joined: Tue Jun 30, 2020 4:28 am