VOGONS


Schneider Euro PC

Topic actions

Reply 220 of 225, by mkarcher

User metadata
Rank l33t
Rank
l33t
RetroBard wrote on 2024-07-26, 16:50:
Kekkula wrote on 2024-07-21, 19:17:

Great if the picomem is now working with Euro Pc 1. I have to wait if it gets open sourced, it would be fun project to build.

https://github.com/FreddyVRetro/ISA-PicoMEM

PicoMEM README.md wrote:

License

Hardware and Software are currently closed.

Reply 221 of 225, by Jinxter

User metadata
Rank Member
Rank
Member

Hi
I first thought my clock on my EuroPC was not working. But then i see that when i use the EuroPC boot disk (German) i get correct time.
But when using MS-Dos 3.31 og MS-Dos 6.22 i get wrong time (00:00:00).
The EuroPC boot disk is not using a driver for the clock, but it seams that the version of does is a special version for EuroPC. This is probably fixed to use the EuroPC clock.

Do we need a driver for using the internal clock?

Check out my YouTube channel: Retro Erik https://www.youtube.com/c/RetroErik
My collection: https://retro.hageseter.com
X: https://x.com/Retro_Erik

Reply 222 of 225, by Predator99

User metadata
Rank l33t
Rank
l33t

I noticed this thread exists before posting this in a new one...I dont like this to be lost therefore I copy it here and delete the other post...sorry:

I recently got a Schneider EURO PC I with a battery damage. The PC complained about the missing RTC, was not displaying anything on the internal Video and a external VGA was also not initialized.

The attachment IMG_4057r.jpg is no longer available

I was able to fix a trace to the PVC4 and the Video is working again. But the traces to the RTC are too small and there is too much damage. Without RTC I was not able to enter the BIOS-Setup and configure the PC to boot from VGA.

Therefore I modified the BIOS...:
- no checksum
- no wait for keypress on error
- RTC data hardwired in BIOS image. Needs to be entered at offset 6F8A - 6F99, after the "XXXXX", 16 Bytes
- XT-IDE included

With this I am able to configure the PC without RTC. A damaged PVC4 should also be no Problem when you use an external graphics card. Therefore most battery damages on the board are no problem anymore. All traces below the battery belong to the RTC or the PVC4.

The configuration data can be taken from a working PC oder from PCem. The attahced EURORTC.COM reads the data from the CMOS. Only one byte (the lower from the displayed) needs to be entered in the ROM-image. Its preconfigured for 9.77 MHz and start with external VGA now. Therefore for most people there should be no need to change it.

Let me know if its useful for your or if you still have trouble with a beeping and not starting EURO-PC 😉

The attachment EuroPC-noRTCV2.zip is no longer available
The attachment EURORTC.zip is no longer available
The attachment WhatsApp Bild 2025-10-04 um 20.52.32_b34d3220.jpg is no longer available
The attachment Screenshot 2025-10-04 215316.png is no longer available

Byte A: RAM
08 512 kB
00 640 kB

Byte B: Internal Video
12 Color
03 Mono
10 default

Byte D: CPU Speed
18 4.77 MHz
50 7.15 MHz
90 9.54 MHz

Last edited by Predator99 on 2025-10-07, 14:38. Edited 3 times in total.

Reply 223 of 225, by Predator99

User metadata
Rank l33t
Rank
l33t

That was a lot of work. It was fun and I learned some new things. I think I will not keep my notes, therefore I add the most important parts below. Base is the BIOS 3.01. As you can see it runs well in the EURO PC I.

You can also see there are POST codes on port 80 after each step. But my card displays many "FF"-codes in between, so its of no use. Dont know why, maybe you can check this, too.

Summarized:
- RTC is at port 25A.
- RTC read at sub F000:EF66: Byte to be read submitted in CL. Result in AL, CF=1 on error.
- RTC write at sub F000:E952
- RTC errors are triggered in DI, relevant messages are printed at sub F000:92DF
- normal BIOS Messages are printed with sub F000:D607, the offset of the string needs to be in BP
- the setup of the video is in a sub at F000:ECC5, didnt investigate this completely
- I assume output of beep-codes is done in F000:F7F2 and F000:E821, but I didnt verify
- boot from disk is executed from F000:D399 - D3A8 with the final request to enter Setup on error and wait for keypress
- the included BIOS/RTC Setup procedure ist completely independent and can be transferred to a .COM without problems.
- WD hard disk Setup is also included, didnt take a look at it and used the space for XT-IDE
- BIOS checksum verified at F000:D1DD

F000:8000 EA000001FA    JMP	FA01:0000	(=F000:A010) BIOS Setup

****Sub: Display RTC error codes in DI**********
F000:92DF E8BC6B CALL FE9E load DS
F000:92E2 0BFF OR DI,DI
F000:92E4 7421 JZ 9307 no error, return
F000:92E6 F7C70080 TEST DI,8000 error code in DI 1000 0000 0000 0000
F000:92EA 7405 JZ 92F1
F000:92EC C6061204FF MOV BYTE PTR [0412],FF [0412] seems to trigger of if forced to run setup
F000:92F1 B90700 MOV CX,0007 7 possible error codes
F000:92F4 BB5FDB MOV BX,DB5F
F000:92F7 D1EF SHR DI,1
F000:92F9 7308 JNB 9303 all OK, nor error
F000:92FB 2E CS:
F000:92FC 8B2F MOV BP,[BX] message lookup table
+0 DED8 RTC error bit 1
+2 DEC1 RTC time eoor bit 2
+4 DE4C Setup checksum error
+6 DEAC RTC Status corrected
+8 DEE2 Video Setup error
+A DF49 Video RAM bad
+C DCDA monitor type not recognized bit 7
+F DCF6 mouse port enabled
+16 DC8C Joystick enabled
F000:92FE 53 PUSH BX
F000:92FF E80543 CALL D607
F000:9302 5B POP BX
F000:9303 43 INC BX
F000:9304 43 INC BX
F000:9305 E2F0 LOOP 92F7
F000:9307 C3 RET


F000:A010 51 PUSHF (=FA01:0000), execute BIOS Setup, can be started anytime with a CALL FAR)
F000:A011 51 PUSH AX
F000:A012 51 PUSH BX
F000:A013 51 PUSH CX
F000:A014 52 PUSH DX
F000:A015 55 PUSH BP
F000:A016 56 PUSH SI
F000:A017 57 PUSH DI
F000:A018 1E PUSH DS
F000:A019 06 PUSH ES
F000:A01A 0E PUSH CS
F000:A01B 1F POP DS
F000:A01C E81500 CALL A034
F000:A01F 07 POP ES
F000:A020 1F POP DS
F000:A021 5F POP DI
F000:A022 5E POP SI
F000:A023 5D POP BP
F000:A024 5A POP DX
F000:A025 59 POP CX
F000:A026 5B POP BX
F000:A027 58 POP AX
F000:A028 9D POPF
F000:A029 CB RETF

F000:B635 end of setup code, start of setup Messages
F000:C01D Setup end
Show last 298 lines

F000:D08D BD13DC MOV BP,DC13 message "internal FDC enabled"
F000:D090 E87405 CALL D607

F000:D0E8 BD29DC MOV BP,DC29 "boot drive set to external drive"
F000:D0EB E81905 CALL D607

F000:D11A BD4ADC MOV BP,DC4A "disk error"
F000:D11D E8E704 CALL D607

F000:D156 B002 MOV AL,02 this is the actual initialization start,display POST code 02
F000:D158 E680 OUT 80,AL
F000:D15A FC CLD

F000:D1C9 B005 MOV AL,05
F000:D1CB E680 OUT 80,AL
F000:D1CD BE0080 MOV SI,8000
F000:D1D0 B90080 MOV CX,8000
F000:D1D3 32C0 XOR AL,AL
F000:D1D5 2E CS:
F000:D1D6 0204 ADD AL,[SI]
F000:D1D8 46 INC SI
F000:D1D9 E2FA LOOP D1D5 verify checksum, POST 05
F000:D1DB 0AC0 OR AL,AL
F000:D1DD 740E JZ D1ED
F000:D1DF B233 MOV DL,33
F000:D1E1 BCE7D1 MOV SP,D1E7
F000:D1E4 E90B26 JMP F7F2
F000:D1E7 E9D1FA JMP CCBB
F000:D1EA F4 HLT
F000:D1EB EBFC JMP D1E9
F000:D1ED B006 MOV AL,06 Checksum OK

F000:D1F5 33FF XOR DI,DI 0000 0000 0000 0000 (DI tracks the RTC error codes during Startup)
F000:D27B 33FF XOR DI,DI 0000 0000 0000 0000

F000:D2A7 BD40D4 MOV BP,D440 Copyright Schneider
F000:D2AA E85A03 CALL D607

F000:D2BD 813E400053FF CMP WORD PTR [0040],FF53 +++++++++++++0040 4 Interrupt Vector for INT 10h (video) ,FF53 is IRET
F000:D2C3 751D JNZ D2E2
F000:D2C5 813E420000F0 CMP WORD PTR [0042],F000
F000:D2CB 7515 JNZ D2E2
F000:D2CD 81CF1080 OR DI,8010 DI 1000 0000 0001 0000 Video Setup error!
F000:D2D1 E84D15 CALL E821 Speaker Beep code?
F000:D2D4 C706400065F0 MOV WORD PTR [0040],F065 +++++++++++++0040 4 Interrupt Vector for INT 10h (video)

F000:D2DF E8E319 CALL ECC5 set screen mode
F000:D2E2 BD40D4 MOV BP,D440 Copyright 1988-1989 Schneider
F000:D2E5 E81F03 CALL D607

F000:D2EC E8F0BF CALL 92DF check DI error code
F000:D2EF B00F MOV AL,0F
F000:D2F1 E680 OUT 80,AL
F000:D2F3 E8360F CALL E22C Setup CPU speed

F000:D394 803E1204FF CMP BYTE PTR [0412],FF
F000:D399 7509 JNZ D3A4
F000:D39B BDF4DE MOV BP,DEF4
F000:D39E E86602 CALL D607 message run setup
F000:D3A1 E8BA02 CALL D65E wait for keypress on error
F000:D3A4 B01C MOV AL,1C
F000:D3A6 E680 OUT 80,AL error code 1C
F000:D3A8 CD19 INT 19 boot the system
F000:D3AA CD18 INT 18

F000:D4E0 E82E01 CALL D611
F000:D4E3 BD64DE MOV BP,DE64 hd Setup error
F000:D4E6 E81E01 CALL D607


F000:D577 B10F MOV CL,0F sub: Setup System status
F000:D579 E8EA19 CALL EF66 result in AX
F000:D57C 7238 JB D5B6
F000:D57E 3C01 CMP AL,01
F000:D580 7410 JZ D592
F000:D582 B001 MOV AL,01
F000:D584 E8D713 CALL E95E
F000:D587 722D JB D5B6
F000:D589 B234 MOV DL,34
F000:D58B E86422 CALL F7F2
F000:D58E 81CF0880 OR DI,8008 DI 8008 1000 0000 0000 1000
F000:D592 E8A905 CALL DB3E
F000:D595 721F JB D5B6
F000:D597 E8D819 CALL EF72
F000:D59A 721A JB D5B6
F000:D59C 3AC3 CMP AL,BL
F000:D59E 750B JNZ D5AB
F000:D5A0 FEC1 INC CL
F000:D5A2 E8CD19 CALL EF72
F000:D5A5 720F JB D5B6
F000:D5A7 3AC7 CMP AL,BH
F000:D5A9 7415 JZ D5C0
F000:D5AB B224 MOV DL,24
F000:D5AD E84222 CALL F7F2 Speaker
F000:D5B0 81CF0480 OR DI,8004 DI 8004 1000 0000 000 0100
F000:D5B4 EB0A JMP D5C0
F000:D5B6 B244 MOV DL,44
F000:D5B8 E83722 CALL F7F2 Speaker
F000:D5BB 83CF01 OR DI,+01 DI 01 0000 0000 0000 0001 RTC error!
F000:D5BE EB0D JMP D5CD
F000:D5C0 E83502 CALL D7F8
F000:D5C3 7308 JNB D5CD
F000:D5C5 B214 MOV DL,14
F000:D5C7 E82822 CALL F7F2
F000:D5CA 83CF02 OR DI,+02 0000 0000 0000 00010
F000:D5CD C3 RET


F000:E22C Sub: Setup speed

E8350B call ef66 get CPU Speed / RTC
F000:jb e239

F000:E233 24C0 AND AL,C0
F000:E235 3CC0 CMP AL,C0
F000:E237 750D JNZ E246
F000:E239 B202 MOV DL,02
F000:E23B E8B415 CALL F7F2
F000:E23E BD9ADE MOV BP,DE9A Speed Setup error
F000:E241 E8C3F3 CALL D607
F000:E244 32C0 XOR AL,AL
F000:E246 BA5502 MOV DX,0255
F000:E249 0236B604 ADD DH,[04B6]
F000:E24D EE OUT DX,AL
F000:E24E 32E4 XOR AH,AH
F000:E250 8BD8 MOV BX,AX
F000:E252 0C11 OR AL,11
F000:E254 E663 OUT 63,AL
F000:E256 B103 MOV CL,03
F000:E258 D2C3 ROL BL,CL
F000:E25A 9A030000C0 MOV BP, DF3B "CPU Speed is "
F000:E25F 90 CALL D5F7
F000:E260 2E CS:
F000:E261 8BAFAEDF MOV BP,[BX+DFAE]
F000:E265 E88FF3 CALL D5F7
F000:E268 BDD5DC MOV BP,DCD5 "MHZ"
F000:E26B E899F3 CALL D607
F000:E26E C3 RET

F000:E05B CLI BIOS start
F000:E05C B011 MOV AL,11
F000:E05E E663 OUT 63,AL
F000:E060 32C0 XOR AL,AL
F000:E062 E680 OUT 80,AL POST code 00
F000:E064 33C0 XOR AX,AX
F000:E066 8ED8 MOV DS,AX
F000:E068 8B2E7204 MOV BP,[0472] set to 1234h after initial power up telling a warm boot to skip mem check
F000:E06C BB00D0 MOV BX,D000
F000:E06F 8EC3 MOV ES,BX
F000:E071 33FF XOR DI,DI
F000:E073 BE54D4 MOV SI,D454
F000:E076 B91100 MOV CX,0011
F000:E079 F3 REPZ
F000:E07A 2E CS:
F000:E07B A6 CMPSB
F000:E07C E303 JCXZ E081
F000:E07E E9D5F0 JMP D156 continue with init of this BIOS at D156
F000:E081 B001 MOV AL,01
F000:E083 E680 OUT 80,AL error code 01 on port 80
F000:E085 BE9EE9 MOV SI,E99E
F000:E088 BF56D1 MOV DI,D156
F000:E08B BB58F8 MOV BX,F858
F000:E08E EA1B0000D0 JMP D000:001B seems to check for an optional ROM at D000 segment and if detected jumps to D000:001B

F000:E646 81C70004 ADD DI,0400 0100 0000 0000 DI error code

F000:E721 BD76DB MOV BP,DB76 "boot error"
F000:E724 E8E0EE CALL D607

F000:E804 BD57DF MOV BP,DF57 8087
F000:E807 E8FDED CALL D607

Sub: write RTC data (CL)
F000:E952 1E PUSH DS RTC write, value in cl
F000:E953 E84815 CALL FE9E
F000:E956 BA5A02 MOV DX,025A
F000:E959 0236B604 ADD DH,[04B6]
F000:E95D 1F POP DS
F000:E95E 53 PUSH BX
F000:E95F 8AE0 MOV AH,AL
F000:E961 EC IN AL,DX
F000:E962 BB280D MOV BX,0D28
F000:E965 4B DEC BX
F000:E966 F9 STC
F000:E967 741C JZ E985
F000:E969 EC IN AL,DX
F000:E96A 240F AND AL,0F
F000:E96C 75F7 JNZ E965
F000:E96E 8AC1 MOV AL,CL
F000:E970 90 NOP
F000:E971 EE OUT DX,AL
F000:E972 8AC4 MOV AL,AH
F000:E974 D0E8 SHR AL,1
F000:E976 D0E8 SHR AL,1
F000:E978 D0E8 SHR AL,1
F000:E97A D0E8 SHR AL,1
F000:E97C EE OUT DX,AL
F000:E97D 8AC4 MOV AL,AH
F000:E97F 90 NOP
F000:E980 90 NOP
F000:E981 90 NOP
F000:E982 90 NOP
F000:E983 EE OUT DX,AL
F000:E984 F8 CLC
F000:E985 5B POP BX
F000:E986 C3 RET

F000:ECC5 sub: Video Setup
looks atequipment list word at 0000:0410h
........ ..XX.... Initial video mode
01 - 40 column color
10 - 80 column color
11 - monochrome
00 - none of the Above
F000:ECD2 8A1E1004 MOV BL,[0410]
F000:ECD6 C606100430 MOV BYTE PTR [0410],30 Video monochrome!
F000:ECDB CD10 INT 10 AL=00h Textmodus, 40 x 25 Zeichen, 16 Graustufen
F000:ECDD B800B0 MOV AX,B000 check MDA RAM

F000:ED05 C606100420 MOV BYTE PTR [0410],20 10 - 80 column color
F000:ED0A 33C0 XOR AX,AX
F000:ED0C CD10 INT 10 AL=00h Textmodus, 40 x 25 Zeichen, 16 Graustufen
F000:ED0E B800B8 MOV AX,B800 ********Check CGA RAM******

F000:ED39 E82A02 CALL EF66 read RTC
F000:ED3C 7308 JNB ED46
F000:ED3E 83CF01 OR DI,+01 DI 01 0000 0000 0000 0001 RTC error
F000:ED41 E8DDFA CALL E821 Speaker?
...
F000:ED67 81CF1080 OR DI,8010 DI8010 1000 0000 0001 0000 Video Setup error!

F000:ED73 E8F001 CALL EF66 RTC lesen
F000:ED76 7215 JB ED8D
F000:ED78 F7C70C00 TEST DI,000C DI 0000 0000 0000 1100 Setup checksum/RTC Status correted

F000:ED97 83CF40 OR DI,+40 DI 40 0000 0000 0100 0000

F000:EDC2 81CF1080 OR DI,8010 DI 8010 1000 0000 0001 0000 Video Setup error
..
F000:EDCA 81CF1080 OR DI,8010 1000 0000 0001 0000 Video Setup error

F000:EE8E B90020 MOV CX,2000
F000:EE91 BAD803 MOV DX,03D8 use CGA
F000:EE94 BB00B8 MOV BX,B800
F000:EE97 32C0 XOR AL,AL
F000:EE99 80FC30 CMP AH,30
F000:EE9C 750B JNZ EEA9
F000:EE9E B90008 MOV CX,0800 AH=30
F000:EEA1 BAB803 MOV DX,03B8 use MDA
F000:EEA4 BB00B0 MOV BX,B000

F000:EED3 83CF20 OR DI,+20 0000 0000 0010 0000
F000:EED6 E848F9 CALL E821 Speaker

F000:EEEA 83CF20 OR DI,+20 0000 0000 0010 0000
F000:EEED E831F9 CALL E821 Speaker?
...
F000:EF44 C3 RET

Sub: Read RTC, input Byte in CL
F000:EF66 1E PUSH DS
F000:EF67 E8340F CALL FE9E
F000:EF6A BA5A02 MOV DX,025A
F000:EF6D 0236B604 ADD DH,[04B6] add Offset to port?
F000:EF71 1F POP DS
F000:EF72 53 PUSH BX
F000:EF73 EC IN AL,DX
F000:EF74 BB280D MOV BX,0D28
F000:EF77 4B DEC BX
F000:EF78 F9 STC
F000:EF79 741D JZ EF98
F000:EF7B EC IN AL,DX
F000:EF7C 240F AND AL,0F
F000:EF7E 75F7 JNZ EF77
F000:EF80 8AC1 MOV AL,CL
F000:EF82 90 NOP
F000:EF83 EE OUT DX,AL
F000:EF84 90 NOP
F000:EF85 90 NOP
F000:EF86 90 NOP
F000:EF87 90 NOP
F000:EF88 EC IN AL,DX
F000:EF89 8AE0 MOV AH,AL
F000:EF8B D0E4 SHL AH,1
F000:EF8D D0E4 SHL AH,1
F000:EF8F D0E4 SHL AH,1
F000:EF91 D0E4 SHL AH,1
F000:EF93 EC IN AL,DX
F000:EF94 240F AND AL,0F
F000:EF96 0AC4 OR AL,AH
F000:EF98 5B POP BX
F000:EF99 C3 RET Carry = error, result in AL

F000:F086 83E730 AND DI,+30 0000 0000 0011 0000


F000:FFF0 EA5BE000F0 JMP F000:E05B BIOS init
Last edited by Predator99 on 2025-10-07, 17:47. Edited 1 time in total.

Reply 224 of 225, by Predator99

User metadata
Rank l33t
Rank
l33t
Jinxter wrote on 2025-08-16, 15:22:
Hi I first thought my clock on my EuroPC was not working. But then i see that when i use the EuroPC boot disk (German) i get cor […]
Show full quote

Hi
I first thought my clock on my EuroPC was not working. But then i see that when i use the EuroPC boot disk (German) i get correct time.
But when using MS-Dos 3.31 og MS-Dos 6.22 i get wrong time (00:00:00).
The EuroPC boot disk is not using a driver for the clock, but it seams that the version of does is a special version for EuroPC. This is probably fixed to use the EuroPC clock.

Do we need a driver for using the internal clock?

On BIOS level date & time is managed through INT 1A
Int 1A/AH=00h - TIME - GET SYSTEM TIME
Int 1A/AH=01h - TIME - SET SYSTEM TIME
Int 1A/AH=02h - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
Int 1A/AH=03h - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)
Int 1A/AH=04h - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
Int 1A/AH=05h - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)

Int 1A points to F000:FE6E

F000:FE6E FB            STI	             Int 1A date and time                      
F000:FE6F 57 PUSH DI
F000:FE70 80FC0B CMP AH,0B
F000:FE73 7203 JB FE78
F000:FE75 E9CCFA JMP F944
F000:FE78 50 PUSH AX
F000:FE79 D0E4 SHL AH,1
F000:FE7B 8AC4 MOV AL,AH
F000:FE7D 32E4 XOR AH,AH
F000:FE7F 8BF8 MOV DI,AX
F000:FE81 58 POP AX
F000:FE82 2E CS:
F000:FE83 FFA53DFF JMP [DI+FF3D]

At FF3D there is table where the services are located:
00 F8E9
01 F8B6
02 F8CA
03 F8EF
04 F917

So for the service 02 "GET REAL-TIME CLOCK TIME" you are directed to F000:F8CA

F000:F8CA 53            PUSH	BX          Int 1A AH02                       
F000:F8CB 8ADA MOV BL,DL
F000:F8CD B102 MOV CL,02
F000:F8CF E894F6 CALL EF66
F000:F8D2 7218 JB F8EC
F000:F8D4 8AE8 MOV CH,AL

Looking at my data above, RTC is read with "CALL EF66" and byte 02 is requested.

Thats all standard, no driver is required to get date & time 😀

And verified against the M3002 datasheet:
https://mixinc.net/atari/datasheet/M3002.pdf

Bytes 8-E are configuration data
Byte 02 is the hour

The attachment Screenshot 2025-10-06 232809.png is no longer available

Reply 225 of 225, by Predator99

User metadata
Rank l33t
Rank
l33t

Thanks for the questions regarding the time 😉 I have entered some data in Byte 0-7 of my noRTC ROM-image and the corresponding date/time is shown in DOS after booting the ROM-image in PCem.
It is displayed correctly in the Schneider DOS 3.3 and also in standard MS-DOS 5.5

Thefore configuration data is only stored in Bytes 8-E, I will find out its meaning as well later.

The attachment RTC1.jpg is no longer available
The attachment RTC2.jpg is no longer available
The attachment RTC3.jpg is no longer available