Search found 96 matches

by christian
Mon Aug 26, 2019 9:34 pm
Forum: BASIC programming
Topic: Basic TAP file format
Replies: 4
Views: 6636

Re: Basic TAP file format

Hi, Basic: 10 REM LIGNE 10 20 PRINT "TEST" Tokenized lines: +-----+----> Address for next line ($0510) | | +----+----> Line number (10) | | | | +----> Token for REM | | | | | +------------------------+----> LIGNE 10 | | | | | | | +----> End Of Line 00000501 10 05 0a 00 9d 20 4c 49 47 4e 45...
by christian
Sun May 12, 2019 10:19 am
Forum: Emulators
Topic: Oricutron and illegal opcode 80
Replies: 35
Views: 28718

Re: Oricutron and illegal opcode 80

Steve M wrote:Something I noticed was if you load a disk you can't then load a tape.
I opened an issue about it some time ago and I solved the problem, but never sent the Pull Request :oops:
by christian
Fri May 10, 2019 5:46 pm
Forum: Emulators
Topic: Oricutron and illegal opcode 80
Replies: 35
Views: 28718

Re: Oricutron and illegal opcode 80

@Symoon: since there is no new binary release in the Github repository, you have to download the sources and compile on your PC.
An other possibility is to download the developer builds from iss's web site here

I can make the binary but only for Linux targets.
by christian
Fri May 10, 2019 9:10 am
Forum: Emulators
Topic: Oricutron and illegal opcode 80
Replies: 35
Views: 28718

Re: Oricutron and illegal opcode 80

Pull request and merge done :)
by christian
Wed May 08, 2019 4:56 pm
Forum: Emulators
Topic: Oricutron and illegal opcode 80
Replies: 35
Views: 28718

Re: Oricutron and illegal opcode 80

I tried with a quick fix of Oricutron for opcode $80 and the loading of the screen is correct (no more shift).
I think other illegal opcodes ($xC) are not handled properly, these are also NOP opcodes but 3 bytes long.
by christian
Wed May 08, 2019 4:08 pm
Forum: Emulators
Topic: Oricutron and illegal opcode 80
Replies: 35
Views: 28718

Re: Oricutron and illegal opcode 80

Here is a wiki page with some links: http://visual6502.org/wiki/index.php?ti ... ed_Opcodes

And this one explains how all illegal opcodes are handled by the CPU: https://www.pagetable.com/?p=39
by christian
Wed May 08, 2019 12:42 pm
Forum: Emulators
Topic: Oricutron and illegal opcode 80
Replies: 35
Views: 28718

Re: Oricutron and illegal opcode 80

Opcode $80 is a NOP immediate and use 2 bytes, so the next instruction is $06BF RRA ($06,X) . Oricutron display the right code and mnemonics but the emulation is wrong because it does not skip the byte $8D (immediate argument). I think 6502.c lacks a READ_IMM; line 1951 right before the break; RRA :...
by christian
Sat Jan 05, 2019 2:02 pm
Forum: Tape and floppy disk converters
Topic: Track reading (Sedoric / FDC)
Replies: 62
Views: 69548

Re: Track reading (Sedoric / FDC)

Unlike Sedoric, there is no information stored on the disk because FTDOS does not permit to adjust the disk geometry.
So the format is always: 2 sides x 41 tracks x 17 sectors x 256 bytes. (with Jasmin 2)
by christian
Wed Nov 28, 2018 5:29 am
Forum: Emulators
Topic: Oricutron 1.0 (EDIT: Now 1.2)
Replies: 214
Views: 220974

Re: Oricutron 1.0 (EDIT: Now 1.2)

"paste" put the text in a queue buffer which is used by ay_ticktock() in file 8912.c. If the queue buffer isn't empty, the CheckKbd routine in ROM is not really executed but simulated by Oricutron. I think there is a bug in function ay_ticktock() when the IRQ is raised while the 6502 execu...
by christian
Thu Nov 01, 2018 2:41 pm
Forum: 6502 assembly coding
Topic: My first ASM and it doesnt do what I expect
Replies: 5
Views: 7931

Re: My first ASM and it doesnt do what I expect

You're right Dbug :oops:
decrem must be:

Code: Select all

decrem
	sec			; Calc new display address
	lda write+1	; LSB
	sbc #40
	sta write+1                          
	lda write+2	; MSB
	sbc #0
	sta write+2
by christian
Thu Nov 01, 2018 1:04 am
Forum: 6502 assembly coding
Topic: My first ASM and it doesnt do what I expect
Replies: 5
Views: 7931

Re: My first ASM and it doesnt do what I expect

I think the first error is a confusion: #define define a constant. The line #define DISPLAY_ADRESS ($BB80+37+Y_POS*40) define a constant, not a variable. Second, you use Y as a row index and do a sta xxxx,y in order to put a character on the row Y of the screen. But one row is 40 characters,if you w...
by christian
Fri Jun 29, 2018 11:29 am
Forum: Emulators
Topic: Oricutron : Joysticks not working
Replies: 1
Views: 6106

Re: Oricutron : Joysticks not working

I think the issue is in joy_build_mask() function in joystick.c If you uncomment the sprintf() call in joy_filter_event() function, you can see the joystick state changing in the title bar of the window. In the joy_build_mask(): the joystick state mask is only build when joyinterface is set to 'ijk'...
by christian
Sat May 19, 2018 12:40 pm
Forum: 6502 assembly coding
Topic: 6502 flags C, N, Z, V and tests
Replies: 7
Views: 10477

Re: 6502 flags C, N, Z, V and tests

Sometimes you can also use the BIT instruction: "BIT sets the Z flag as though the value in the address tested were ANDed with the accumulator. The S and V flags are set to match bits 7 and 6 respectively in the value stored at the tested address." I have often seen using this instruction ...
by christian
Tue May 08, 2018 3:15 pm
Forum: Tape and floppy disk converters
Topic: Oric Explorer v2.0 is up for adoption!!!
Replies: 34
Views: 31245

Re: Oric Explorer v2.0 is up for adoption!!!

Hi,

NekoNoNiaow, I can start OricExplorer v2, reviewed in CEO, on Linux with Mono, so maybe you can start it with the Mono port on Mac OS too.
by christian
Sun Apr 29, 2018 8:36 pm
Forum: Cross development tools
Topic: BomberZ.bas and bas2tap ..
Replies: 20
Views: 22180

Re: BomberZ.bas and bas2tap ..

I have my own "virtualbasic like" written in shell.
In case you want try BomberZ, here is the tap file.