Giter Site home page Giter Site logo

Comments (5)

aniou avatar aniou commented on September 3, 2024 1

Finally, I made tests with newest ca65 available (2.19) - and problem disappeared.

from of816.

aniou avatar aniou commented on September 3, 2024

As side note: I used latest version of ./inc/macros.inc from Your repo.

from of816.

mgcaret avatar mgcaret commented on September 3, 2024

How bizarre.

from of816.

mgcaret avatar mgcaret commented on September 3, 2024

(also, sorry it took so long to answer, I tend to develop in random spurts depending on what is happening elsewhere in my life)

What version of ca65 are you using? Right now my development machine is running "ca65 V2.18 - Git e0cb33d9"... Did you build ca65 yourself? If not, where did you get it? If so, what C compiler and platform?

You'll have noted that I have a test suite (in /test) that I run with an emulator of my own that I created specifically for developing OF816 (GoSXB). Current coverage is about 82% of the public (always have headers) words. I had never run it with no_headerless = 1 until now. The suite passes either way, but I have not tried making changes by adding NOPs to platform-lib.s. I will play around with that.

I also have a TeamCity instance that compiles every commit automatically against a relatively recent version of ca65 (billing itself as "ca65 V2.18 - N/A"). I just compared the output binaries to those made by my local ca65, and they are the same.

The output of the suite run against GoSXB just now is:

Executing suite: 7.3.1 Stack functions
Lines complete.
testing 7.3.1.1 Stack duplication
testing 7.3.1.2 Stack removal
testing 7.3.1.3 Stack rearrangement
testing 7.3.1.4 Return stack
testing 7.3.1.5 Stack depth
Errors = 0
Suite complete.
Executing suite: 7.3.2.1 Arithmetic - Single-precision integer arithmetic
Lines complete.
testing 7.3.2.1 Single-precision integer arithmetic
Errors = 0
Suite complete.
Executing suite: 7.3.2.2 Arithmetic - Bitwise logical operators
Lines complete.
testing 7.3.2.2 Bitwise logical operators
Errors = 0
Suite complete.
Executing suite: 7.3.2.3 Arithmetic - Double number arithmetic
Lines complete.
testing 7.3.2.3 Double number arithmetic
TESTING D+ with small integers
TESTING D+ with mid range integers
TESTING D+ with large double integers
TESTING D- with small integers
TESTING D- with mid-range integers
TESTING D- with large integers
Errors = 0
Suite complete.
Executing suite: 7.3.2.4 Arithmetic - Data type conversion
Lines complete.
testing 7.3.2.4 Data type conversion
Errors = 0
Suite complete.
Executing suite: 7.3.2.5 Arithmetic - Address arithmetic
Lines complete.
testing 7.3.2.5 Address arithmetic
Errors = 0
Suite complete.
Executing suite: 7.3.3 Memory control
Lines complete.
testing 7.3.3.1 Memory access
testing 7.3.3.2 Memory allocation
Errors = 0
Suite complete.
Executing suite: 7.3.4 Text input and output
Lines complete.
testing 7.3.4.1 Text input
testing 7.3.4.2 Console input
testing 7.3.4.3 ASCII constants
testing 7.3.4.4 Console output
testing 7.3.4.5 Output formatting
testing 7.3.4.6 Display pause
testing 7.3.4.7 String literals
testing 7.3.4.8 String manipulation
Errors = 0
Suite complete.
Executing suite: 7.3.5 Numeric input and output
Lines complete.
testing 7.3.5.1 Numeric-base control
testing 7.3.5.2 Numeric input
testing 7.3.5.3 Numeric output
testing 7.3.5.4 Numeric output primitives
Errors = 0
Suite complete.
Executing suite: 7.3.6 Comparison operators
Lines complete.
testing 7.3.6 Comparison operators
Errors = 0
Suite complete.
Executing suite: 7.3.7 Flag constants
Lines complete.
testing 7.3.7 Flag constants
Errors = 0
Suite complete.
Executing suite: 7.3.8 Control-flow commands
Lines complete.
testing 7.3.8.1 Conditional branches
testing 7.3.8.2 Case statement
testing 7.3.8.3 Conditional loops
testing 7.3.8.4 Counted loops
testing 7.3.8.5 Other control flow commands
testing 7.3.8.6 Error handling
Errors = 0
Suite complete.
Executing suite: 7.3.8-i Control-flow commands in interpretation state
Lines complete.
testing 7.3.8.1 Conditional branches - interpretation state
testing 7.3.8.2 Case statement - interpretation state
testing 7.3.8.3 Conditional loops - interpretation state
testing 7.3.8.4 Counted loops - interpretation state
testing 7.3.8.6 Error handling - interpretation state
Errors = 0
Suite complete.
Executing suite: 7.3.9 Forth dictionary
Lines complete.
testing 7.3.9.1 Defining words
testing 7.3.9.2 Dictionary commands
testing 7.3.9.2.1 Data space allocation
testing 7.3.9.2.2 Immediate words
testing 7.3.9.2.3 Dictionary search
testing 7.3.9.2.4 Miscellaneous dictionary
testing 7.3.9.2.4 Assembler
Errors = 0
Suite complete.
Executing suite: 7.5.1 Automatic stack display
Lines complete.
testing 7.5.1 Automatic stack display
Errors = 0
Suite complete.
Executing suite: 7.5.3 Dictionary
Lines complete.
testing 7.5.3 Dictionary
testing 7.5.3.1 Dictionary search
testing 7.5.3.2 Decompiler
Errors = 0
Suite complete.
Executing suite: 5.3.2 Forth FCode Functions
Lines complete.
testing 5.3.2 Forth FCode Functions
Errors = 0
Suite complete.
Executing suite: 5.3.3 FCode implementation functions
Lines complete.
testing 5.3.3 FCode implementation functions
testing 5.3.3.1 Defining new FCode functions
testing 5.3.3.3 Controlling values and defers
testing OF816 5.3.3-related checks
Errors = 0
Suite complete.
Executing suite: 5.3.4.3 Get local arguments
Lines complete.
testing 5.3.4.3 Get local arguments
Errors = 0
Suite complete.
Executing suite: 5.3.7.1 Peek/poke
Lines complete.
testing 5.3.7.1 Peek/poke
Errors = 0
Suite complete.
Executing suite: 5.3.7.2 Device-register access
Lines complete.
testing 5.3.7.1 Device-register access
Errors = 0
Suite complete.
Executing suite: 5.3.7.4 System-information
Lines complete.
testing 5.3.7.4 System information
Errors = 0
Suite complete.
Executing suite: 5.3.7.6 Start and end
Lines complete.
testing 5.3.7.6 Start and end
Errors = 0
Suite complete.
Executing suite: OF816 Words
Lines complete.
testing OF816 words
Errors = 0
Suite complete.
Tests complete, no errors.

Anyway, thanks for this report and I will play around with it.

from of816.

mgcaret avatar mgcaret commented on September 3, 2024

I just tried adding 1 through 6 NOPs to platform-lib.s for GoSXB and could not replicate the results.

You should be able to compile the W65C816SXB port, it's the simplest of them and was my reference hardware until I developed GoSXB. It's still one of two hardware platforms I test against, though not as often as the Neon816.

I am curious if you see the same effects by adding NOPs to its platform-lib.s... that might tell us whether your ca65/ld65 is being strange or not. You might also try moving the FStartup segment to the end of the memory and see if that changes anything.

As it stands, I am at a loss.

from of816.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.