Need help fixing Oric 1

If you want to ask questions about how the machine works, peculiar details, the differences between models, here it is !
How to program the oric hardware (VIA, FDC, ...) is also welcome.
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

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.
User avatar
iss
Wing Commander
Posts: 1641
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Need help fixing Oric 1

Post by iss »

cslee_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.
47870 BYTES FREE are absolutely OK - simply you have BASIC ROM ver.: 1.0
37631 BYTES FREE are reported by BASIC ROM ver.: 1.1 and ver.: 1.1b (i.e. Atmos model).
Attachments
oric-roms.png
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

iss wrote: Wed Jul 01, 2020 6:59 am
cslee_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.
47870 BYTES FREE are absolutely OK - simply you have BASIC ROM ver.: 1.0
37631 BYTES FREE are reported by BASIC ROM ver.: 1.1 and ver.: 1.1b (i.e. Atmos model).
Thanks for the confirmation
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

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.
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

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?
User avatar
iss
Wing Commander
Posts: 1641
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Need help fixing Oric 1

Post by iss »

cslee_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.
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 open :!:
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?
This is a pure guess... but:
Put the standard ROM and boot ORIC, after 5 secs when screen goes blank blindly type exactly this:

Code: Select all

POKE#BFDF,24
and press RETURN. This will change from PAL to NTSC and hopefully you'll get picture again. To switch to PAL again use:

Code: Select all

POKE#BFDF,26
+ RETURN, and probably after 5 secs the screen will go blank again. Post the result and we will see what can be done.
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

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.
User avatar
kenneth
Squad Leader
Posts: 515
Joined: Fri Nov 26, 2010 9:11 pm
Location: France PdD
Contact:

Re: Need help fixing Oric 1

Post by kenneth »

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.
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Need help fixing Oric 1

Post by Dbug »

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 :)
User avatar
iss
Wing Commander
Posts: 1641
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Need help fixing Oric 1

Post by iss »

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.
Exactly 2 places need to be changed $1E->$1C and $1A->$18. Here is why (from Dbug's Oric graphics in detail):

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)
Find the attached ROMs 1.0 and 1.1b for 50Hz and 60Hz.
oric-roms-50-60.zip
(50.52 KiB) Downloaded 205 times
cslee_work wrote: Thu Jul 02, 2020 9:02 am Is there an equivalent for the diag ROM?
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.
diag-108j-60.rom.zip
(3.38 KiB) Downloaded 204 times
Last edited by iss on Thu Jul 02, 2020 3:59 pm, edited 1 time in total.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Need help fixing Oric 1

Post by Chema »

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...
User avatar
mikeb
Flight Lieutenant
Posts: 282
Joined: Wed Sep 05, 2018 8:03 pm
Location: West Midlands, UK
Contact:

Re: Need help fixing Oric 1

Post by mikeb »

iss wrote: Thu Jul 02, 2020 12:30 pm I suspect I can hack the ROM for NTSC. There must be two places to change. One for TEXT and one for HIRES.
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" :)
iss wrote: Thu Jul 02, 2020 12:30 pm 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 ;)).
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



Back to the original problem, the ULA isn't dead if it's still producing video signals -- the fact that the monitor/adapter is blanking out is not the ULA's fault. As you've discovered, the adaptor is being very hard-line about wanting 60Hz. So if it can be convinced that other TV standards exist, then you should be able to work with regular Oric/Atmos/Diag ROMS :)
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

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.
User avatar
kenneth
Squad Leader
Posts: 515
Joined: Fri Nov 26, 2010 9:11 pm
Location: France PdD
Contact:

Re: Need help fixing Oric 1

Post by kenneth »

About the Erebus device, the Atmos Rom which is in the chip 27c512 is the same, only the Cload routine is modified.
cslee_work
2nd Star Corporal
Posts: 27
Joined: Tue Jun 30, 2020 4:28 am

Re: Need help fixing Oric 1

Post by cslee_work »

kenneth wrote: Thu Jul 02, 2020 10:14 pm About the Erebus device, the Atmos Rom which is in the chip 27c512 is the same, only the Cload routine is modified.
Is the chip socketed?
Post Reply